• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Warning: This build has drifted.
The coverage report for this pull request build may be inaccurate because its base commit is no longer the HEAD of its target branch.
This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

    • Learn more: For more information on this, see Tracking coverage changes for pull request builds.
    • Fix now: For a quick fix, rebase this PR at GitHub. Your next report should be accurate.
    • Prevent going forward: To avoid this issue with future PRs, see these Recommended CI Configurations.
New Repo Setting:
INCLUDE COVERAGE % WITH WARNINGS ABOUT DRIFTED BUILDS?

Enabling this setting will include a (potentially inaccurate) coverage % with warning messages in status updates for drifted builds.

Adjust setting

stacklok / toolhive-studio / 25755004291
69%
main: 70%

Build:
Build:
LAST BUILD BRANCH: renovate/vitejs-plugin-react-6.x
DEFAULT BRANCH: main
Ran 12 May 2026 06:48PM UTC
Jobs 1
Files 511
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

12 May 2026 06:44PM UTC coverage: 68.673% (+0.02%) from 68.652%
25755004291

Pull #2217

github

reyortiz3
fix(main): use exitCode/signalCode for liveness instead of .killed

Addresses Copilot review feedback on PR #2217.

`ChildProcess.killed` is only set after a successful `kill()` call - it
reflects "we sent a signal", not "the process has exited". After a
graceful SIGTERM the flag becomes true while the child is still running,
which caused the very fix this PR is for to short-circuit: the
parent-exit handler's `stopToolhive({ force: true })` returned early on
`toolhiveProcess.killed` and never escalated to SIGKILL. The mock test
deliberately did not auto-set `.killed`, so the regression was masked.

- isToolhiveRunning() now checks exitCode/signalCode for true liveness
- stopToolhive() early return uses the same liveness check
- exit handler clears the pending killTimer so a quick graceful exit
  does not leave a 2s setTimeout holding the event loop open
- MockProcess gains exitCode/signalCode (null defaults) to match the
  real ChildProcess API; regression test now sets mockProcess.killed
  after the first stop so the escalation path mirrors production

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Pull Request #2217: fix(main): prevent orphaned thv serve when parent exits before SIGKILL timer

4851 of 7622 branches covered (63.64%)

16 of 16 new or added lines in 1 file covered. (100.0%)

24 existing lines in 3 files now uncovered.

7234 of 10534 relevant lines covered (68.67%)

118.77 hits per line

Coverage Regressions

Lines Coverage ∆ File
17
0.0
0.0% renderer/src/features/chat/components/chat-message/assistant-message.tsx
6
0.0
0.0% renderer/src/features/chat/components/chat-message/user-message.tsx
1
97.56
-0.11% renderer/src/features/chat/components/chat-message/tool-output-content.tsx
Jobs
ID Job ID Ran Files Coverage
1 25755004291.1 12 May 2026 06:48PM UTC 511
68.67
GitHub Action Run
Source Files on build 25755004291
  • Tree
  • List 511
  • Changed 4
  • Source Changed 4
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #25755004291
  • Pull Request #2217
  • PR Base - main (#25743147444)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc