Fix #63: repo delete cleans userspace references #66
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!66
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/issue-63"
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 the #59 backend audit:
Registry.Deletesweeps onlyrepos/<o>/<r>/, leavingusers/*/starred|watching|notifications|invitationsreferencing the dead repo, and delete+recreate desynced star counters (stale record + freshsocial.json:Starearly-returned 0).Design (a)+(c) from the issue: no reverse index (enumerating people stays a non-feature per 01), no tombstones (per-repo state dies with the prefix), no recreate scan.
Starred/tray/inbox skip dead-repo rows (one manifestHEADper entry, fail-open on probe errors so a store blip never mass-hides);Counts/GET social404 on ghosts; viewer/watch flags hide stale records.social.jsonresurrection).unread_countreconciled;UnreadCountstays O(1). Inbox rows additionally verify issuer truth, so swept rows stay hidden after a recreate (expiry semantics unchanged).Verification:
gofmt/go vetclean;go test -racegreen oninternal/social,internal/notify,internal/identity; cover 99.3% / 97.1% / 97.4% (gate ≥95%); new table-driven httptest for ghost repos in all three packages; E8 budgets updated with the +1 HEAD lines. Docs: Decisions entries in 07 (new §4.1), 06, 01. P6/auth and deletion admin-gating untouched.