• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / toolhive-studio / 25850508827
70%

Build:
DEFAULT BRANCH: main
Ran 14 May 2026 08:41AM UTC
Jobs 1
Files 515
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

14 May 2026 08:38AM UTC coverage: 70.417% (+0.3%) from 70.159%
25850508827

push

github

web-flow
feat(playground): queue messages while a response is streaming (#2246)

* refactor(playground): extract composer handle hook, tighten rewind return type

Address two nits from #2241 review:
- `onRewindAndResend`'s return type is now `Promise<void>` — no caller
  reads the underlying `sendMessage` result.
- The imperative-handle registration `useEffect` moves into a new
  `useComposerHandle` hook for readability and direct testing.

* feat(playground): queue messages while a response is streaming

When the user submits a message while the assistant is still streaming
a response, the renderer holds it as a per-thread queued message
(single slot, in-memory) and auto-fires it when the current stream
completes. A small chip above the composer surfaces the queued state
with a cancel button. The submit button morphs into a send-style icon
when the composer has text during streaming, distinguishing the queue
action from the existing stop behavior.

Mutually exclusive with the rewind-and-retry path from #2241 — when
editing the last user message during streaming, that flow still wins.
The queue is cleared on thread switch and on cancel.

* refactor(playground): compact verbose comments in queue-while-streaming code

Trim multi-paragraph JSDoc and inline explainers down to single-line
intent statements. Keep only the comments whose "why" isn't obvious
from the code itself (the rewind path bypassing the queue intercept,
the streaming→error skip on auto-flush). No behavior change.

* fix(playground): prevent queue auto-flush into wrong thread on switch

Cross-thread leak from #2246 review: when the user queued a message in
thread A and switched to thread B before A's stream finished, the
auto-flush effect could fire A's queued payload into B's `useChat`
instance. The thread-clear `useEffect` ran on the same render as the
auto-flush — both see the stale `queuedMessage`, and the prev-status
ref still held A's `'streaming'` so the streaming→ready transition
falsely ... (continued)

5030 of 7740 branches covered (64.99%)

54 of 58 new or added lines in 5 files covered. (93.1%)

7510 of 10665 relevant lines covered (70.42%)

118.43 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
85.42
7.98% renderer/src/features/chat/hooks/use-chat-streaming.ts
Jobs
ID Job ID Ran Files Coverage
1 25850508827.1 14 May 2026 08:41AM UTC 515
70.42
GitHub Action Run
Source Files on build 25850508827
  • Tree
  • List 515
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #25850508827
  • ea5b8d43 on github
  • Prev Build on main (#25849958835)
  • Next Build on main (#25854826010)
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