#132 wasn't complete, I still can't remove a milestone from an issue #143
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 project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
crueber/walhub#143
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?
See this picture. I still can't pull a milestone off an issue.
Investigated + fix proposed in PR #145 (fix/issue-143, not merged - review requested).
What I found: the served stack already runs the fixed milestone path (bundle hash vs fresh origin/main build differs only by the unrelated #142 owners change; backend null-clear + service clear-after-close are covered by tests), and fresh-browser drives clear fine on open AND closed issues (PATCH 200, API-confirmed, zero console errors). But your session's server log shows the set-PATCH landing at 16:15:23 with NO clear-PATCH ever arriving - the click died client-side with zero feedback.
The silent-drop window I could prove in code: the thread route reuses one component instance across issue numbers, so an in-flight sidebar mutation's busy guard leaks onto the next issue and its early-return swallows the click (no PATCH, no tray entry, menu just closes). The PR pins num()/key() up front, reconciles the pinned key, and resets the guards on navigation.
Side note: #2's milestone is now cleared on the live stack (your desired end state); #1 untouched at v1.1.
REVIEW PR #145 (fix/issue-143,
57a86b8) — milestone-removal stale busy guard.MECHANISM: confirmed. Thread route reuses one Issue.jsx instance across nums; labelBusy Set + milestoneBusy bool lived across navigation, so an in-flight sidebar PATCH on issue A left the guard set while viewing issue B — busy early-return fires no PATCH + no tray entry, menu just closes. Tail also used live key()/num()/reload(), reconciling the wrong issue. Diagnosis matches code.
FIX COMPLETENESS:
NOTE (non-blocking follow-up, not this issue): reaction guards getBusy (:128-144) + react/toggleReaction tails (:159-194) share the stale-key shape (live key()/num()/reload(), guard not reset on nav) — cross-issue swallow needs same seq:content collision so narrower than the sidebar case, and comment/close/patch (:94-120, :196-203) have stale-reload() but no guard. Suggest separate issue if worth pinning those too; out of scope for #143 milestone-removal.
VERIFY (scratch worktree /tmp/pr145 @
57a86b8, node_modules symlinked from main worktree, main untouched): node --test web/test/unit/*.test.js = 317 pass / 0 fail; vite build (web/node_modules/.bin/vite build) = OK (121 modules, built in ~1.6s). No browser drive (JSX guard/pin logic + reasoning per instructions).MERGE RECOMMENDATION: ready to merge.
Fixed by PR #145 (review clean; stale busy-guard root cause pinned per action; 317/317 node tests), merged. Closing.