summaryrefslogtreecommitdiffhomepage
path: root/src/app.css
AgeCommit message (Collapse)Author
11 daysfix(ui): lint-clean dvh fallback (@supports); left padding for the overlay ↵Adam Malczewski
(mobile) sidebar
11 daysfeat(ui): raised '+ Add view' sidebar button (mirror of the view wells) with ↵Adam Malczewski
gap-matched bottom spacing; dvh app-shell height for iOS toolbars
11 daysfeat(home): navbar header actions — raised primary 'New workspace' button, ↵Adam Malczewski
secondary actions as text links, Phosphor icons when compact
11 daysfeat(ui): raised (popped-out) home tiles, the inverse of the inset well; ↵Adam Malczewski
shared navbar look on the home header
11 daysfeat(ui): Artix-style inset wells (chat thinking/tool blocks + sidebar ↵Adam Malczewski
views) and darkstrap navbar header in theme colours
2026-10-10perf(chat): fast open of long in-flight turnsAdam Malczewski
- Batch live chat events: fold a burst in one pass per animation frame (rAF + timeout fallback for hidden tabs) instead of one reactive cycle per WS frame. Flushed before send/resync to keep ordering. - De-dup the late-join replay against committed history: provisional chunks of the in-flight turn already persisted (CR-6 per-step persistence) are hidden by aligned-prefix matching (fail-safe: mismatch shows, never hides). - Memoize chunks/turnMetrics getters by state identity. - LazyCollapse: tool/thinking card bodies mount only on first open. - content-visibility:auto on transcript rows. - scripts/probe-replay.ts + bench-pure.ts for measuring the replay path.
2026-06-26style: switch from tabs to 2-space indentation (incl. svelte)Adam Malczewski
2026-06-22feat: switch theme from dracula to monokai (custom)Adam Malczewski
Replace dracula with a custom monokai theme (from dachinat/daisyui-themes, with modifications: all -content colors set to black, base-300 changed to #3b3a3a). Dracula is unloaded; monokai is the sole bundled theme and default. Also adds .env.development (dev ports 24203/24205) and .env.production (arch ports 24991/24990) so Vite uses the correct backend per mode. Excludes src/themes/ from biome (third-party CSS). 683 tests green.
2026-06-11feat(cache-warming,surfaces,metrics,markdown): conversation-scoped surfaces, ↵Adam Malczewski
cache warming + retention, markdown Consumes the backend cache-warming + cache-rate handoffs end-to-end and adds supporting infra: - protocol/transport: conversation-scoped surfaces (conversationId on subscribe/invoke/surface + staleness routing); store auto-subscribes the catalog with the focused conversation and re-scopes on switch. - surface-host: generic Number field renderer + custom rendererId dispatch (graceful skip on unknown). - cache-warming feature: enabled toggle, min+sec interval, AUTHORITATIVE countdown from the surface's cache-warming-timer nextWarmAt, manual Warm now (POST /chat/warm), lastWarmAt-keyed history, cache-retention stat, expectedCacheRate headline. - metrics: cross-turn expected-cache (retention) derivation + bubble badge; cache-rate fix needs no code change (inputTokens now total). - markdown feature: marked + marked-highlight + highlight.js + dompurify, rendered in ChatView. - fixes (gemini review): {#key activeConversationId} remount of CacheWarmingView to stop history/feedback leaking across tabs; guard NaN interval inputs from committing 0. - docs/contracts: regenerated transport/ui-contract mirrors; backend-handoff updated (CR-3 resolved). Verified: svelte-check 0 errors, biome clean, 494 tests pass, vite build OK.
2026-06-10feat(tabs,app): tab id handles, fixed-width tabs-lift, slim shell + ↵Adam Malczewski
full-height sidebar Tabs: - short-handle ID badge per tab (shortest unique conversationId prefix, min 4) - fixed-width (w-48) tabs with tabs-lift folder borders Shell (composition root): - drop the Dispatch title bar; tabs sit at the very top with a 5px gap - big faded "Dispatch" watermark centered on an empty chat - collapsible right sidebar (empty shell) spanning full window height: a permanently right-pinned hamburger in the tab row toggles it; in-flow push that shrinks the whole left column (tabs included) at >=lg, overlay + backdrop below lg; open-by-default on wide / closed on narrow - main is overflow-hidden with a min-w-0 shrink chain; app.css pins html/body/#app height + body overflow hidden so the page never overflows
2026-06-07Slice 3 setup: Tailwind v4 + DaisyUI v5 (dracula enabled) + 'tab' vocabAdam Malczewski
- add tailwindcss@4 + @tailwindcss/vite + daisyui@5; vite tailwind plugin - src/app.css: @import tailwindcss + @plugin daisyui { themes: dracula --default } (theme BUNDLED, not just named); imported in main.ts - index.html: <html data-theme="dracula"> - biome.json: enable css tailwindDirectives so @plugin parses - GLOSSARY: define FE term 'tab' (workspace slot referencing a conversation; holds conversationId + model + title; close = local forget) Verified: dracula tokens bundled in CSS, svelte-check 0/0, vitest 222, biome clean, build ok.