Version 0.67
September 2, 2026
Consumed classroom notices do not return later
A teacher notice that has been consumed no longer reappears when David leaves the page and later returns through classroom navigation.
Why it matters
- - Prevents an old Undo confirmation from appearing beside a newer live classroom state.
- - Keeps the message visible and accessible on the exact view created by the action.
- - Consumes it on refresh or navigation without losing the selected class or filters.
Verification
- - Authenticated smoke coverage leaves a cleaned live notice, visits Activity, returns with browser Back, and confirms the old message stays consumed.
- - The same flow reloads Activity and returns through in-app navigation without resurrecting the message.
- - The existing Refresh now and following browser-reload checks remain in the same end-to-end flow.
- - Full unit, typecheck, lint, build, exact PR-head CI, production deployment, and isolated teacher retest remain required before acceptance.
Source: Linear PI-239
- Adds a unique action receipt to each teacher result so an old browser-restored success URL cannot claim that a completed action just happened again.
- Rejects receipt-less legacy success URLs while keeping current error recovery compatible.
- Preserves the framework's history state when cleaning the address so hidden navigation links cannot carry the old notice forward.
- Gives each rendered route message a unique browser-history receipt instead of reusing a deterministic component identifier.
- Consumes that receipt before link, page, back, or forward navigation so stale server-component snapshots cannot revive it.
- Keeps locally generated demo feedback independent from one-time URL feedback.