Skip to content

refactor(lsp): centralize protocol runtime - #320

Merged
hongjr03 merged 3 commits into
masterfrom
lsp-runtime-rewrite
Jul 30, 2026
Merged

refactor(lsp): centralize protocol runtime#320
hongjr03 merged 3 commits into
masterfrom
lsp-runtime-rewrite

Conversation

@hongjr03

Copy link
Copy Markdown
Member

Summary

  • add a shared vide-lsp-runtime crate for typed routing, request lifecycle, cancellation, retry, response encoding, and in-memory transport
  • route native and browser/WASM sessions through one protocol registry
  • remove the legacy dispatcher modules, duplicate request queues, cancellation plumbing, and trace wrapper without compatibility shims
  • document the new runtime seam and transport responsibilities

Verification

  • cargo test --workspace -- --test-threads=1 (540 passed, 3 ignored)
  • cargo check -p vide-lsp-runtime --target wasm32-unknown-emscripten
  • cargo check -p vide-lsp-wasm
  • native stdio smoke: initialize → shutdown → exit 0
  • browser JSON smoke: initialize → shutdown

Notes

  • production Rust LOC is net -1: application-layer code is reduced by 418 lines and replaced by a 417-line shared runtime
  • the full Emscripten bundle command reaches the existing slang C++ build but cannot complete on this machine because Homebrew Emscripten 4.0.22 does not provide clang-scan-deps; the runtime itself passes the Emscripten target check

@github-actions

Copy link
Copy Markdown

Docs preview: https://vide.pascal-lab.net/preview/pr-320/

@hongjr03
hongjr03 merged commit aba4fd7 into master Jul 30, 2026
23 checks passed
@hongjr03
hongjr03 deleted the lsp-runtime-rewrite branch July 30, 2026 13:07
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