Fix #41: mutation refetch ordering guard #52
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!52
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/issue-41"
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?
Fixes #41 (post-mutation refetch committing SWR-stale bodies, reaction live-update flake).
Diagnosis verified: ref-dependent GETs serve
private, max-age=0, stale-while-revalidate=60+ ETag (probed live stack: /api/refs, /api/resolve, /api/v1/owners), and web/src/lib/data.js had no ordering guard — invalidate() even SKIPPED when a fetch was in flight, and last-to-resolve won unconditionally (reproduced both headless against the old logic).Centralized fix, no per-page churn (43 useData sites untouched):
Tests: node --test web/test/unit/*.test.js 217/217 green (11 new: data-guard 6, sdk-nostore-304 5); new tests fail on pre-fix code; vite build clean. No runnable Chromium in this env, so no browser pass — node tests + code reasoning only. No new deps. Docs: 12_web_ui.md 2.4/1.2 + Decisions entry.