Fix #498: edit mode exit on navigate #501
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!501
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/issue-498"
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?
Profile edit mode leaked onto the repositories/organizations tabs (the #442 hoist) and survived leaving the owner page (the #455 module-scope signal had no exit path).\n\n-
web/src/pages/Repos.jsx: single<ProfileForm>Show re-scoped underview() === 'profile'(first in the profile branch; gate + onDone byte-identical); new pathnamecreateEffect+ unmountonCleanupclear the module state unless the RESULTING path is the editing owner's profile view exactly. Tab switches close it too (unsaved edits discarded by unmount — decided per criteria 1+5). #455openEditoruntouched: synchronous set-then-navigate batches, so the effect sees only the post-navigation path — no toggle-fight.onCleanupjoins the solid-js import (Repo.jsx popover precedent);useLocationnow bound in OwnerPage.\n-web/src/lib/owners.js: new pureeditStaysOpen(pathname, editingOwner)(keys on the EDITING slug, so cross-owner navigation exits).\n- Tests: newowner-profile-edit-exit-498.test.js(13: predicate decision table + wiring + no-fight pins); #498-scoped rewrites of the staleowner-profile-edit-all-views-442placement pins and theprofile-sidebar-421form-above-gates pin.\n-docs/go/12_web_ui.mddecision entry (law 12).\n\nVerification:node --test web/test/unit/*.test.js1110 total / 1108 pass / 2 fail — the 2 are pre-existing on pristine origin/main (identical live-server smoke subtests at 1097/1095/2; +13 net new, zero PR-caused);vite build+esbuildgreen. No backend change, no new deps. Browser proof open (shared-daemon loopback guard — no private daemon per workspace rules). Do NOT merge (review first).