| Age | Commit message (Expand) | Author |
| 2026-06-27 | feat(vision): resolve persisted image URLs against the API base | Adam Malczewski |
| 2026-06-27 | feat(vision): consult_vision tool + vision settings API | Adam Malczewski |
| 2026-06-27 | feat(vision): image paste + transcript image rendering + vision badge | Adam Malczewski |
| 2026-06-27 | Merge branch 'dev' into feature/heartbeat | Adam Malczewski |
| 2026-06-27 | Merge branch 'feature/indent-change' into dev | Adam Malczewski |
| 2026-06-27 | chore: update path references for directory rename (dispatch-backend → back... | Adam Malczewski |
| 2026-06-27 | feat(heartbeat): show next heartbeat timer + backend handoff for timestamp en... | Adam Malczewski |
| 2026-06-26 | fix(heartbeat): hide runs loading state to prevent sidebar flicker | Adam Malczewski |
| 2026-06-26 | fix(heartbeat): PromptEditor save not persisting — flickers and reverts | Adam Malczewski |
| 2026-06-26 | style: switch from tabs to 2-space indentation (incl. svelte) | Adam Malczewski |
| 2026-06-26 | feat(heartbeat): default system prompt to workspace default + reset button | Adam Malczewski |
| 2026-06-26 | fix(heartbeat): make PromptEditor modal truly fullscreen | Adam Malczewski |
| 2026-06-26 | feat(heartbeat): prompt editor modal + hours/minutes timer + backend handoff | Adam Malczewski |
| 2026-06-26 | feat(heartbeat): heartbeat view with config, run list, live chat modal, and s... | Adam Malczewski |
| 2026-06-25 | Merge branch 'feature/ssh-support' into dev | Adam Malczewski |
| 2026-06-25 | fix(computer): show ✓ check after a successful Test (not a stuck spinner) | Adam Malczewski |
| 2026-06-25 | docs(handoff): mark §2d provider-retry divergence RESOLVED (backend merge de... | Adam Malczewski |
| 2026-06-25 | feat(computer): SSH computer selection + status + workspace default (handoff #2) | Adam Malczewski |
| 2026-06-25 | feat(workspaces): open workspace in a new browser tab | Adam Malczewski |
| 2026-06-25 | feat(tabs): show full title in tab hover tooltip | Adam Malczewski |
| 2026-06-25 | feat: workspaces shell + cwd-lsp rename + mcp/settings/system-prompt features... | Adam Malczewski |
| 2026-06-25 | feat(core): chunks retry-banner, wire conformance, ws logic, history adapter | Adam Malczewski |
| 2026-06-25 | chore: regenerate contract mirrors, bump deps, update docs/notes/scripts | Adam Malczewski |
| 2026-06-22 | fix: duplicate user message on first send in a new tab | Adam Malczewski |
| 2026-06-22 | feat: double-click tab to rename (PUT /conversations/:id/title) | Adam Malczewski |
| 2026-06-22 | feat: switch theme from dracula to monokai (custom) | Adam Malczewski |
| 2026-06-22 | feat: consume context window + percentage-based compact handoff | Adam Malczewski |
| 2026-06-22 | feat: persist sidebar layout + open/closed state between refreshes | 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 | fix: trim provisional chunks during long turns (browser stays responsive) | Adam Malczewski |
| 2026-06-22 | feat: trim chunks during generation via step-complete syncTail (CR-6) | Adam Malczewski |
| 2026-06-22 | docs: update backend-handoff — CR-6 resolved by backend, trim for relevance | Adam Malczewski |
| 2026-06-22 | fix(metrics): show turn/step metrics for compacted conversations | Adam Malczewski |
| 2026-06-22 | fix(metrics): tail-align when stepId matching fails — prevent misaligned turns | Adam Malczewski |
| 2026-06-22 | fix(metrics): preserve turn-metrics for trimmed turns | Adam Malczewski |
| 2026-06-22 | feat(metrics): show turn number in metrics bubble (turn N · ...) | Adam Malczewski |
| 2026-06-22 | fix(metrics): skip unanchored step-metrics — no more empty bubbles at tail | Adam Malczewski |
| 2026-06-22 | feat: show 5-char git hash next to hamburger for cache-bust detection | Adam Malczewski |
| 2026-06-22 | fix(metrics): stepId-based segment matching — robust against chat-limit tri... | 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-22 | feat(tabs): cross-device tab sync via conversation lifecycle | Adam Malczewski |
| 2026-06-21 | fix: conversation.open opens tab without auto-switching | Adam Malczewski |
| 2026-06-21 | docs: add ROADMAP.md — shipped features, next up, backlog | Adam Malczewski |
| 2026-06-21 | feat(ws): handle conversation.open broadcast — open/focus tab from CLI --open | Adam Malczewski |
| 2026-06-21 | refactor(todo): drop priority field — keep the tool simple | Adam Malczewski |
| 2026-06-21 | fix(todo): use static filled circle for in_progress instead of spinner | Adam Malczewski |
| 2026-06-21 | feat(surfaces): todo task list sidebar view | Adam Malczewski |