Skip to content

fix: protect dirty JSON graph export buffers - #982

Merged
AlexMikhalev merged 1 commit into
mainfrom
codex/fix-lsp-passive-json-export
Oct 14, 2026
Merged

AlexMikhalev merged 1 commit into
mainfrom
codex/fix-lsp-passive-json-export

Conversation

@AlexMikhalev

Copy link
Copy Markdown
Contributor

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_core remains 1.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.

@AlexMikhalev
AlexMikhalev merged commit 4fb62d3 into main Oct 14, 2026
7 checks passed
@AlexMikhalev
AlexMikhalev deleted the codex/fix-lsp-passive-json-export branch October 14, 2026 15:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant