Repository navigation
fix: protect dirty JSON graph export buffers - #982
Merged
Merged
Conversation
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.
Stock Zed can replace an unsaved interior edit in an open graph JSON destination when the LSP only tracks Markdown. This adds passive JSON/JSONC buffer tracking for export safety, without enabling Markdown analysis or authoring commands for those buffers. A companion catalog registration change will attach the server to these languages.
Exports now use tracked target versions, protect aliases of passive buffers and recheck source/target text, versions and lifecycle identities after filesystem inspection. Closed-buffer changes cannot recreate Markdown state. Existing clean/repeated exports continue to work. Only the server prerelease advances to
1.22.0-rc.7;terraphim_lsp_coreremains1.23.1, and RC6 stays immutable.Validation: 421 native tests, 20 doctests and 10 benchmark smoke cases passed, then one additional real-stdio cache/client-rejection test was added. All six stdio tests passed ten consecutive repetitions; the final strict Clippy, formatting and diff checks passed. The 58 release-contract checks include the actual local candidate executable. Baseline regressions reproduced JSON Markdown actions, closed-buffer resurrection and the target lifecycle race; a separate stock-Zed RC6 recording reproduced the interior-edit overwrite and Undo recovery. Released RC7/default-install qualification is still pending.