summaryrefslogtreecommitdiffhomepage
path: root/src/features/tabs/ui/TabList.svelte
AgeCommit message (Collapse)Author
2026-06-28fix(ui): shrink tabs to 40vh and tasks to 30vh fixed heightAdam Malczewski
2026-06-28fix(tabs): unify hover and selected grey backgroundAdam Malczewski
2026-06-28fix(tabs): fixed height 60vh with scrollbar on overflowAdam Malczewski
2026-06-27style(concurrency): use DaisyUI loading-ring for the queued indicatorAdam Malczewski
The 'queued' (waiting-for-a-concurrency-slot) indicator on the tab + composer corner used loading-spinner; switch to DaisyUI's loading-ring. The 'active' (generating) indicator stays loading-dots. typecheck 0/0, 926 tests green, biome clean, build OK.
2026-06-27feat(concurrency): loading-ring for queued chats (CR-13 consumed)Adam Malczewski
Backend shipped "queued" ConversationStatus (additive to [email protected]): when a request blocks on a concurrency slot, conversation.statusChanged broadcasts "queued" (broadcast-only, never persisted); "active" on slot grant. FE consumes it: - WS parser (adapters/ws/logic.ts): accepts "queued" in the status set. - Store handler: "queued" updates the status map + opens a tab for a new cross-device queued conversation (like "active"). - TabList: status === "queued" -> loading-ring (spinner, aria-label "Queued"); "active" -> loading-dots (unchanged). - Composer: status type widened to ComposerStatus (idle|running|queued|error), exported from features/chat. "queued" -> a loading-ring status icon + placeholder "Queued for a slot…"; behaves like "running" for the send button (steer/stop — the turn is in flight, just waiting for a slot). - App.svelte: composerStatus derived (error > queued > running > idle) — conversationStatus === "queued" wins over generating so the corner shows a ring during the wait (turn-start fires before the slot is granted, so generating is already true while status === "queued"). - Re-mirrored .dispatch/wire.reference.md (ConversationStatus widened + header). Tests: WS parser accepts queued; store handler sets status + opens a cross-device tab + transitions queued->active->idle; TabList renders a ring for queued + dots for active. typecheck 0/0, 925 tests green (x2), biome clean, build OK. backend-handoff.md CR-13 marked RESOLVED.
2026-06-27feat(sidebar-tabs): use daisyui loading-dots for chat generating spinnersAdam Malczewski
2026-06-27fix(sidebar-tabs): use text-selection highlight as copy indicator instead of ↵Adam Malczewski
swapping text
2026-06-27feat(sidebar-tabs): click tab ID badge to copy conversation idAdam Malczewski
2026-06-27feat(sidebar-tabs): move tab bar from top into sidebar as vertical listAdam Malczewski