Rebase the de-brand + dark-theme series onto upstream v1.10.0 and make it
the highest entry in the support matrix. v1.9.0 is skipped — nothing
needs it, and the matrix only lists versions we want builds of.
Both patches applied to v1.10.0 with no conflicts and no 3-way fallback.
The de-brand patch is in fact unchanged hunk-for-hunk from the v1.8.0
series — only the three blob hashes for the files upstream touched
(dashboard.html, explorer.html, iam-oidc.html) differ — because every
v1.9/v1.10 webui edit lands outside the regions it rewrites. No new
admin pages this time, so its scope is unchanged.
The dark theme needed two new rules, both for the upload-progress tray
v1.10.0 adds to the Explorer:
* .text-gray-800 — the tray titles its panel with text-gray-800, which
is near-black and so effectively invisible on the dark panel. Lifted
to the primary text shade, continuing the gray-600/700 progression.
* .hover\:text-red-700:hover — the tray's Cancel link is text-red-600
hover:text-red-700. The existing rules lift the rest state to #f87171,
but Tailwind's red-700 (#b91c1c) is darker than that, so hovering
dimmed the link instead of lifting it. Lifted one shade brighter,
matching how hover:text-accent-600 behaves.
Left as-is: the tray's failed-upload progress fill uses bg-red-400,
which is already #f87171 — the same red the theme lifts its text to —
and reads clearly as a solid fill on the dark track. Also unchanged are
the utilities that are uncovered but already used by shipped pages
(text-gray-400/500, text-*-800 status text); re-pointing those would
restyle existing releases, which is a theme change rather than a rebase.
Verified: ci/clone-source.sh + ci/apply-patches.sh apply the exported
series to a pristine v1.10.0 producing a tree byte-identical to the one
developed here (1019 files = the tag's 1017, plus favicon.svg and four
fonts, less three Versity PNGs); the series touches webui/ only;
./cmd/versitygw builds; and go test ./webui/... passes, including the
webserver_test.go added in v1.10.0.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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>
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>
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>