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

stacklok / toolhive-studio / 25380773903
68%
main: 71%

Build:
Build:
LAST BUILD BRANCH: fix/registry-sort-aggregated-servers-1956
DEFAULT BRANCH: main
Ran 05 May 2026 02:00PM UTC
Jobs 1
Files 499
Run time 2min
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

05 May 2026 01:55PM UTC coverage: 66.901% (+0.3%) from 66.569%
25380773903

Pull #2192

github

samuv
perf(playground): virtualize long chat threads with TanStack Virtual

Long Playground threads (200+ messages) felt sluggish on initial render,
streaming ticks, and route-restored scrolling because every row stayed
mounted and re-rendered on every status update. Adopts TanStack Virtual
through a hybrid strategy: historical rows render through `useVirtualizer`
+ `measureElement` (dynamic heights, `useFlushSync: false` per the React
19 guidance, `overscan: 5`), while the last TAIL_SIZE (2) rows and the
"Thinking..." indicator stay in normal flow. The streaming row keeps
growing scrollHeight naturally, so the ResizeObserver follow-to-bottom
logic in useAutoScroll is preserved unchanged.

A VIRTUALIZE_THRESHOLD of 10 short-circuits the virtualizer on small
threads, and the leaf VirtualChatMessageList carries `use no memo` so
React Compiler does not bail out on the surrounding tree. ChatInterface
delegates list rendering to the new ChatMessageList, and useAutoScroll
finds either render path through a shared `data-chat-inner` wrapper
instead of `firstElementChild`.
Pull Request #2192: perf(playground): virtualize long chat threads with TanStack Virtual

4432 of 7142 branches covered (62.06%)

55 of 96 new or added lines in 10 files covered. (57.29%)

6666 of 9964 relevant lines covered (66.9%)

123.47 hits per line

Uncovered Changes

Lines Coverage ∆ File
18
0.0
renderer/src/features/chat/components/chat-message/assistant-message.tsx
6
0.0
renderer/src/features/chat/components/chat-message/user-message.tsx
5
0.0
renderer/src/features/chat/components/chat-message/joined-assistant-text.tsx
4
0.0
renderer/src/features/chat/components/chat-message/index.tsx
3
88.0
renderer/src/features/chat/components/chat-message-list.tsx
3
0.0
renderer/src/features/chat/components/chat-message/step-start-component.tsx
1
92.86
renderer/src/features/chat/components/chat-message/tool-call-component.tsx
1
93.33
renderer/src/features/chat/components/chat-message/tool-output-content.tsx
Jobs
ID Job ID Ran Files Coverage
1 25380773903.1 05 May 2026 02:00PM UTC 499
66.9
GitHub Action Run
Source Files on build 25380773903
  • Tree
  • List 499
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #25380773903
  • Pull Request #2192
  • PR Base - main (#25374819099)
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