fix(notifications): bind reads to confirmed writes and credentials - #3340
Draft
Chris0Jeky wants to merge 9 commits into
Draft
Chris0Jeky wants to merge 9 commits into
Chris0Jeky wants to merge 9 commits into
Conversation
This was referenced Sep 21, 2026
Owner
Author
|
Continuation note: keep this PR draft. The current watcher clears notifications/preferences on any token change, but same-user session extension is not a data-identity change. Both active views load only on mount or explicit filter/user action, so token refresh can leave an unchanged route empty or detach the preferences form from its store value. I recorded the corrected contract on #3339. Add the preservation regression and split token-only owner invalidation from full identity/auth/demo reset before moving this parent to review. Stacked preference-order work should remain behind the corrected parent. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #3339. Related residual: #3352.
Summary
Binds notification inbox and preference reads to confirmed writes and session lifetimes:
Mutation serialization, realtime-arrival ordering and reminder/email epic #2010 remain outside this slice.
Test-first evidence
The initial actual-module suite changed from 0/10 passing on
mainto 10/10 passing after the first ownership correction. Review-regression head10d48f732725ed8ee9a2557ac39ccf7b7a7958d5ran canonical Ubuntu/Windows qualification; Ubuntu JUnit recorded 7,161 tests, exactly 4 failures, 0 errors, all loaded-state preservation cases.Issue #3352 added test-only head
660362c9546b51f9996659be3382ac4b6d67f424, covering token rotation while inbox and preferences are still empty. A dependency-free actual-module runner changed from one call per read API with loading false to two calls per lane with old settlement suppressed and fresh inbox/preferences installed independently.Supplemental execution does not replace hosted project qualification.
Current head and remaining gates
Exact final head:
4f8134d6c6ecd840041c0127371798e0c412f06aKeep draft until this exact head passes Smart CI, Extended and the complete Required CI matrix on Ubuntu and Windows, followed by fresh-context review. Stacked preference-order PR #3343 must then be reconciled to this corrected parent and requalified.
This is client-state integrity, not transport cancellation or a server-authorization claim. Green CI is qualification evidence, not merge authorization.