Styled Upload profile image button (fixes #619) #620
No reviewers
Labels
No labels
actions
bug
cli
duplicate
enhancement
fork
forum
git storage
help wanted
insights
invalid
issues
moderation
oidc
ownership transfer
packages
pr/merge protection rules
projects
pull requests
question
releases
sponsorships
tags
webhooks
wiki
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
crueber/walhub!620
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/issue-619"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Replaces the raw Choose File input in the isSelf-gated profile sidebar stack (web/src/pages/Repos.jsx) with the hidden-input pattern: full-width label, hidden input (same accept + onChange upload+reset), visible span.btn w-full justify-center reading Upload profile image, muted centered helper below. Placement above Regenerate unchanged; Org/Release/import inputs out of scope.
Tests: new web/test/unit/avatar-upload-button-619.test.js + #619-scoped update to user-avatar-upload-601.test.js; full-minus-smoke node --test green (1597 pass); vite build + esbuild SDK green; go vet clean. Docs: FIXED amendment in docs/go/12_web_ui.md.
Independent review of PR #620 (fix/issue-619) vs Forgejo #619 — verdict: APPROVE, with one substantive fix landed on the branch (
a85e006, pushed).Acceptance (all verified against origin/main):
Substantive defect found and fixed (do not waive):
cb10a2fused class="hidden" (= display:none), which drops the input from the Tab order with no focus-within/peer passthrough — a keyboard-access regression vs the previously visible, Tab-reachable input. Fixed ina85e006: input is now "peer sr-only" (visually hidden but Tab-reachable, Enter opens the picker) and the button carries the #533 ToggleSwitch peer-focus-visible emerald ring (both themes incl. dark ring-offset), so keyboard focus lands visibly on the button. Test pins updated (asserts never display:none + ring pins); docs amendment updated in the same change. Compiled-CSS check confirms the ring/sr-only utilities are emitted; vite build + esbuild green; unit suite 15/15 on the touched files, full run 1599/1600 with the single failure being smoke.test.js hitting the stale Sep-15 walhub serve process on :8080 (403 /setup) — environmental, excluded per the minus-smoke convention.One follow-up candidate, deliberately out of scope here: Release.jsx's asset upload uses the same class="hidden"-in-label pattern with no focus passthrough. Suggest a separate issue if a row-wide keyboard standard is wanted.