| Age | Commit message (Expand) | Author |
| 11 days | feat(ui): Artix-style inset wells (chat thinking/tool blocks + sidebar views)... | Adam Malczewski |
| 11 days | feat(tool-call-cards): distinct Phosphor icon per tool (phosphor-svelte, deep... | Adam Malczewski |
| 11 days | feat(tool-call-cards): English tool names, no '{}' for argument-less calls, t... | Adam Malczewski |
| 11 days | feat(tool-call-cards): final visual polish — unified edit diff, quiet faile... | Adam Malczewski |
| 11 days | feat(tool-call-cards): polish responsive headers and expanded details | Adam Malczewski |
| 11 days | feat(tool-call-cards): pair calls and results in summarized collapsible bubbles | Adam Malczewski |
| 2026-10-10 | perf(chat): fast open of long in-flight turns | Adam Malczewski |
| 2026-10-10 | feat(turn-metrics): per-step cache hit badge on each step-metrics row | Adam Malczewski |
| 2026-10-10 | fix(turn-metrics): exact per-turn placement via turnId, decode-only TPS, step... | Adam Malczewski |
| 2026-09-18 | feat(chat): compress images at attach time (JPEG re-encode + rescale) with a ... | Adam Malczewski |
| 2026-09-03 | feat(plugin-system): plan 07 frontend plugin manager ui | Adam Malczewski |
| 2026-08-25 | fix(tabs): never crash on duplicate toolCallIds in tool batches | Adam Malczewski |
| 2026-08-20 | feat(named-agents): sidebar view, synthetic provider, auto-save, snapshot sem... | Adam Malczewski |
| 2026-08-12 | feat(models): numbered OpenCode credential selection, labels, migration | Adam Malczewski |
| 2026-06-28 | feat(chat): add "Off" option to Reasoning Effort dropdown (thinking on/off) | Adam Malczewski |
| 2026-06-28 | feat(step-context-update): update context window usage at end of each step | Adam Malczewski |
| 2026-06-27 | Merge branch 'feature/vision-handoff' into dev | Adam Malczewski |
| 2026-06-27 | feat(vision): resolve persisted image URLs against the API base | Adam Malczewski |
| 2026-06-27 | style(concurrency): use DaisyUI loading-ring for the queued indicator | Adam Malczewski |
| 2026-06-27 | feat(concurrency): loading-ring for queued chats (CR-13 consumed) | Adam Malczewski |
| 2026-06-27 | fix(sidebar-tabs): align chat scrollbar with composer instead of flush agains... | Adam Malczewski |
| 2026-06-27 | feat(sidebar-tabs): use daisyui loading-dots for chat generating spinners | Adam Malczewski |
| 2026-06-27 | feat(vision): image paste + transcript image rendering + vision badge | Adam Malczewski |
| 2026-06-26 | style: switch from tabs to 2-space indentation (incl. svelte) | Adam Malczewski |
| 2026-06-25 | feat: workspaces shell + cwd-lsp rename + mcp/settings/system-prompt features... | Adam Malczewski |
| 2026-06-22 | feat: consume context window + percentage-based compact handoff | Adam Malczewski |
| 2026-06-22 | feat: collapsible tool output (collapsed by default like thinking) | Adam Malczewski |
| 2026-06-22 | fix: tool output scrolls within its container instead of bleeding out | Adam Malczewski |
| 2026-06-22 | feat(metrics): show turn number in metrics bubble (turn N · ...) | Adam Malczewski |
| 2026-06-22 | fix(composer): single context-aware button — Send/Queue/Stop | Adam Malczewski |
| 2026-06-22 | feat(chat): stop generation button — abort without closing | Adam Malczewski |
| 2026-06-22 | feat(compaction): conversation compacting + auto-compact threshold | Adam Malczewski |
| 2026-06-21 | feat(chat): message queue + steering — mid-turn injection at tool-result bo... | Adam Malczewski |
| 2026-06-12 | feat(chat): reasoning-effort selector — sticky per-conversation thinking-de... | Adam Malczewski |
| 2026-06-12 | feat(chat): chat limit — bulk quarter-unload, 75% fresh-load window, show-e... | Adam Malczewski |
| 2026-06-12 | feat(chat): old-Dispatch composer layout — textarea + send + status bar | Adam Malczewski |
| 2026-06-12 | feat(metrics): consume contextSize — current context-usage readout | Adam Malczewski |
| 2026-06-11 | feat(cache-warming,surfaces,metrics,markdown): conversation-scoped surfaces, ... | Adam Malczewski |
| 2026-06-10 | feat(chat,app): Model view in sidebar + split key/model selectors | Adam Malczewski |
| 2026-06-10 | feat(metrics): inline cache hit-rate badges (last turn + chat total) | Adam Malczewski |
| 2026-06-10 | feat(metrics): per-turn + per-step token/timing metrics bubbles | Adam Malczewski |
| 2026-06-07 | Revert "feat(chat): live turn metrics — telemetry reducer + rendering" | Adam Malczewski |
| 2026-06-07 | feat(chat): live turn metrics — telemetry reducer + rendering | Adam Malczewski |
| 2026-06-07 | feat(chat): restyle thinking — visible bubble, collapse, title swap, persis... | Adam Malczewski |
| 2026-06-07 | feat(chat): drop the faded opacity on in-flight messages | Adam Malczewski |
| 2026-06-07 | feat(chat): group batched tool calls into one DaisyUI list | Adam Malczewski |
| 2026-06-07 | feat(chat): restyle transcript — left-aligned, bubbleless assistant, tool c... | Adam Malczewski |
| 2026-06-07 | Slice 3 wave A: tabs model, model selector, cache delete, localStorage | Adam Malczewski |
| 2026-06-07 | fix(chat): keep thinking <details> open while streaming | Adam Malczewski |
| 2026-06-07 | Slice 2 wave 2: IndexedDB cache adapter + chat feature | Adam Malczewski |