| Age | Commit message (Expand) | Author |
| 2026-09-20 | feat(workspaces): archive option + archived-workspaces view | Adam Malczewski |
| 2026-09-18 | feat(chat): compress images at attach time (JPEG re-encode + rescale) with a ... | Adam Malczewski |
| 2026-09-07 | feat(workspaces): sync the home tile layout per device orientation | Adam Malczewski |
| 2026-09-07 | feat(workspaces): tile stat line shows months instead of a short date | Adam Malczewski |
| 2026-09-07 | fix(workspaces): mobile (tall) grid can't scroll — root height collapse + t... | Adam Malczewski |
| 2026-09-07 | feat(workspaces): drop the conversation-count icon from the tile stat line | Adam Malczewski |
| 2026-09-07 | feat(workspaces): content-driven canvas while dragging — scrollbar grows/sh... | Adam Malczewski |
| 2026-09-07 | feat(workspaces): reserve the append canvas for the whole drag — no scrollb... | Adam Malczewski |
| 2026-09-07 | feat(workspaces): bound the drag append area — 3 columns past the content edge | Adam Malczewski |
| 2026-09-07 | feat(workspaces): FLIP reflow eases OUT — fast start, decelerating arrival | Adam Malczewski |
| 2026-09-07 | fix(workspaces): tile-grid drag bugs — stuck drop, grab-offset follow, empt... | Adam Malczewski |
| 2026-09-07 | feat(workspaces): pinned tiles with displacement reflow + FLIP drag preview | Adam Malczewski |
| 2026-09-07 | feat(workspaces): rework tile-grid visuals — Start-screen polish | Adam Malczewski |
| 2026-09-07 | feat(workspaces): Win8 Start-style tile-grid home page | Adam Malczewski |
| 2026-09-06 | feat(markdown): checkpoint streaming render — settled-block cache, highligh... | Adam Malczewski |
| 2026-09-06 | fix(layout): draw diagnostic tile markers inset + frame the sidebar viewport,... | Adam Malczewski |
| 2026-09-06 | feat(layout): re-probe the layout when the workspace's plugin states change | Adam Malczewski |
| 2026-09-05 | feat(layout): renderer renders tile border markers (main red / side green) | Adam Malczewski |
| 2026-09-05 | fix(layout): keep chat transcript region full-height when empty (composer pin... | Adam Malczewski |
| 2026-09-05 | feat(layout): plan 04 — ABI layout.applyOps + reset affordance | Adam Malczewski |
| 2026-09-05 | feat(layout): plan 03 — frontend plugin ABI + handshake + load lifecycle | Adam Malczewski |
| 2026-09-05 | style(layout): biome format plan-02 layout tests | Adam Malczewski |
| 2026-09-05 | feat(layout): plan 02 — provider consumption + layout WS + localStorage mig... | Adam Malczewski |
| 2026-09-05 | feat(layout): plan 01 — tile engine + view registry | Adam Malczewski |
| 2026-09-04 | fix(plugins): make groupByTier duplicate-key-proof; normalize tiers at the bo... | 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 | fix(named-agents): key editable rows by stable row key for uniqueness + save/... | 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-08-05 | fix(tabs): reconcile tab workspaceId from authoritative backend data | Adam Malczewski |
| 2026-06-29 | Merge branch 'feature/heartbeat-inactive-only' into predev | Adam Malczewski |
| 2026-06-29 | feat(heartbeat): add inactiveOnly checkbox (skip fires while workspace is busy) | Adam Malczewski |
| 2026-06-29 | Merge branch 'feature/cancel-queued-message' into predev | Adam Malczewski |
| 2026-06-29 | feat(chat): cancel a queued steering message from the UI | Adam Malczewski |
| 2026-06-28 | feat(chat): add "Off" option to Reasoning Effort dropdown (thinking on/off) | Adam Malczewski |
| 2026-06-28 | fix(concurrency): narrow inputs + tighten gap so provider name is visible | Adam Malczewski |
| 2026-06-28 | fix(concurrency): narrow inputs + make them shrink so close button never over... | Adam Malczewski |
| 2026-06-28 | fix(concurrency): keep Set+X inline (nowrap) instead of wrapping to a new line | Adam Malczewski |
| 2026-06-28 | fix(ui): shrink tabs to 40vh and tasks to 30vh fixed height | Adam Malczewski |
| 2026-06-28 | fix(concurrency): Set+X on same line, status line with in-flight count and badge | Adam Malczewski |
| 2026-06-28 | fix(tasks): keep fixed 60vh height even with 0 tasks | Adam Malczewski |
| 2026-06-28 | fix(tasks): fixed height 60vh with scrollbar on overflow | Adam Malczewski |
| 2026-06-28 | refactor(concurrency): simplify view to add-button list with inline limit + c... | Adam Malczewski |
| 2026-06-28 | fix(tabs): unify hover and selected grey background | Adam Malczewski |
| 2026-06-28 | fix(tabs): fixed height 60vh with scrollbar on overflow | Adam Malczewski |
| 2026-06-28 | fix(predev): resolve frontend merge conflicts | Adam Malczewski |
| 2026-06-28 | Merge branch 'feature/workspace-star' into predev | Adam Malczewski |
| 2026-06-28 | Merge branch 'feature/concurrency-fixes' into predev | Adam Malczewski |
| 2026-06-28 | Merge branch 'feature/workspace-active-indicator' into predev | Adam Malczewski |