Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
This branch was previously deployed
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.
Important
Please take a moment to read this. Thank you!
I should include a brief explanation of the problem in my own words in every PR. If that explanation is missing, please @mention me and do not merge this PR until I have added it. You may also leave this PR unaddressed (because this means I have not fulfilled my responsibilities as the author).
If my explanation is unclear or difficult to follow, please ask me to clarify or provide reproduction steps or supporting evidence.
I welcome suggestions and counterarguments, especially questions about anything I may have overlooked. (Your feedback helps me learn and improve. 🙏)
I hold myself to this standard for every PR, regardless of its size.
Summary
When a client saves scoped settings before the server accesses them, the values disappear after a server restart. I expect those settings to survive the restart without requiring server-side initialization.
The sync handler creates an in-memory state first. Later settings access reuses that state, so file storage never receives the updates. Resolve reserved settings keys to file storage on first access, and reuse that state for reads, snapshots, and patches.
Evidence
undefinedafter creating a fresh host with the same storage.After: Both return the saved settings without prior node settings access.
pnpm lint,pnpm knip,CI=true pnpm test --run,pnpm typecheck, andpnpm build. The suite passed 1,641 tests across 147 files, with 13 skipped tests. The final build completed all 28 tasks.Merge Danger
Door: Two-way. The change keeps the existing storage layout and JSON format.
Blast Radius: Settings. Reserved settings keys now initialize file storage through the shared-state handlers. Other shared-state keys retain their current behavior.