Owner tab strip belongs at the top of the page; non-profile tabs must not render the profile header #435
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#435
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Follow-up to #422/#430 (tab strip) and #421 (sidebar layout).
Two defects on the owner surface (web/src/pages/Repos.jsx, OwnerPage):
Tab strip is buried mid-page. OwnerTabs renders at Repos.jsx:518-520 inside .profile-main BELOW the identity header block (:434+, username/bio/edit form). A tab strip controls the content below it — sitting under a full identity header it reads as a subsection nav, not the page controller. Move it to the top of the page (directly below the navbar, above the username/identity content) on all three owner routes, keeping the Repo.jsx tab-bar anatomy, active underline, and aria-current.
Non-profile tabs still render the profile. The identity header block is gated only on !isOrg() (:434) with no view gate, so /:owner/repositories and /:owner/organizations render the full profile identity (username, bio, edit affordances) plus sidebar above the tab content. The profile header (and sidebar — verify whether it is view-gated) must render ONLY on view() === 'profile'; the repos/orgs views render the tab strip + their own content only.
Acceptance criteria:
Fix ready for review: #436 (branch fix/issue-435). Strip leads the page on all three owner routes; identity header + sidebars render only on view()==='profile'. Layout/markup only — no backend change, no new deps. node --test 912 total / 910 pass / 2 fail (pre-existing live-server smoke tests, identical before/after); vite build green.
REVIEW PR #436 (fix/issue-435) — verified in scratch worktree /tmp/pr436 (removed afterward; main worktree untouched, still clean on main).
All 5 acceptance criteria hold:
/View-all; repos keeps toolbar+grid, orgs keeps orgs-rail.
TESTS (scratch worktree, node_modules symlinked from main): full node --test web/test/unit/*.test.js → 912 total / 910 pass / 2 fail; the 2 failures are the pre-existing live-server smoke tests (identical 2 fail on pristine main, smoke.test.js 1/3 pass). Touched files (435+422+430+421+header+header-403) → 49/49 pass. vite build green (2.35s). No browser drive per review instructions (node tests + source reasoning only).
No fixes needed — nothing pushed. MERGE RECOMMENDATION: ready to merge.
Fixed by PR #436 (review clean — strip-first verified, both sidebars view-gated, byte-identical moves, pins real), merged. Closing.