Rebase the de-brand + dark-theme series onto upstream v1.8.0 and make it
the highest entry in the support matrix.
v1.8.0 adds an IAM section to the admin UI — iam.html, iam-users.html,
iam-roles.html, iam-oidc.html and js/iam-ui.js — and rewrites much of the
existing pages, so the series needed real work rather than a clean replay:
* Sidebar conflict (buckets/dashboard/explorer/users). Upstream inserted
an "Identity & Access" nav group exactly where the de-brand patch
deletes the "Resources" block, so all four pages conflicted. Resolved
by keeping the new IAM nav and dropping Resources, along with the
divider that only existed to separate the two — matching the original
patch, which likewise left no trailing rule at the end of the nav.
* The four new IAM pages carry full Versity branding and were not covered
by the old series. Extended the de-brand patch to give them the same
treatment: tab title, favicon, sidebar wordmark, page heading, and
removal of the Resources links. The OIDC client-ID placeholder
sts.versity.local becomes sts.example.local, matching the neutral
token.example.com placeholder upstream already uses in that same form.
* Dark theme needed one new rule. Audited every color utility in the new
IAM markup against the override layer: all were already covered except
group-hover:bg-gray-200 on the IAM overview cards' icon chip, which
would flash near-white on card hover. Added it next to the existing
hover:bg-gray-200 override.
Left alone deliberately: internal JS identifiers and code comments
(class VersityAPI, "Maximum parts allowed by VersityGW"), which are not
visible branding and which the series has never touched; and the
per-file Apache-2.0 headers, kept for license compliance.
The series touches webui/ only — 961 files after apply, which is v1.8.0's
959 plus favicon.svg and four font files, less the three Versity PNGs.
Verified: ci/clone-source.sh + ci/apply-patches.sh apply the exported
series to a pristine v1.8.0 with no 3-way fallback, producing a tree
byte-identical to the one developed here, and ./cmd/versitygw (the
goreleaser target) builds clean from it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Rebases the v1.6.0 de-brand + dark-theme patch series onto upstream
v1.7.0, which applied with no conflicts. Sanity-built locally: clean
git am, and goreleaser produced binaries/archives for all platforms
(including linux) from src/dist.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Each Explorer row's action icons (Info, Download, Generate URL, Delete)
tint themselves on hover via Tailwind hover:bg-*-50 / hover:text-charcoal
utilities, but the dark-mode override layer only re-pointed the non-hover
utilities. The hover: variants fell through to Tailwind's light defaults:
Generate URL (hover:bg-blue-50) and Delete (hover:bg-red-50) flashed a
near-white box (#eff6ff / #fef2f2), and Info (hover:text-charcoal) drove
the icon to the near-black charcoal DEFAULT (#12121a), vanishing on the
dark page. Download looked fine only because its hover:bg-accent-50 maps
to the custom dark accent-50 (#172554).
Re-point the four hover variants to the same translucent 0.13-alpha tints
used elsewhere, and lift text-red-500 (the delete icons' rest colour) to
the themed red-400 #f87171 like the other reds. These are utility-class
overrides, so they also fix the bucket / folder / version delete icons and
the modal close buttons. Folded into 0002-webui-dark-theme.patch.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
getStorageClassColor() in explorer.html tags each object's storage
class with a Tailwind bg-*-50/text-*-700 pair, but the dark-mode
override layer only re-pointed the green/blue/red/yellow/gray
utilities. Cyan (GLACIER, GLACIER_IR), purple (INTELLIGENT_TIERING)
and indigo (DEEP_ARCHIVE) fell through, so those badges kept their
light bg-*-50 fill on the dark page.
Extend the override layer with the three missing families, reusing the
status-tint recipe: a translucent 0.13-alpha fill plus text lifted to
the 400 shade (indigo lands on the kanrisha primary-400 #818cf8).
Folded into 0002-webui-dark-theme.patch.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Native checkboxes render as a light box regardless of accent-color, so
they stood out against the dark theme. Restyle input[type=checkbox]
with appearance:none to mirror the kanrisha web UI: an outlined box
that becomes an indigo-tinted box with a light indigo tick when checked
(plus an indeterminate dash and focus ring).
Sizing is left to the existing w-4/h-4 classes so the hidden
toggle-switch input is untouched. Folded into 0002-webui-dark-theme.patch.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add patches/v1.6.0/0002-webui-dark-theme.patch, a cosmetic patch that
re-skins the de-branded admin UI to match the kanrisha web app's dark
theme — near-black base-900 page, base-800 panels/sidebar, indigo
(#6366f1) primary and blue (#3b82f6) accent, lifted status colors, and
self-hosted Inter + JetBrains Mono.
The retheme lives entirely in tailwind-config.js (token remap) and
theme.css (a utility-override layer), plus bundled variable woff2
fonts, so versitygw's HTML is left untouched apart from the login
page's light gradient becoming a solid dark surface.
Verified: the full series (0001 + 0002) replays cleanly from the bare
v1.6.0 tag, and the login, dashboard, and modal surfaces render dark
in a browser. Applied to v1.6.0 only; README updated.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Rebase the webui de-brand patch onto upstream versitygw v1.6.0 (clean
git am --3way, no conflicts). The de-branded HTML files are unchanged
between v1.5.0 and v1.6.0, so the series is byte-identical apart from
blob hashes; verified the result on a fresh v1.6.0 checkout (titles,
wordmark, removed logos/favicon all correct).
- patches/v1.6.0/0001-webui-debrand.patch (--binary export)
- ci/support-matrix.yaml: v1.6.0 added as the top/latest entry
- README.md: layout tree + maintained-versions table updated
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The v1.5.0 de-brand patch now also strips the visible "Versity Software
Inc." copyright footer from the login page (webui/web/index.html). The
upstream copyright is still retained via the Apache-2.0 license-header
comment at the top of each file and the NOTICE file, so this removes the
trademark/branding without affecting copyright compliance.
Update the README to document the removal and adjust the "deliberately
kept" note.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
runs-on is now ubuntu-latest (any Linux runner with Docker; toolchain comes from the golang container). The workflow builds one version per run, triggered by a v* tag push or manual workflow_dispatch with a tag input - no scheduled builds. Removes the static matrix (and ci/matrix.sh) and hardens clone-source.sh tag detection to use GITHUB_REF. Docs/README updated.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ScoutFS-Build-style pipeline that pulls upstream versitygw release tags, applies the web-UI de-brand patch series, and builds GoReleaser releases (binaries + deb/rpm) for publishing to Gitea. Artifact names stay versitygw; only the embedded admin UI is rebranded to S3 Gateway.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>