fix(server): registry test stubs no longer outlive the test run - #15457
Merged
juliusmarminge merged 1 commit intoOct 4, 2026
Merged
juliusmarminge merged 1 commit into
juliusmarminge merged 1 commit into
Conversation
The fake claude CLI this test spawns kept an unconditional setInterval alive, so when the parent aborts without awaiting the child, the stub process is orphaned and keeps running until the machine reboots. Every run of this suite stranded one more idle node process. Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Contributor
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a one-file, test-only fix that cleans up a spawned fake CLI process after the test ends. All changes are confined to ignored paths and have no product, default, deployment, security, billing, or static-analysis impact. Notes:
You can add or adjust custom eligibility rules. Learn more. |
ohbentos
pushed a commit
to ohbentos/t3code
that referenced
this pull request
Oct 4, 2026
…dotgg#15457) Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
github-actions Bot
added a commit
to omarcresp/t3code-flake
that referenced
this pull request
Oct 4, 2026
## What's Changed * fix(server): registry test stubs no longer outlive the test run by @yordis in pingdotgg/t3code#15457 * test(server): the registry's fake Claude CLI is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15463 * refactor(clients): share opening a machine's No project folder by @bmdavis419 in pingdotgg/t3code#14759 * test(server): the git-ssh wrapper's fake SSH script is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15480 * test(server): the ACP registry's fake npm is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15483 * test(server): the ACP registry's fake uv is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15484 * feat(clients): step a new thread to the next machine from the keyboard by @juliusmarminge in pingdotgg/t3code#15391 * fix(web): promoting a draft thread no longer logs a React key warning by @yordis in pingdotgg/t3code#15458 * test(server): the text generation's fake Claude CLI is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15479 * fix(mobile): keep dictation running across navigation behind an edge pill by @juliusmarminge in pingdotgg/t3code#15502 * fix(client-runtime): relay disconnects no longer show as thread errors by @juliusmarminge in pingdotgg/t3code#15470 * fix(web): subagent cards name the provider account by @SunkenInTime in pingdotgg/t3code#15493 * fix(server): read paginated review replies when watching PRs by @eimexdev in pingdotgg/t3code#15427 * fix(server): offer one-click provider updates for every install by @maria-rcks in pingdotgg/t3code#15416 * fix(mobile): keep the dictation timer from shifting width by @juliusmarminge in pingdotgg/t3code#15504 * fix(relay): T3 Connect links no longer fail on colliding prepared statements by @juliusmarminge in pingdotgg/t3code#15411 * fix(server): sqlite transactions wait for the write lock instead of failing by @juliusmarminge in pingdotgg/t3code#15488 * fix(web): unpin button shows the pin-off icon on hover by @flamboh in pingdotgg/t3code#15425 * fix(mobile): make queued message removal tappable by @PixPMusic in pingdotgg/t3code#15417 * fix(web): keep workspace panels below dialogs by @maria-rcks in pingdotgg/t3code#15454 * fix(clients): Working section keeps its order while agents finish and wake by @t3dotgg in pingdotgg/t3code#15418 * feat(mobile): full-screen simulator viewer with on-demand controls by @juliusmarminge in pingdotgg/t3code#15551 * fix(client-runtime): closing a busy stream no longer drops the connection by @t3dotgg in pingdotgg/t3code#15563 * feat(web): add shift-held pull request quick actions by @maria-rcks in pingdotgg/t3code#15549 * fix: expanded tool calls show their output, empty ones don't expand by @maria-rcks in pingdotgg/t3code#15505 **Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261004.2644...v0.0.46-nightly.20261004.2648 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261004.2648
github-actions Bot
added a commit
to davidvanderklay/t3code-flake
that referenced
this pull request
Oct 4, 2026
## What's Changed * fix(server): registry test stubs no longer outlive the test run by @yordis in pingdotgg/t3code#15457 * test(server): the registry's fake Claude CLI is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15463 * refactor(clients): share opening a machine's No project folder by @bmdavis419 in pingdotgg/t3code#14759 * test(server): the git-ssh wrapper's fake SSH script is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15480 * test(server): the ACP registry's fake npm is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15483 * test(server): the ACP registry's fake uv is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15484 * feat(clients): step a new thread to the next machine from the keyboard by @juliusmarminge in pingdotgg/t3code#15391 * fix(web): promoting a draft thread no longer logs a React key warning by @yordis in pingdotgg/t3code#15458 * test(server): the text generation's fake Claude CLI is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15479 * fix(mobile): keep dictation running across navigation behind an edge pill by @juliusmarminge in pingdotgg/t3code#15502 * fix(client-runtime): relay disconnects no longer show as thread errors by @juliusmarminge in pingdotgg/t3code#15470 * fix(web): subagent cards name the provider account by @SunkenInTime in pingdotgg/t3code#15493 * fix(server): read paginated review replies when watching PRs by @eimexdev in pingdotgg/t3code#15427 * fix(server): offer one-click provider updates for every install by @maria-rcks in pingdotgg/t3code#15416 * fix(mobile): keep the dictation timer from shifting width by @juliusmarminge in pingdotgg/t3code#15504 * fix(relay): T3 Connect links no longer fail on colliding prepared statements by @juliusmarminge in pingdotgg/t3code#15411 * fix(server): sqlite transactions wait for the write lock instead of failing by @juliusmarminge in pingdotgg/t3code#15488 * fix(web): unpin button shows the pin-off icon on hover by @flamboh in pingdotgg/t3code#15425 * fix(mobile): make queued message removal tappable by @PixPMusic in pingdotgg/t3code#15417 * fix(web): keep workspace panels below dialogs by @maria-rcks in pingdotgg/t3code#15454 * fix(clients): Working section keeps its order while agents finish and wake by @t3dotgg in pingdotgg/t3code#15418 * feat(mobile): full-screen simulator viewer with on-demand controls by @juliusmarminge in pingdotgg/t3code#15551 * fix(client-runtime): closing a busy stream no longer drops the connection by @t3dotgg in pingdotgg/t3code#15563 * feat(web): add shift-held pull request quick actions by @maria-rcks in pingdotgg/t3code#15549 * fix: expanded tool calls show their output, empty ones don't expand by @maria-rcks in pingdotgg/t3code#15505 **Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261004.2644...v0.0.46-nightly.20261004.2648 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261004.2648
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.
Problem
The fake
claudeCLI spawned byProviderInstanceRegistryLive.test.tskeeps an unconditionalsetInterval(() => {}, 1_000)alive. The probe aborts the SDK without awaiting the child, so the stub is orphaned (reparented to PID 1) and keeps running until the machine reboots. Every run of this test strands more idle node processes.Change
The stub clears its interval and exits once stdin closes, the same pattern
testing/ClaudeCapabilitiesProbe.fixture.mjsalready uses.Scope and approval
Very small, focused fix for an obvious bug: one test fixture in one file, no product behavior touched. It only lets a stub process exit once its parent is gone.
Verification
main):cd apps/server && vp test run src/provider/Layers/ProviderInstanceRegistryLive.test.tspassed 8/8, butps -axo pid,ppid,command | grep t3-provider-path-testafterwards listed 5 orphanednode .../claudeprocesses with PPID 1. The process list was empty before the run.pscheck is empty.