Skip to content

loose files - #94

Merged
samwdp merged 5 commits into
masterfrom
issue-88-shells-jobs-owned
Sep 13, 2026
Merged

samwdp merged 5 commits into
masterfrom
issue-88-shells-jobs-owned

Conversation

@samwdp

@samwdp samwdp commented Sep 13, 2026

Copy link
Copy Markdown
Owner

volt owned processes

samwdp and others added 5 commits September 12, 2026 21:01
Give Volt a single Launch path into a registry of Owned Process trees
with Workspace tags, Share Keys, and graceful-then-force teardown so
later spawn migrations can stop leaving orphans after close/quit/crash.

Closes #87
Route interactive PTY sessions and background/compile-style jobs through
the Process Registry so Workspace Close and Application Quit tear down
their trees instead of leaving OpenConsole/cmd orphans after exit.

Closes #88

Co-authored-by: Cursor <cursoragent@cursor.com>
Route language servers, debug adapters, ACP children, and tool helpers through the Process Registry with Share Key workspace tags and protocol-then-force teardown on Workspace Close / Application Quit.

Closes #89

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@samwdp
samwdp merged commit 7c61400 into master Sep 13, 2026
2 of 6 checks passed
@samwdp
samwdp deleted the issue-88-shells-jobs-owned branch September 13, 2026 07:24

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 91582a680f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

edits: Option<&[editor_buffer::TextEdit]>,
) -> Result<Vec<String>, LspClientError> {
let sessions = self.ensure_sessions_for_path(path, root, None, false)?;
self.sync_buffer_with_edits_for_workspace(path, text, revision, root, edits, None)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Tag legacy LSP syncs with their workspace

This compatibility path always forwards None for ownership, but both autocomplete worker paths in workers_autocomplete.rs still call sync_buffer_with_edits; if either one is the first operation to start a server, its registry entry has no workspace tag. Closing that workspace then removes no tag, prepare_workspace_close does not shut it down, and workspace_close leaves the language-server process running until application exit.

Useful? React with 👍 / 👎.

Comment on lines +1350 to +1354
if let Some(nvm_env) = windows_nvm_environment(request.cwd, request.env) {
for candidate in windows_nvm_launch_program_candidates(request.program, &nvm_env) {
let mut merged = request.env.to_vec();
merged.extend(nvm_env.iter().cloned());
attempts.push((candidate, merged));

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve explicit PATH for NVM-backed LSP launches

On Windows, when the normal launch fails and the NVM fallback is used for a LanguageServerSpec with an explicit PATH, this appends a second PATH after the explicit one. ProcessRegistry::launch applies the pairs in order, so the NVM path replaces the configured path instead of being prepended to it; tools in the configured path can then no longer be found by the server. The retained Windows test for this behavior expects nvm-path;custom-path, but production no longer uses that merging helper.

Useful? React with 👍 / 👎.

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