Skip to content

r0001

Choose a tag to compare

@github-actions github-actions released this 07 Jul 09:03

koder r0001

Linux x64 and Linux ARM64 rolling release built from bf3c1fb.

Changelog

  • Stabilize file browser queue test (bf3c1fb)
  • Configure runner namespaces for release tests (846f6e4)
  • Allow release tests on restricted runners (bd84c06)
  • Fix rolling release workflow (52ed8ea)
  • Refresh README and app icons (2e1ed39)
  • Use native llama endpoints directly (99f1d63)
  • Prepare active model metadata on session load (dc8d39f)
  • Track image requirements per chat (d4cdcb2)
  • Auto-detect llama slots from model options (bcf4b5d)
  • Support pinch zoom in image lightbox (b3b3781)
  • Mark provider healthy after loading models (85dd86a)
  • Detect llama.cpp slots during provider probe (6843464)
  • Add observability panel (7d6aa41)
  • Stabilize file browser send test (8913c58)
  • Add chat cleanup dialog (8933f41)
  • Start worker chats from planning board (e696633)
  • Send file browser context to chat (5567760)
  • Add provider health indicators (d429c2b)
  • Show model usage references (ee5801d)
  • Add model config duplication actions (4278c1f)
  • Add settings dirty state guard (ee2932f)
  • Add model default and delete actions (285628f)
  • Render images in file browser previews (1bcb6bb)
  • Add rolling GitHub release workflow (65bc59a)
  • Apply configured security defaults to new sessions (ee18bbc)
  • Restore Alpine refs after naming cleanup (e5daed3)
  • Fix composer completions after session routing cleanup (2d88aef)
  • Update dev launcher for serve command (0c2fc9b)
  • Hard break CLI startup semantics (8826afa)
  • Add data directory override (b131026)
  • Remove resume CLI command (b1b5892)
  • Add MIT license and third-party notices (90607d2)
  • Remove controller global session state (368233c)
  • Clean up read-only selection state path (bf24609)
  • Make selection state reads side-effect free (14b7e6d)
  • Keep workspace monitoring out of chat state reads (1a45e3c)
  • Show chat switch progress and throttle workspace scans (9ea1046)
  • Add chat rename action to sidebar (0c813f5)
  • Use GitHub dark colors for inline code (4a26228)
  • Show hydration state for deep links (11261ee)
  • Add Go and zsh shell diagnostics (9d710ea)
  • Update agent feature comparison (96c6518)
  • Ignore local env and log files (89ecbd4)
  • Add planning board view (c171971)
  • Persist koder dev restart logs (5da2899)
  • Show exec command details in UI (4bd7bf6)
  • Extend dev shutdown grace (69d3f52)
  • Stop restart shutdown at LLM boundary (81bfa55)
  • Add restart timing diagnostics (c284677)
  • Use Go mermaid parser for markdown diagnostics (23b9593)
  • Ignore non-parser mermaid validation errors (cfc4a08)
  • Validate markdown renderer blocks (75d9b24)
  • Improve file browser deep links and mermaid errors (c03e2fb)
  • Add session file browser (4920180)
  • Align milestone completed filter label (619d264)
  • Allow orchestrator to update unowned running tasks (59151e1)
  • Clear stale queue aliases on chat delta (e5045a1)
  • Fix transcript sticky-bottom intent (b94dd9e)
  • Add queued message steering controls (041809b)
  • Restore compacted tool tail retention (bcfe7ac)
  • Sanitize control characters in provider prompts (3cadea6)
  • Drop raw tool tail replay after compaction (b4b48b2)
  • Pause repeated reasoning-only continuations (5ca6b13)
  • Preserve whitespace in streamed provider chunks (7b69461)
  • Pause on empty initial provider response (a733830)
  • Compare full tool args for repeat guard (e8b9d95)
  • Debounce streamed tool call progress (6b071ff)
  • Stabilize transcript scroll tracking (0f09a4b)
  • Add exec command comments for display (bc84c28)
  • Hard cancel active provider requests (76d81a2)
  • Show hydrating state when switching sessions (fe10353)
  • Cache markdown by timeline item (20407f9)
  • Cache timelines outside Alpine state (eeadb65)
  • Keep transcript tail pinned while streaming (0e2c93e)
  • Recalculate transcript window on scroll (fc21c19)
  • Measure transcript spacer heights (e952ea4)
  • Render transcript tail while pinned (e823a53)
  • Render transcript through window helper (29e038a)
  • Track transcript render window state (9ec0578)
  • Test compact chat delta payloads (16b687d)
  • Add browser performance debug counters (66168fc)
  • Send item-level chat deltas (c4290b2)
  • Abort active chat turns on hard interrupt (a80de86)
  • Standardize milestone tool fields on keys (54cbe83)
  • Add milestone dependency tool (205a912)
  • Clarify repeated tool failures (e84f615)
  • Allow dependency-only milestone updates (51060cd)
  • Limit active child chat starts (908885c)
  • Harden chat cleanup orchestration (a3a52d6)
  • Show chat_send messages in UI (c600cc0)
  • Reuse model picker in preferences (1374f1b)
  • Refresh git preview from workspace changes (53754d4)
  • Show git preview as a tree (a04e29f)
  • Add custom request JSON for models (2d288ef)
  • Speak TTS when agent response completes (623d6ee)
  • Add TTS settings test playback (f04330d)
  • Add configurable TTS playback settings (df64f1a)
  • Move workspace monitoring onto sessions (3586bc7)
  • Add TTS model detection and playback (84b3dcb)
  • Rename milestone todos to tasks (b3a8ef0)
  • Use scoped task keys for chat orchestration (9edbdb5)
  • Simplify file read tool rendering (4c0908d)
  • Keep compaction replay boundary stable (cf20859)
  • Use generated planning keys (f5683c5)
  • Show line numbers in diff renderer (9d80703)
  • Render markdown diffs with shared renderer (10ac799)
  • Clarify browser visual prompt guidance (2fb7cde)
  • Advertise diagram and math rendering (92092a6)
  • Deny repeated identical tool calls (7b51613)
  • Fit Mermaid diagrams inline (874357a)
  • Render Mermaid diagrams at natural width (fe1277a)
  • Preserve Mermaid foreignObject labels (28a42aa)
  • Keep Mermaid HTML label contents (ef07f90)
  • Preserve Mermaid diagram labels (0cf67ff)
  • Improve Mermaid diagram contrast (8e782a4)
  • Normalize browser session lists (ada05e7)
  • Defer session activation until selected (847fc40)
  • Avoid hydrating chats during session load (2156f44)
  • Add KaTeX math rendering to web UI (194c3dd)
  • Refresh detected model context windows (7317741)
  • Drop unused engine metadata chat loader (94bc29a)
  • Remove engine chat control wrappers (05c777b)
  • Consolidate environment prompt rendering (416227d)
  • Hard break tool argument normalization (116116e)
  • Hide child storage behind bound sources (b4c8600)
  • Move child storage to owning packages (86939af)
  • Privatize session storage backend (5a00425)
  • Clamp tool result rows in web UI (b884602)
  • Remove agent caveman runtime duplication (f5abe7c)
  • Move model completion to runtime (8defe11)
  • Move turn preparation to model runtime (87e75ab)
  • Remove obsolete turn render shim (57cc421)
  • Move model request construction to runtime (0219c32)
  • Move prompt rendering to model runtime (204320c)
  • Introduce model runtime shell (08bf088)
  • Rename chat model runtime interface (0ff7087)
  • Make chat build model turn requests (22d7d0c)
  • Document grouped config layout (c51be5b)
  • Test settings ownership resolution (a206087)
  • Resolve model policy through settings (3b85ff9)
  • Group global runtime config (1699ebb)
  • Add settings resolver for runtime policy (8152c71)
  • Remove stale agent tool helpers (8be5706)
  • Move tool runtime ownership out of agent (0035be9)
  • Move live session registry into session package (198dfdf)
  • Let chat own the model turn loop (ddbf53d)
  • Let chat persist compaction markers (f1557d8)
  • Let chat persist turn notices (522df4f)
  • Let chat persist assistant replies (d119b54)
  • Let chat persist turn instructions (37a5270)
  • Move continuation pause ownership to chat (085857c)
  • Remove agent tool execution helpers (055f80b)
  • Move live tool execution into chat (5ea7ab6)
  • Enforce disabled tools in registry calls (84ef8fe)
  • Remove chat turn state wrapper (cb743ce)
  • Add chat-owned turn enum (09aee07)
  • Move chat tool control to session (a212e4f)
  • Remove controller session list cache (347736d)
  • Remove store from controller constructor (b175f5c)
  • Route agent session metadata through owner (a4af484)
  • Hydrate session tasks independent of milestones (5d4256f)
  • Use session owners for agent chat listing (a57c32b)
  • List controller sessions through agent (63cb5fd)
  • Remove controller chat cache fields (21b112a)
  • Build controller state from live selection (17320d5)
  • Use session owner for controller shutdown checks (4e53683)
  • Remove controller session event cache bridge (cdba828)
  • Reduce controller chat state caching (99e6253)
  • Align debugsrv with live session ownership (d522025)
  • Move chat tool control out of core tools (b21592e)
  • Simplify tool calls around options (9b7744d)
  • Remove dead tool event helper (990bbf8)
  • Decouple milestone tool owner checks from chat model (9c08580)
  • Use chatrole types in tool runtime (3210784)
  • Flatten chat tool status DTO (415b940)
  • Use tools IDs in tool implementations (5b1ad4a)
  • Move tool registry API to tools IDs (9a66cac)
  • Move workflow role ownership to domain (71516d7)
  • Move tool result payload ownership to tools (86a2ed8)
  • Rename tool registry kind API to ids (d74508d)
  • Replace tool enum with string ids (751bf79)
  • Keep tool payloads owned by tools (41bb741)
  • Collapse tool result struct (a06249a)
  • Remove unused turn tool wrappers (cf8cfb2)
  • Run prepared tool calls through chat (9ec3ef1)
  • Move tool result attachment to chat owner (b2a363b)
  • Run compaction through live chat owner (a7447fe)
  • Privatize chat storage helpers (8cb70d1)
  • Remove remaining production chat store calls (04c29b9)
  • Route agent tool writes through chat owners (3d753ff)
  • Make pending tool resume own turn ordering (d06ee26)
  • Repair restart tool state through chat owners (71b4512)
  • Keep fork timeline writes inside session storage (36f838d)
  • Use session owner for parent chat notifications (a0bd7fe)
  • Remove legacy queued steer persistence path (09d5eff)
  • Route live tool persistence through chat owner (7ad1e67)
  • Hide store backend preference (d20edae)
  • Drop legacy tool and role shims (f40746a)
  • Simplify store transactions and index jsonfs (6d6a008)
  • Avoid synthetic instructions after tool results (3f5184e)
  • Make turn instructions visible (3a99f25)
  • Wait for outstanding caveman jobs before chat turns (242f694)
  • Default exec stdin waits to ten seconds (7a7aee2)
  • Simplify exec start rendering (365beeb)
  • Improve mobile web layout (0ac539f)
  • Encourage visible progress during tool use (55c51bd)
  • Reduce exec start result rendering (a3405fb)
  • Improve caveman thinking conversion prompt (3aa6d47)
  • Tune caveman thinking activation (0a8837c)
  • Keep chat URLs in sync (f16c4d0)
  • Split chat orchestration tools (b6dc205)
  • Add session chat deep links (8c18edd)
  • Document debug API (1c5cc0c)
  • Fix rollback modal completion (7472568)
  • Fix timeline rollback actions visibility (4803104)
  • Add custom model aliases from detected models (76278ff)
  • Format topbar session and workspace (26a6bf7)
  • Add topbar session title editor (642feb2)
  • Expose queued chat state to tools (f9a1bb3)
  • Add exec process overlay and terminate action (d97b0d3)
  • Keep chat and milestone filter badges stable (d52209b)
  • Fix milestone filter active badges (7555eae)
  • Add chat rollback and fork actions (2a72e00)
  • Offer to create missing session project folders (e912594)
  • Cover normalized relative file paths (602c00d)
  • Expand home paths in file tools (159b26f)
  • Replace todo wording with task wording (99eaaf3)
  • Rename todo tools to task tools (4e7a7d1)
  • Reject self messages in chat update (04e2015)
  • Let owners message and interrupt child chats (89c2f51)
  • Reduce offscreen chat stream backpressure (cc306b6)
  • Serialize timeline appends before hydration (2879ae5)
  • Serialize timeline tool result updates (645d540)
  • Make hard restart escape shutdown drain (4a2d79e)
  • Keep custom tool results as tool events (0e65408)
  • Run caveman rewrites asynchronously (6ece8af)
  • Show caveman reasoning token count (4e691b9)
  • Bound caveman thinking rewrites (5d286c2)
  • Expose active provider requests in debug API (3474c32)
  • Stream caveman thinking conversion (6d8c3b5)
  • Show caveman reasoning in transcript (de3c025)
  • Trim exec output on line boundaries (3debb5c)
  • Render exec timeouts in browser UI (ec6c250)
  • Keep agents refresh from changing session root (3be83ea)
  • Require exec workdir from session root (b632290)
  • Show selected exec processes in sidebar (a6c3c03)
  • Subscribe web sockets to selected sessions (fe77d32)
  • Add lifecycle and persistence logging (bb5d234)
  • Enforce global tool availability (4435c8f)
  • Remove controller selection compatibility wrappers (bc288d8)
  • Make web session selection explicit (adf96f7)
  • Disable bash tool by default (e7f6ace)
  • Dispatch queued chat input in FIFO order (c0a773c)
  • Prioritize queued turns after tool resume (b4531d5)
  • Render steers as user turns (57e7e66)
  • Cover compacted next-turn request size (6b9b52d)
  • Use HTTP RPC for dev restarts (2137352)
  • Expose websocket RPC over HTTP (b84bc93)
  • Clamp compaction preserved tail to current segment (eb8514e)
  • Fix repeated compaction boundaries (ce159d5)
  • Capture full debug provider requests (49626b8)
  • Show only known context usage (370a004)
  • Render lint diagnostics during compaction (da292fa)
  • Show current build in status bar (2b495af)
  • Fit one-shot compaction requests to context (90a1142)
  • Wait for chat loop during close (79021ad)
  • Repair context cache during metadata hydration (7aed588)
  • Repair context cache when hydrating chat (7427a67)
  • Derive context anchors from timeline (f43937d)
  • Simplify compaction to one turn-boundary pass (99c1061)
  • Clear context counters after chat rewind (f120f68)
  • Add debug chat rewind endpoint (3046251)
  • Continue chunked compaction to target tail (c08f8b2)
  • Preserve compaction tail by tool call count (a5d1dd7)
  • Compact current segment after prior summary (e7f4286)
  • Ignore invalid compaction boundaries (92d08c6)
  • Chunk oversized compaction requests (a2c3913)
  • Make compaction requests toolless (f91d130)
  • Stabilize Qwen template cache on user turns (1d84f45)
  • Keep transcript pinned after deferred rendering (e07c5b5)
  • Keep steer continuations cache-friendly (716fa67)
  • Record and render steer messages explicitly (74f6d7d)
  • Keep websocket live updates healthy (cee62ed)
  • Abort streaming turns on hard cancel (87775a2)
  • Show restart build age in tooltip (abd3a7a)
  • Tighten shell tool argument guidance (f22a0ac)
  • Improve mermaid diagram theme (4d538c0)
  • Hide empty sidebar sections (6e48e07)
  • Filter sidebar exec processes (b9f967a)
  • Stabilize llama prompt cache diagnostics (8b45c1b)
  • Stop exec process list flicker (0154b1a)
  • Expose composer steer send action (cc76ecd)
  • Show available restart build metadata (c26a03d)
  • Serialize queued user transcript entry (7159e6d)
  • Add exec output wait draining (63b6647)
  • Clarify steer queue semantics (05632e1)
  • Fix queued prompt ordering (4a765a8)
  • Unify transcript headers (8a7ad91)
  • Add sidebar status filters (552e029)
  • Enforce archive state for chat turns (6fd20bb)
  • Separate user queue inputs from steers (0cd717d)
  • guard shutdown against closed pebble store (6f88fe1)
  • trim historical regression tests (6a5c8ee)
  • delay process restart until chats drain (b6f7846)
  • add welcome session start screen (555cd92)
  • discourage repeated chat polls (a4e09ae)
  • scope milestone title collision checks (3d1a7e8)
  • test repeated tool call arguments (d62086b)
  • reuse dev build on restart (5136ea7)
  • add milestone dependency tree (8bbb348)
  • make exec subscription cancel idempotent (231ed0a)
  • track chat token usage (3f3b786)
  • acknowledge restart requests in ui (5face86)
  • reject todos for closed milestones (c962302)
  • summarize todos in milestone list (dec59b5)
  • hydrate chat metadata without eager timelines (22dd3d2)
  • lazy load long chat timelines (71503f7)
  • reject duplicate milestone titles (04f7c86)
  • add reasoned chat cancellation (5c94c09)
  • refactor planning tools around add and update (8aa8d9a)
  • feat: show timestamps on transcript entries (4eb30a6)
  • fix: report child chat idle progress once (24668e3)
  • feat: expand known lsp server catalog (1d0bd89)
  • fix: keep browser tab chat selection local (c40c926)
  • feat: add mobile sidebar overlay (fdcbe3d)
  • feat: add caveman thinking replay (ec8489d)
  • fix: improve diagram themes and lightbox zoom (01da363)
  • feat: add model request settings (ea87199)
  • feat: allow compact command instructions (6ea99fa)
  • fix: load only selected chat runtime (197ee18)
  • feat: show chat role and context meter (0814e23)
  • feat: replace chat archive with chat update (d842af1)
  • fix: decode lint tool results (2baafc9)
  • fix: filter completed milestone list (32a4c0c)
  • fix: require fresh lsp diagnostics (a116d2b)
  • fix: drain chats cleanly on process shutdown (4a05fd9)
  • fix: discourage repeated chat polling (e6fed32)
  • fix: avoid diagram rerenders while streaming (b44c4c5)
  • fix: defer streaming diagram rendering (7208328)
  • fix: keep explicit session urls authoritative (1decf8e)
  • fix: notify restart readiness via web api (512546b)
  • feat: render mermaid and inline svg markdown (42af0ad)
  • fix: show running tool status immediately (a146df0)
  • feat: emit lint diagnostics as timeline messages (5951cbc)
  • fix: summarize file write results for model (53640bb)
  • feat: show untracked directory git stats (536b18e)
  • fix: abort oversized streamed tool calls (017a9ac)
  • feat: hide closed milestones (cf45901)
  • feat: show milestone progress bars (e22e468)
  • feat: watch workspace changes for git status (9af1ef7)
  • fix: terminate shell tool process groups (7f5b72c)
  • Guide large file writes toward edits (52d3ece)
  • Move workflow role into chatrole (f5c1aab)
  • Use toolkind in config and role policy (89597aa)
  • Move permission overrides into access settings (d92643a)
  • Move tool kind ownership out of domain (31621f1)
  • Move permission modes into access settings (2562eb2)
  • Move planning statuses into planning (194d945)
  • Move provider message roles into provider (612ff34)
  • Extract shared ID generation (c9e0033)
  • Move planning control interface to tools (a8a752e)
  • Move storage ownership into sessions and chats (50f1f63)
  • Archive chats through chat owner (0c6c4e6)
  • Make session UI updates event driven (6c8738f)
  • Color tool status badges (6c82dd7)
  • Improve selected chat status contrast (d079126)
  • Color todo status badges (38f43c2)
  • Use snake case enum strings (e40c816)
  • Align todo status tool schema (1e4bda8)
  • Surface invalid provider tool calls (6985752)
  • Accept snake case todo status args (691eeeb)
  • Color milestone status badges (6283c21)
  • Decode stale tool names in transcript parts (18dd1d1)
  • Tolerate stale persisted tool names (db26f55)
  • Ignore removed tool defaults in config (309683f)
  • Improve compaction status feedback (b96098f)
  • Update system prompt file tool names (9209b03)
  • Remove apply patch tool kind (9d84664)
  • Rename file tools to file-prefixed calls (6cfd755)
  • Group tool preferences in browser settings (2132b85)
  • Bubble session chat additions to controller (600196d)
  • Apply queued steers at turn boundary (349066f)
  • Fix enum string normalization (d48cf89)
  • Warm LSPs from file contact (16f5eb5)
  • Add tools preferences tab (08dddbb)
  • Document push discipline (da3044e)
  • Use header icon actions for modals (567fc4f)
  • docs: add coding agent feature comparison matrix (7999f1f)
  • Normalize provider tool args before storing (3ceec91)
  • Use provider wire role names (23a9c2c)
  • Expose session hydration in debug API (7f46487)
  • Only resume chats with pending tool calls (54e2b01)
  • Use snake case tool kind wire names (719e1b9)
  • Use generated enum text methods (9d8cf58)
  • Fix tool default config key parsing (06e4ea5)
  • Fix compile and chat queue tests (feac794)
  • Convert all domain enum types from string to uint8 + iota using enumer (9feccc2)
  • Show requested read line ranges in web UI (e709228)
  • Replace permission profiles with access settings (0601de3)
  • Add go-quality skill copied from codex (1dc3bb4)
  • Recover stale browser session selections (3c9c269)
  • Clean up tool helper ownership (4c740b4)
  • Make persistence owned by runtime packages (7b7db3f)
  • Make store generic over backend drivers (841f0ce)
  • Use planning types outside store (4deaf42)
  • Use single session chat creation path (b58434f)
  • Remove decomposition chat role (c6bdf3b)
  • Scope planning access by chat (5b1fca6)
  • Move planning helpers out of tools (76c0075)
  • Introduce planning package types (be0e118)
  • Split controller behavior files (76c60ca)
  • Reject legacy tool argument aliases (958e7ab)
  • Derive chat status from sessions (4cc6aa8)
  • Remove stateless tool registry (b7180aa)
  • Remove registry constructor compatibility (d5e9401)
  • Remove tool result control hook (1ff9576)
  • Rename browser project root state (120e83d)
  • Pass debug store explicitly to web UI (321f88d)
  • Delegate child chat orchestration to engine (9f53572)
  • Make sessions own live chats (b382f3b)
  • Make tool runtime explicit (dd34eb9)
  • Remove stale theme and session context packages (466d270)
  • Update docs for browser-first app (05ea278)
  • Make browser startup flags explicit (d1c1129)
  • Rename UI core to browser app (de1918e)
  • Move live session owner to session package (7cd6727)
  • Fold color helpers into theme (4ef5c39)
  • Fold turn control into chat package (b7776a3)
  • Route remaining live mutations through owners (fc66674)
  • Require explicit runtime for tool registry (b5a786a)
  • Remove store planning control from tools (a324774)
  • Route chat selection repair through session owner (49734d7)
  • Move selection touch into session owner (650b6ff)
  • Repair active chat models through session owner (bbdeee9)
  • Require live owner for planning control (ba5f4ff)
  • Let session owner add prepared chats (a7a5f2a)
  • Load controller state from session owner (67650c6)
  • Require explicit planning control for tools (74c4952)
  • Let chats own context usage updates (2351c35)
  • Delegate planning mutations to session owner (c723227)
  • Route chat mutations through session owner (6bf3ef0)
  • Introduce live session owner (e4b2069)
  • Use service terminology in chat runtime (499ecac)
  • Simplify chat runtime service paths (6b28335)
  • Compact whenever context exceeds threshold (734ec9f)
  • Refine read tool pagination (7469e8d)
  • Remove legacy engine chat runners (a203d81)
  • Convert remaining engine runner tests (f97f50d)
  • Drive engine tests through live chats (289a9c6)
  • Construct chat deps explicitly (90d1e6e)
  • Convert side chat and continue tests (471346b)
  • Convert prompt tests to live chat helper (f2276e2)
  • Add live chat prompt test helper (1fe055d)
  • Remove legacy chat runner fallbacks (baa4c7b)
  • Route manual compaction through chat service (4a86994)
  • Split chat tool turn service (1df7910)
  • Split chat turn preparation services (8f4698f)
  • Set dev script default web bind (4a678c0)
  • Introduce explicit chat runtime dependencies (6518f3c)
  • Move live turn loop into chat (257b424)
  • Centralize auto compaction checks (d7eea72)
  • Archive chats instead of deleting them (0f6b89c)
  • Wire restart button to process restart (d44496e)
  • Create manual chats from controller state (84d2cc6)
  • Remove agent chat start mutations (7fa455b)
  • Create tool chats from session state (ad6ce75)
  • Make planning mutations memory first (ddaae1c)
  • Persist tool results through live chat (195f55a)
  • Route planning tool writes through session control (bd1f1ab)
  • Route chat start through controller session state (2e74202)
  • Add C64 bitmap logo variant (97a48a7)
  • Add koder logo variant sheet (e8e4e1b)
  • Improve composer interrupt shortcuts (58935e2)
  • Remove old dev restart script name (e3492f7)
  • Signal restart-needed builds in dev script (e91b042)
  • Clarify webfetch model context behavior (09a5452)
  • Queue steers after active turns (583dbf9)
  • Skip restart auto-resume for queued user work (a6174a1)
  • Render queued user sends once (88ee0e7)
  • Keep compaction threshold session-global (a0e928a)
  • Refresh preferences after provider save (05eae23)
  • Add session details editor (8910068)
  • Make project root session scoped (9957bbe)
  • Remove session-level model state (3b0e43a)
  • Focus composer after UI reload (48ca838)
  • Honor compaction boundaries in compaction renderer (16ffcc9)
  • Add image previews for view_image results (bc37240)
  • Render compaction history as text only (acaffbc)
  • Render user badges inline (ded6e1a)
  • Classify stored auto resume messages (1f1cc44)
  • Persist composer drafts across reloads (ca01e48)
  • Distinguish user message sources in chat UI (3c5bf15)
  • Render auto resume as user message (2323270)
  • Stabilize git environment prompt (1505eb2)
  • Fail stale running tools on startup (7d8638c)
  • Keep dev restart alive after failed stop (44a7279)
  • Show managed exec processes in chat UI (c293263)
  • Add centralized code diagnostics and lint tool (2f4ff00)
  • Improve edit tool feedback loop (9047d07)
  • Loosen removed settings test (17d2f16)
  • Remove unused web UI settings (d9bc38b)
  • Remove unused UI preferences (bfbc7b3)
  • Remove cursor blink preference (bb0fb37)
  • Simplify edit matching (76410f5)
  • Serve debug endpoints from web UI (5ba73f4)
  • Avoid duplicate live prompt user items (3dddfd1)
  • Continue approved tools through live turns (f620f4e)
  • Compact active turns from live timeline (cdc640b)
  • Sync active tool results into live turns (19749c8)
  • Persist assistant messages through live turns (901a9f8)
  • Use live chat timeline for prompt turns (93ba473)
  • Use live chat timeline for continue turns (e4eff04)
  • Render queued steer messages immediately (e8d66aa)
  • Reset chat status after tool result (4c3c6ac)
  • Fix prompt auto-compaction target chat (3c7bf1f)
  • Show compaction preprocessing progress (1f31334)
  • Remove volatile time from environment prompt (4483eb9)
  • Show streamed tool call progress (bccd3e2)
  • Show LLM preprocessing progress in chat status (936c559)
  • Refresh queue after applying queued steer (32bb926)
  • Fail pending tools after process interrupt (5537143)
  • Fail in-flight tools after restart (9d8137e)
  • Show provider prompt progress status (d5f86f6)
  • Probe prompt progress opportunistically (b707ca7)
  • Auto-detect prompt progress support (bf0f386)
  • Raise default bash timeout (8d6076a)
  • Treat dev restart TERM as error (93379ca)
  • Clarify dev restart exits (88f0841)
  • Report dev server exit status (f980a0b)
  • Log dev restart watched changes (239ef10)
  • Bound dev restart shutdown wait (f1f123c)
  • Update planning sidebar from live state deltas (04b9f54)
  • Add composer queue controls (9a18943)
  • Keep multiple sessions active in web server (af0b2f6)
  • Add session rename and delete support (252c1b7)
  • Use chat model for active runs (8408f80)
  • Fix data race in Manager.publish on subscriber channels (73941a8)
  • Show chat context details on hover (a22ac34)
  • Detect active model context window (c7ae0d2)
  • Fix ineffassign issues found by golangci-lint (aba6708)
  • Render model errors in chat timeline (9635a89)
  • Split provider and model settings (8fbaf5b)
  • Repair provider settings after deletion (9ef1547)
  • Refresh models from live selector (e440c55)
  • Validate provider models from live probes (0b88c9a)
  • Add structured output exec mode (41fd639)
  • Add chat queue management helpers (558db4f)
  • Remove idle controller polling (81e3710)
  • Update README for browser agent (d22155d)
  • Remove apply_patch tool (05bc4d9)
  • Fix compaction model settings select (6877e4b)
  • Generalize subagent chat start (a804bce)
  • Move permissions to bwrap sandbox profiles (fe66810)
  • Style settings tabs as blocks (067b167)
  • Add structured permissions settings UI (02ca229)
  • Integrate provider and MCP editors into settings (e2074ec)
  • Restore saved compaction model option (ff89aee)
  • Remove topbar theme switcher (7e95952)
  • Resume last workspace session on startup (e352e0d)
  • Remove unused spinner preference (278def3)
  • Make code style a settings dropdown (90765dd)
  • Add slash command completions (bfbbab4)
  • Isolate agents project root fallback test (65ae2c2)
  • Add web settings dialog (ebb83bc)
  • Add preferences API (151197b)
  • Add managed compaction prompt settings (4d95ca7)
  • Stream compaction requests when enabled (c651093)
  • Remove legacy stored result parsing (ff0ffe4)
  • Remove backend clipboard package (888ac55)
  • Remove workspace web bind state (1670fbc)
  • Reuse global web bind (68cff5f)
  • feat: add koder skill verify command (fdb779a)
  • Tighten model option fallbacks (560a62c)
  • Simplify web bind startup (f43fe25)
  • Remove legacy permission migration (7f567bc)
  • Require tool call IDs for approvals (2d917e1)
  • Unify tool call permission preparation (eb619e9)
  • Remove unused Go helpers (b147cf8)
  • Manage system prompt as user asset (62ce8f9)
  • Sync bundled defaults into user assets (1881d53)
  • Align permission profile options with config (1fe44c8)
  • Constrain sidebar chat title overflow (5745c6f)
  • Show running tool name in chat status (31584d5)
  • Show model context and capabilities tooltip (82da829)
  • Persist and reorder sidebar chats (9315aa7)
  • Handle restart interruptions and auto-resume (be4d92f)
  • improve: skill list shows search paths and helpful hints (1d5cbc7)
  • feat: add koder skill validate and list subcommands (ff0421c)
  • tools: preserve request identity on Normalize failure (12bb029)
  • skilltool: remove permission bypass and output truncation (d4dd83d)
  • Support pasted images in web composer (eb49db3)
  • Compact web git sidebar summary (5268fd0)
  • Compact web chat list rows (aa7bbd2)
  • Show reasoning token count in web UI (e5f4a95)
  • Update web sidebar ordering and context (e89ef59)
  • Compact web sidebar layout (9d33b8b)
  • Refactor debug state for web clients (75fbb33)
  • Move web interrupt control to composer (80117cc)
  • Remove legacy terminal UI packages (507cb45)
  • Extract chat roles and permission profiles (9eed1c1)
  • Enforce workflow chat tool boundaries (fa4642e)
  • Refine milestone ownership lifecycle (9fd6a07)
  • Expose todo update IDs as UUID strings (120ac3e)
  • Probe readiness before web reconnect (3db3a44)
  • Accept UUID chat IDs in chat poll tool (2db5566)
  • Preserve accumulated streaming assistant text (35bde0e)
  • Stream mutated timeline item deltas to web UI (dc12361)
  • Keep web chat IDs as UUID strings (1298c46)
  • Use UUID IDs across persisted state (fee2609)
  • Use UUID timeline item IDs (1455fba)
  • Send persisted notices with status events (2bd646a)
  • Replace streaming temp items by sequence (c93abc2)
  • Render notices compactly in web chat (1bf7e36)
  • Compact failed command rendering (94a8bf1)
  • Use full width web chat turns (afdea3a)
  • Send compact web UI deltas after snapshot (235f513)
  • Stream live state for all session chats (fd3f8a1)
  • Inherit session permissions for new chats (27e5e7f)
  • Remove approved tools from sidebar immediately (ecb9a1c)
  • Allow parallel active milestones (61fcc2c)
  • Add cancelled milestones and sidebar planning tree (6bbd40a)
  • Encode empty tool arguments as objects (95131ba)
  • Store permission policy on sessions (c57a46d)
  • Keep web transcript anchored at bottom (af18c95)
  • Keep permission changes during runtime updates (468b951)
  • Fix Firefox web UI reconnect latency (ee437a5)
  • Keep active chat metadata in UI state (d4ed1d4)
  • Mark web UI ready after hydration (288d087)
  • Keep web reconnect under one second (66ce139)
  • Improve web UI reconnect behavior (8256bc5)
  • Add show image tool (c77fbd1)
  • Derive approvals from tool call state (bdbf1d9)
  • Keep code search language servers warm (35e2642)
  • Render approved tool calls as completed (2d07f0d)
  • Simplify web transcript turn styling (cd8c728)
  • Restore pending approval state after restart (70a8b18)
  • Load web app script before Alpine (864c446)
  • Embed web UI assets as files (217a2fe)
  • Revert Qwen tool replay argument change (f408c66)
  • Handle Qwen tool replay arguments (c00f25b)
  • Keep web transcript anchored at bottom (62914e5)
  • Vendor web UI runtime assets (12c83db)
  • Reset stores on schema mismatch (47607d6)
  • Back code search with LSP servers (5684b5e)
  • Replace streamed assistant with final item (447805b)
  • Start web transcript at bottom on load (455d3bb)
  • Add Go code search tool (b739074)
  • Show per-chat sidebar statuses (4ef0a7c)
  • Update generated chat titles (4873c88)
  • Preserve web transcript scroll position (31a821d)
  • Preserve parallel tool result attachments (482d06e)
  • Return updated state after web chat switch (35c1b89)
  • Avoid duplicate command in web tool output (f6db430)
  • Render compact web tool results (2f7c3c1)
  • Timestamp dev restart output (7534018)
  • Resume only current pending tool calls (18c52ec)
  • Render markdown in web transcript (4d21234)
  • Harden web UI reconnect sends (d0860fb)
  • Gracefully drain web restarts (d21c75e)
  • Reload web UI when assets change (acd50f6)
  • Store web workspace state in backend (5884cad)
  • Show live git status in web sidebar (4a8a66c)
  • Add web workspace session management (b4e105c)
  • Add web composer completions (bff9956)
  • Make web composer auto grow (67439bd)
  • Add web provider management dialog (0e83f09)
  • Add web chat deletion (a08d2db)
  • Add draggable web sidebar split (b83ae42)
  • Reuse web UI ports per workspace (8451dfc)
  • Show planning state in web sidebar (4dc565c)
  • Add web model picker (95836ca)
  • Handle web permissions command (08f9290)
  • Submit web composer on Enter (cf6b9fd)
  • Add web UI renderer (6167fb7)
  • Report full damage on retained repaint (127a509)
  • Fix retained sidebar clearing (e743da8)
  • Cover generic store transactions (29c8835)
  • Remove legacy stored tool argument parsing (03d69cf)
  • Dump session timelines (ba2a637)
  • Remove legacy chat transcript shims (a11cfcb)
  • Render app transcript from typed timeline (e9b33a8)
  • Remove legacy store transcript APIs (ca774af)
  • Load app and tool updates from timeline (adf1248)
  • Move tool results onto timeline items (bc9e85d)
  • Mirror legacy events into timeline snapshots (ba17815)
  • Project transcript from timeline at UI boundary (2e4fc4c)
  • Preserve legacy parts on timeline storage (2bec15b)
  • Introduce timeline-backed chat state (de01387)
  • Bind tool results to owning turns (b56031f)
  • Skip clean FPS frame renders (ff5bc1c)
  • Fix sidebar spinner retained repaint (f775b5d)
  • Paint retained column children in row bounds (f31782c)
  • Render tool runs as assistant turn children (bffd72f)
  • Update retained sidebar spinner on timer (8449828)
  • Compose sidebar from retained UI rows (3e51bc8)
  • Reject provider tool calls without ids (e97d4c0)
  • Move spinner animation ownership to ui (906bed0)
  • Repaint dirty retained container nodes (2de6a14)
  • Refresh transcript for runtime tool results (d257a24)
  • Reload sidebar details after planning tools (738c674)
  • Refresh pending assistant from chat deltas (8d9f8cf)
  • Cache transcript static prefix separately (acf7c6b)
  • Avoid transcript relayout on repeated busy updates (e25479a)
  • Stop provider stream emission on cancel (2d7db6f)
  • Render streamed tool call placeholders (485eeff)
  • Fix context estimate after compaction (043a09c)
  • Make escape interrupt active chat streams (83fd9e6)
  • Refactor chat state and add generic store collections (ccbf605)
  • Remove app chat state render graph (02e1f4c)
  • Keep loaded app chat state as snapshots (1e3bef4)
  • Render transcript from chat snapshot values (2673bd7)
  • Clean up app naming leftovers (a730f23)
  • Rename root UI model to app (8c40059)
  • Finish snapshot-only active app state (a65f061)
  • Centralize active snapshot metadata updates (573d975)
  • Centralize queue state updates in app (6209289)
  • Unify snapshot-backed state detection (682f001)
  • Centralize pending assistant state updates (af2c4de)
  • Sync active snapshot after local chat mutations (c229d88)
  • Avoid pending assistant mirror for runtime chats (c468a82)
  • Stop mirroring runtime chat records into app (8273503)
  • Sync runtime snapshot metadata on local events (6a9e12e)
  • Keep pending assistant snapshot in sync (752d9ec)
  • Build chat state from active chat snapshot (e2f901d)
  • Keep active queue snapshot in sync locally (f16527f)
  • Render pending assistant from active chat snapshot (730536e)
  • Read active queue state from chat snapshot (c6e89fe)
  • Reduce app mirror reads for active chat (7b70631)
  • Shift app toward chat snapshot reads (bf8b71f)
  • Move live chat runtime into chat package (53f4799)
  • Stage tool cancel before forced interrupt (75e35cd)
  • Refresh context after compaction completes (1378203)
  • Improve compaction card text and suppress duplicate render (2dff617)
  • Expose runtime state and approvals through chat runtime (f1aa326)
  • Route approval replies through chat runtime (f083f9f)
  • Make runtime authoritative for active chat updates (1f31f57)
  • Route loaded chat queue state through chat runtime (e916d90)
  • Move prompt and continue orchestration into chat runtime (31abfe3)
  • Derive live context from streamed chat content (76aa0ae)
  • Move context usage onto active chat state (e048628)
  • Add chat current context usage helper (b838697)
  • Anchor chat context on latest request usage (38cc897)
  • Bind active chat updates to in-memory records (926b207)
  • Use char-based live token estimates (d6ff46c)
  • Clarify ignored paths must not be committed (69cc380)
  • Document research agent comparisons (588a8a3)
  • Anchor context estimate on latest usage (c1831c8)
  • Expose live interrupt state in debug runtime (7620ea6)
  • Update tool runs in memory from event payloads (a32ce52)
  • Render requested tool calls before completion (6893281)
  • Add provider manager and cross-provider model picker (74240e7)
  • Accept reasoning-only compaction summaries (d391434)
  • Bind transcript messages to shared chat state (a7a1c35)
  • Refresh transcript when tool calls persist (6270acc)
  • Preserve esc interrupt during busy reloads (efbbb7f)
  • Simplify preferences dialog navigation (4b064f9)
  • Persist compaction kept-message boundary (140171e)
  • Show compaction lifecycle in transcript (d22ffd7)
  • Accumulate request usage into chat context (5d9c057)
  • Always show sidebar context usage (8afba3f)
  • Refresh transcript viewport on busy layout changes (a5d1c77)
  • Add compaction preferences and preserve tool batches (ec87a58)
  • Lower default auto-compaction threshold (0f12bb7)
  • Refine transcript status phases (91424d5)
  • Refresh after closing permissions picker (2844800)
  • Refactor parts to typed payloads (1f4c65f)
  • Persist chat context token accounting (7d19873)
  • Fix picker window close control (e02fa9e)
  • Add auto-continue preference (4db6a3d)
  • Fix modal repaint after handled input (761dfc8)
  • Clean up Go quality findings (1ab13a2)
  • Improve planning tool feedback (1ed0b16)
  • Use retained composer height after paint (af6449b)
  • Clone surfaces before overlay mutation (7c6c70b)
  • Paint main screen through retained canvas (3866cff)
  • Paint transcript viewport without surface snapshot (ca0c401)
  • Paint composer without intermediate surfaces (a8fcb8d)
  • Add env runtime profile capture (dd70498)
  • Optimize surface damage and retained cache (e54a6c8)
  • Reduce composer and text measurement allocations (e8461d3)
  • Slow spinner animation to 250ms (0a652be)
  • Add retained node focus and wheel routing (2ab95c1)
  • Let composer node own cursor blink (1943ae0)
  • Cache runtime environment prompt per session (5aece64)
  • Make alt-up restore queued prompts (9bcf135)
  • Add runtime environment context to prompt (ce55297)
  • Fix busy enter and tab queue modes (45d870f)
  • Replace main screen widget with flex nodes (fd08235)
  • Make main screen widget attribute driven (04152bf)
  • Split main screen UI nodes into tui package (a9be7af)
  • Fix clipboard test once reset (519f1e8)
  • Move app model out of tui package (6dc5a21)
  • Move CLI wiring into cmd koder (f7a411f)
  • Specialize chat viewport append rendering (8c15b69)
  • Move tool definitions into registry specs (cb601f6)
  • Move tool presentation metadata into registration (521b15a)
  • Use optional tool presenter interface (82e7b61)
  • Make tool result hooks optional (85e1c6b)
  • Make permission request helpers methods (37a0ab0)
  • Remove pass-through helper wrappers (acc6818)
  • Format TUI startup setup (2ae900e)
  • Convert UI helpers to methods (e5e694c)
  • Optimize UI text width measurement (d64cd4b)
  • Document UI layout helpers (ea08ad1)
  • Document UI package primitives (21e936d)
  • Coalesce streaming renders on frame ticks (a9e580f)
  • Defer idle transition until run completion (0f312ff)
  • Fix escape interrupt chat cancellation (b4a8695)
  • Tighten UI node contracts (f5b4897)
  • Encapsulate UI container child storage (97e923d)
  • Split UI container interfaces (b399568)
  • Adjust exec command run titles by status (fac8b76)
  • Retry transient chat EOF failures (bf9fdc4)
  • Track sidebar context as token count state (9d0330b)
  • Separate sidebar context estimate from usage totals (6d3994b)
  • Interrupt active runs from composer escape (884d921)
  • Cover queued reload stream preservation (2b30d2f)
  • Preserve pending assistant text across busy reloads (06f6c33)
  • Normalize usage updates for live sidebar (b51fded)
  • Block completed milestones with open todos (37dac72)
  • Space out sidebar sections and list planning items (e6275e5)
  • Track live usage in sidebar model state (b2c2da8)
  • Fix escape interrupt with focused main window (2516aff)
  • Tighten prompt against teaser stops and backtracking (d5ebfa2)
  • Add debug session continuation analysis (9630beb)
  • Render compact line-numbered edit details (40d97df)
  • Colorize compact edit diff summaries (3dfc08b)
  • Compact edit tool run headers (03ccb09)
  • Tighten tool-call continuation prompt rules (1bc6162)
  • Render edit diffs as summary-first cards (3ff68a9)
  • Clarify failed tool result rendering (8e86841)
  • Allow zero-based todo item IDs (ed89bc7)
  • Disable Qwen preset thinking by default (cda0907)
  • Persist sidebar width preference (2f1f714)
  • Swap sidebar width shortcut directions (5d4c2ff)
  • Lock sidebar width in retained flex layout (e73f195)
  • Add layout-safe sidebar width hotkeys (f16e65f)
  • Move composer blink timer ownership into widget (abc8949)
  • Self-invalidate composer node on text changes (1944ece)
  • Restore program tests after escape fix (c528c04)
  • Avoid swallowing text after escape (d43df58)
  • Add Qwen thinking token budget preset (585897d)
  • Add shared alt-word editing behavior (6065df7)
  • Wrap composer at word boundaries (b0dd73d)
  • Interrupt active runs with single escape (bb97c04)
  • Auto-expand composer for multiline input (c93b384)
  • Improve sidebar density and token stats (bb83e64)
  • Improve exec tool run UX (65a2c1d)
  • Guard fenced code blocks without info text (767bc16)
  • Auto-compact on tool result churn (9f15caa)
  • Summarize edit results for model context (951c379)
  • Switch TUI exec updates to subscriptions (606df7b)
  • Surface live exec sessions in the TUI (f88e873)
  • Add persistent exec tool family (7c36a3b)
  • Add exec session manager core (6714d48)
  • Add compaction fact carry-forward guidance (eb928ed)
  • Stabilize MCP tool ordering (7962848)
  • Add view_image tool support (b764d61)
  • Resync transcript click targets while busy (7e68e32)
  • Fix sidebar busy spinner animation (4c60266)
  • Embed agent system prompt markdown asset (3096492)
  • Show thinking indicator during reasoning streams (a08f1fc)
  • Set edit forgiveness default to 3 (618dacf)
  • Add edit forgiveness preference (df91614)
  • Tighten edit tool descriptions (5d2dc25)
  • Fix glob matching for root files (dd89e2e)
  • Tame automatic session title refreshes (890d592)
  • Backfill built-in permission profile rules (248846c)
  • Wire MCP manager into tool execution (f5a6c51)
  • Simplify MCP tool naming (e0b8a07)
  • Refactor MCP dialogs into reusable nodes (572783c)
  • Add remote MCP management UI (52a1e69)
  • Add remote MCP runtime and tool bridge (8ff2a74)
  • Continue after reasoning-only tool turns (07cb390)
  • Show reasoning-only assistant turns (125de5f)
  • Record SSE bodies in debug traces (0b29053)
  • Remove image capability heuristics (42769c8)
  • Probe image support on paste (fad7013)
  • Make composer tokens atomic (8c5af38)
  • Fix image send capability checks (3fbb845)
  • Inline attachment placeholders in composer (9fafeb2)
  • Use Wayland clipboard opportunistically (39025f8)
  • Add Wayland clipboard POC reader (47a2845)
  • Integrate draft images into composer (88c8de1)
  • Tighten markdown task list rendering (1c37a9d)
  • Add Chroma markdown code highlighting (2c67c05)
  • Complete markdown coverage rendering (e382151)
  • Surprise (b6e964f)
  • Add terminal color profile output mapping (9df0b69)
  • Remove lipgloss from UI and theme stack (ba080e4)
  • Tune retained runtime damage and add modal benchmarks (4e34f6a)
  • Expand retained UI benchmark coverage (aeddffb)
  • Add node boundary tests and cleanup test helpers (60accf1)
  • Migrate UI and TUI element composition to nodes (96a057b)
  • Narrow main screen leaves to measure and paint (bd2adea)
  • Compose retained main screen with flex nodes (f4bfe6e)
  • Enforce no legacy render API in ui and tui (5c8df49)
  • Delete render wrappers from transcript and tool views (ec827d2)
  • Delete render wrappers from layout and menu widgets (7350965)
  • Delete render wrappers from core ui primitives (9067d0c)
  • Rename dialog render entrypoints away from Render (55e9300)
  • Remove render fallback from element helpers (d457db4)
  • Make cached and transcript elements paintable (ec9ea6f)
  • Capture painted controls without runtime fallback (3692455)
  • Require window painter path in ui root (6474cb5)
  • Route model windows through painter path (9298ec6)
  • Route app surface rendering through paint helper (3498e68)
  • Move dialog renderers onto paint helper (9475782)
  • Move non-interactive surface callers onto paint helper (7570134)
  • Use scratch-surface helper for retained widget caches (36dcec6)
  • Remove dead RenderTo helpers (886105e)
  • Remove SurfaceRenderer from core UI widgets (1abe2d3)
  • Make main screen retained root satisfy ui.Node (11f0c99)
  • Add explicit retained prepare phase (ad20a0d)
  • Extract reusable managed retained element nodes (7c06893)
  • Reuse retained damage across main screen relayouts (c21d01a)
  • Drive main screen repaint through retained child nodes (b59fed7)
  • Paint remaining lightweight UI wrappers directly (2453c32)
  • Paint modal and picker wrappers directly (a638566)
  • Paint selection grids directly (ce9fbaa)
  • Paint menu and prompt wrappers directly (088465b)
  • Paint control rows directly (f8286f6)
  • Paint tool run docks directly (88882b5)
  • Paint transcript containers directly (492d6f8)
  • Paint assistant and reasoning transcript blocks directly (e674028)
  • Paint user transcript messages directly (ce63c02)
  • Paint hit boxes and modal frames directly (54d4bf5)
  • Track layout and paint dirty state in retained nodes (0687f56)
  • Add optional direct-painted window support (c45f8f4)
  • Move retained transcript pane onto element paint (dd95f64)
  • Move retained widgets onto direct element paint (a024e2a)
  • Add retained node layer for main screen layout (3a12a96)
  • Move layout widgets onto canvas paint path (a0d0576)
  • Move UI wrapper elements onto canvas paint path (97daed9)
  • Add direct canvas paint path for core UI elements (efc55c4)
  • Special-case composer cursor invalidation (c926829)
  • Tighten status widget invalidation (28d0e55)
  • Push UI damage tracking into main widgets (b076ac1)
  • Add rect-based UI damage tracking (b92a1f4)
  • refactor: render transcript widgets into caller surfaces (14a0a0f)
  • refactor: render simple widgets into caller surfaces (c38f8c4)
  • refactor: prefer renderTo in layout widgets (f7c2529)
  • perf: copy overwriteable blit spans (1d33a7c)
  • perf: pack cell flags into bytes (d3f9d4f)
  • perf: dedupe debug runtime snapshots (2909aec)
  • perf: store cell glyphs as fixed-width runes (243a051)
  • perf: flatten cell style flags (3ffe5cc)
  • perf: pack cell colors into rgba (45a2a2c)
  • refactor: move viewport rendering to caller-owned surfaces (fd50be4)
  • perf: cut cached transcript render churn (50dbd7b)
  • perf: gate deep debug and narrow frame diffs (54c61b7)
  • debug: trace streamed body timeout failures (6112897)
  • debug: record resume chat load timings (48c84e4)
  • debug: expose global recorder events (e5a658d)
  • refactor: move transcript rendering out of model (dacbce8)
  • perf: cache retained transcript heights lazily (6a200dc)
  • refactor: model transcript as stable tui items (883f305)
  • perf: stop transcript reconcile during live updates (0055d01)
  • perf: retain transcript item heights and surfaces (849d07c)
  • bench: measure streamed transcript updates (35779c0)
  • chore: add startup timing debug logs (78e47bb)
  • fix: omit empty tool-call content (11226a5)
  • fix: merge streamed tool call arguments (321b3f2)
  • fix: keep streamed transcript visible during turn (3077e7d)
  • fix: stop debug tracing from buffering streams (c138d02)
  • fix: update transcript live from streamed turns (a89e1f3)
  • fix: stream main chat responses (ea36be6)
  • refactor: drop auth method provider mode (b00269d)
  • fix: detect context for all compatible providers (bb68798)
  • fix: detect vllm context window from model list (50d833e)
  • ux: make tool turn preference directly editable (9a094fc)
  • feat: raise and configure tool turn limit (dd25949)
  • ux: add chat switch hotkeys (34fe34d)
  • ux: clarify read transcript paging summaries (37c14b6)
  • fix: paginate read tool against real files (a6aa4ad)
  • fix: return tool persistence marshal errors (5027032)
  • fix: return grep execution errors (b9668e5)
  • fix: wrap markdown tables to transcript width (854f5c2)
  • fix: tighten reasoning transcript spacing (68310bb)
  • fix: keep half-block separator rows transparent (4a6aaf8)
  • fix: restore half-block bubble separators (27007cb)
  • fix: invert half-block transcript separators (c600d5b)
  • ux: document queue editing in help (2683e7d)
  • feat: add bang shell escapes in composer (7cf55ca)
  • fix: show italic reasoning without viewport jumps (fc07411)
  • fix: persist selected provider with model (33c5908)
  • fix: clear cached slash command composer state (2039c81)
  • fix: allow optional provider api keys (8c595cc)
  • chore: fix golang lint findings (4312de7)
  • feat: add model presets for request shaping (41f20b3)
  • test: cover chat and milestone tools (5e5e665)
  • test: cover core and simple tool packages (8c735ed)
  • test: cover chat runtime and references (8a88d5b)
  • test: expand app and version coverage (ede9f11)
  • docs: refresh architecture and testing guidance (ec6b44e)
  • Add persistent chat input queue (a47bb37)
  • Fix queued steering preview wording (c316a60)
  • Add wrap-aware inline toolrun controls (2956af3)
  • Fix edit toolrun expand hitbox (f44ffcb)
  • Split bash command and output expansion (edff717)
  • Add transcript item debug geometry (7ff1804)
  • Render edit tool expansions as unified diffs (70e5918)
  • Remove ANSI styling from AGENTS sidebar status (c491f7d)
  • Make approval UI modal and scope permissions by chat (297cd44)
  • Refresh approval prompt on keyboard navigation (b77dcdd)
  • Instrument chat load timings (cdc7bd6)
  • Add worker chat orchestration tools (715bdb4)
  • Make runtime chats session-scoped threads (81e6648)
  • Add chat entities under sessions (53b3ec3)
  • Collapse UI layout to FlexBox (323664e)
  • Remove dialog dot imports (4f7bd9e)
  • Simplify staticcheck append loops (3ea14bf)
  • Fix staticcheck type conversions (fa330d1)
  • Split milestone and todo tool packages (89f4b83)
  • Split milestone planning into add and update tools (7cd4a95)
  • Add session milestones and todos (6c9932e)
  • Accept alternate reasoning field from providers (fe2f976)
  • Upgrade web discovery and fetch tools (cedf409)
  • Upgrade grep tool guidance and fallback (010c4cf)
  • Use colon-style read line prefixes (e64e22c)
  • Normalize tool integers and persist arg failures (19b2b2b)
  • Remove sidebar left border (4a17661)
  • Narrow tool run expand hitboxes (42eeb76)
  • Stop inheriting tool output subtitles (f4d42c4)
  • Add generic scrollbox for transcript rendering (d80ce3d)
  • Remove transcript border and sidebar divider (6f6315b)
  • Initialize composer focus and blink state (7a72331)
  • Collapse prompt instructions into one system message (8f53397)
  • Simplify tool run transcript assembly (71aae9f)
  • Fix resumed tool run titles (2903ac5)
  • Tighten bash and edit transcript cards (4d2df82)
  • Clarify read tool guidance for models (63c473b)
  • Tighten collapsed read tool transcript cards (1dfcb36)
  • Remove llama.cpp provider special casing (880fb2a)
  • Detect context window for compatible local providers (ce98aa4)
  • Handle model tool loops gracefully (9309d94)
  • Improve compaction continuation and transcript log (4efc93d)
  • Accept integer-like bash timeout strings (a6962eb)
  • Decode esc-prefixed alt keybindings (fa107b4)
  • Force full redraw after terminal resize (a264daf)
  • Clear removed rows when terminal shrinks (0d9b44f)
  • Fix live transcript control hit testing (0f618a7)
  • Add live input to debug API (1a0d7db)
  • Fix expand click hitbox in bordered transcript (95421df)
  • Remove main pane right gutter (6800d25)
  • Make composer fill transcript width (7e250af)
  • Tighten transcript and composer layout (ce96bf1)
  • Add border around transcript pane (63f0b11)
  • Refresh transcript surface on mouse scroll (18025f5)
  • Fix transcript bottom alignment (0cdd048)
  • Fix transcript tail grouping and user row background (4fd726b)
  • Use exact transcript heights for bottom offset (c66b0b1)
  • Fix box layout fill semantics (355ec58)
  • Make cached transcript fill its viewport (0c8a7a9)
  • Tighten composer spacing and add layout debug tint (4bd43ba)
  • Fix transcript clipping above composer (09ba723)
  • Expose build metadata in debug runtime (353f703)
  • Move transcript status out of the transcript column (a6a9c91)
  • Handle zero bash timeout as default (cb2f7ff)
  • Fix mouse clicks on cached tool run expanders (f9348b3)
  • Remove dead UI and agent code (f2ac4f2)
  • Count down rate limit retry status (529f5fa)
  • Highlight selected theme grid cells (aec7c93)
  • Add inherited UI cell compositing (6ec415a)
  • Compose theme chooser from TUI grid dialog (98691f2)
  • Keep picker buttons visible (5404c20)
  • Add structural UI cache invalidation (6d293d7)
  • Refresh transcript colors on theme preview (8d3cfce)
  • Retry rate limits and persist terminal notices (7b78129)
  • Fix connect dialog button activation (c3c1f01)
  • Simplify connect dialog status and fields (d7d3314)
  • Compose dialogs from window frames (87cea52)
  • Compose dialog chrome from border primitives (9b8a032)
  • Use generic input field in connect dialog (41bc39f)
  • Compact connect dialog form fields (c244fb4)
  • Compose connect dialog form layout (17adfc3)
  • Render assistant markdown with styled spans (99bc2c5)
  • Improve TUI redraw caching (c1ad3ec)
  • Refactor tui main screen rendering cache (9f31743)
  • Patch composer updates into cached main view (bcfbe1a)
  • Update retained transcript incrementally (ca616f6)
  • Speed up composer query parsing (355576a)
  • Sync composer redraw with window focus lifecycle (b1f8520)
  • Use structured key decoding without string fallbacks (480527c)
  • Move tea runtime into ui package (259e96d)
  • Fix main-window key dispatch after resume (ae2d33e)
  • Strengthen box layout and remove tea string fallback (6ac924f)
  • Apply box alignment in visible element wrapper (c1e16e3)
  • Add shared box props to visible layout elements (d164068)
  • Declare main screen with visible layout primitives (a4fcd59)
  • Retain transcript viewport and split activity row (5909966)
  • Speed up plain text wrapping (e046761)
  • Make transcript resume rendering lazy (56b5205)
  • Remove duplicate composer blink scheduling (51b938e)
  • Fix root mouse dispatch regressions (d8daa8a)
  • Simplify dialog command handlers (0d87a22)
  • Remove legacy dialog routing helpers (708a067)
  • Retain transcript container and root timers (4574ede)
  • Retain transcript viewport rendering (8c86400)
  • Add retained UI root runtime (a1ba92e)
  • Harden terminal key event decoding (c4a43d0)
  • Stop hidden composer blink loop behind dialogs (1aca889)
  • Expose pprof on debug API (34c9c4c)
  • Keep live surfaces cell-backed during composition (f2a467b)
  • Back off input loop on empty terminal reads (861de07)
  • Store resolved RGB and text attrs in surface cells (0960827)
  • Use explicit SGR output in terminal serializer (b146b1c)
  • Reduce dialog string round-trips in UI (ffe9062)
  • Render live TUI frames from surfaces (4cdd411)
  • Avoid restyling rendered TUI screens (7b50414)
  • Keep render caches alive across TUI redraws (db696ca)
  • Tighten UI ANSI output boundary (2d4d677)
  • Enforce plain-text UI rendering boundary (43b9aae)
  • Stop leaking styled previews into session dialog (73567ef)
  • Finish shared UI cell-surface transition (2d0f8b1)
  • Render shared menus on cell surfaces (c5749c6)
  • Render shared frame widgets on cell surfaces (eabeb29)
  • Render shared controls on cell surfaces (e97ab46)
  • Move hot UI paths onto cell-buffer surfaces (3b48d79)
  • Diff terminal output by changed rows (7cd92be)
  • Cache rendered transcript blocks for viewport refresh (91d545a)
  • Cache composer query parsing by revision (a454fac)
  • Reduce textarea typing allocations (53ef884)
  • Avoid full-screen string rebuild on input (d721451)
  • Render terminal frames without newline auto-wrap (dc4d94c)
  • Add UI and TUI benchmark suite (5a34a5d)
  • Replace Bubble Tea dependency with local UI runtime (e696658)
  • Trim remaining UI wrapper surfaces (eaf1c48)
  • Remove transcript and toolrun fallback helpers (28e6620)
  • Remove dialog compatibility render paths (695f1d4)
  • Render remaining UI leaves from surfaces (2a7ed56)
  • Render menu and toolrun leaves from surfaces (edbb12f)
  • Render control leaves from surfaces (c6fcf14)
  • Render composer leaves from surfaces (0782886)
  • Render transcript leaves from surfaces (72ccca0)
  • Replace transcript viewport with local state (c2ccd4b)
  • Remove dialog mouse compatibility layer (e3fd3c7)
  • Handle transcript wheel scroll locally (15781fd)
  • Route centered dialog clicks through runtime (4f91ed6)
  • Render LLM preview through scroll element (4eb723d)
  • Render transcript pane through scroll element (a10b772)
  • Use shared list widgets in connect flow (4b7fa74)
  • Move selector dialogs onto shared widgets (5018db3)
  • Add split, section, list, and table widgets (3055fc7)
  • Fix sidebar width in body layout (bcdaa10)
  • Add framed window titles and close controls (b0b9f36)
  • Add selector headers and tighten model picker (def0263)
  • Keep model picker height stable near list end (02c8476)
  • Fix modal border width alignment (fbf9595)
  • Clamp session dialog to terminal width (41ae5d5)
  • Use runtime controls for transcript tool cards (4a8dc44)
  • Route dialog clicks through ui runtime (9ba6ab3)
  • Remove main-screen static layout fallbacks (4efea3e)
  • Render dialog bodies as UI elements (dfec498)
  • Render history menu as UI element (5c11dd3)
  • Render transcript through UI elements (f1c8b50)
  • Render main screen at full width (ef8034c)
  • Avoid rendering before terminal resize (1b99dcc)
  • Render dialogs directly as UI elements (0b46451)
  • Render footer overlays as UI elements (3abc5b3)
  • Compose footer and body from UI elements (38f4fe4)
  • Move dialog rendering onto text widgets (3814f3f)
  • Add text-mode UI element foundation (0bb0790)
  • Right-align dialog button rows (6ecab98)
  • Use blank lines between non-user transcript blocks (62673cd)
  • Fit dialog width to button rows (b0b6763)
  • Improve model picker row layout (f6a4e13)
  • Simplify model picker rows (a6cc668)
  • Align working indicator with composer text (ed5577a)
  • Align user transcript text with composer (be71775)
  • Render tool card subtitles on separate lines (13bde37)
  • Fix grep file path scoping (08877a9)
  • Improve grep tool card summaries (11914f3)
  • Add spacing between consecutive tool runs (6b3ec6e)
  • Move app-specific dialogs out of ui (f86f883)
  • Restore queued prompts to composer with alt-up (d569253)
  • Render queued prompts above composer (916708c)
  • Preserve scrollback during spinner updates (1c1f248)
  • Add spacing before tool runs after assistant text (9fe60ee)
  • Show optimistic user messages before prompt start (e9f0710)
  • Store tool narration as assistant text (c275f8f)
  • Refactor UI renderers into widget methods (0c8375a)
  • Refine UI focus styling and composer rendering (3fbf7a8)
  • Add explicit selection and focus colors (003c569)
  • Fix hidden placeholder cursor coloring (4d4881b)
  • Render placeholder cursor on first character (e7420cb)
  • Show composer cursor with placeholder text (9bdd91a)
  • Make composer cursor blink optional (a9bda33)
  • Stabilize textarea cursor blink (c783440)
  • Fix local textarea input and cursor blink (67487ba)
  • Move custom textarea under ui (bfcb07a)
  • Replace composer with local textarea (adc519d)
  • Add structured @ file references (ecea101)
  • Scope session resume to the current cwd (a59b2c8)
  • Preview next LLM request from Alt-O (ebd47b5)
  • Show edit replacements with line numbers (82c3b30)
  • Hide usage system notices in transcript (dd57bbe)
  • Add raw tool output modal hotkey (3700538)
  • Expand write tool output in transcript (72c0ef9)
  • Add CLI workdir startup flags (12575ce)
  • Use root base URLs for llama.cpp (bc58332)
  • First self improvment w000t (5241b40)
  • Fix llama.cpp props endpoint detection (6acf036)
  • Detect llama.cpp context window at runtime (c4c6466)
  • Add inline composer history search (2d230f4)
  • Detect llama.cpp context window on connect (6f3de3c)
  • Refine session picker layout (d073ed9)
  • Add composer prompt history navigation (94f6f29)
  • Render session previews like transcript (4b7583c)
  • Add hotkey for system transcript toggle (43889f6)
  • Ship tool failures back into the model loop (6c7e595)
  • Relax skill and read-ask approvals (f32d44d)
  • Add toggle for system transcript output (4654e04)
  • Add Codex-compatible skill discovery and mentions (4e7f17f)
  • Queue busy enter as steering (9627274)
  • Preserve spinner during transcript reloads (3c83d63)
  • Add per-session tool toggles (2c1a32e)
  • Right-align dialog button groups (f53f40d)
  • Refactor dialog controls into interactive widgets (154def1)
  • Compact sidebar session details (ffc27ce)
  • Simplify sidebar profile display (3bb8428)
  • Remove approvals from sidebar (ebe64b6)
  • Simplify AGENTS sidebar status (e2e04ea)
  • Move sidebar shortcuts into help dialog (1eae6e7)
  • Improve selector dialog layouts (d698ed9)
  • Persist typed tool result payloads (7bb714e)
  • Make tool loop step limit configurable (ad30bef)
  • Compress transcript tool run rendering (09c11f5)
  • Allow reading current workspace directory (8de3570)
  • Improve provider connect model defaults (bae05c1)
  • Fix picker row selection highlight (364d37e)
  • Fix session dialog row rendering (731a6cc)
  • Run batched tool calls in parallel (f57bc69)
  • Add popup button hotkeys (8691cac)
  • Add in-place permission changes for approvals (c09cef7)
  • Standardize centered modal picker layouts (7685dee)
  • Add deferred permission steering and continue hotkey (effe1c3)
  • Simplify permissions command handling (cebe917)
  • Refine tool run expand labels (95a7e1f)
  • Add mouse toggle for tool run output (8b57592)
  • Add project-scoped permission modes (0f5e9de)
  • Avoid duplicate approved tool output (9171d35)
  • Harden core tools and add missing editors (89e3e16)
  • Add AGENTS resolution and drift tracking (362f298)
  • Refactor tools into self-registering modules (ba74b0d)
  • Polish grouped tool run summaries (320f3ba)
  • Group tool runs in transcript (b6e0360)
  • Fix permission wildcard matching (f131f32)
  • Cache inferred model capabilities (aa376c3)
  • Require explicit attachment state dirs in tests (f4fcb97)
  • Add attachment handling across agent and TUI (b087e93)
  • Add attachment storage foundation (1cb74df)
  • Add clipboard copy and paste support (e70acad)
  • Add queued prompts and esc interrupt (f4111da)
  • Rename prefs slash command (aebae1d)
  • Restore base color after markdown spans (bfe6973)
  • Restore assistant transcript coloring (91490f0)
  • Tighten half-block transcript spacing (25233be)
  • Restore transcript line wrapping (6febb10)
  • Sync tab title on session rename (af5b191)
  • Print exit summary for pointer models (8236215)
  • Silence Pebble startup logging (07938e6)
  • Handle ctrl-c through TUI quit path (9e2eaec)
  • Print TUI exit summary (f21bec4)
  • Use structured provider tool calls (b9c33a6)
  • Treat modified enter as composer newline (0dc7ded)
  • Clamp sidebar height to transcript pane (1470646)
  • Expose viewport state in debug runtime (6b3cb9f)
  • Keep debug status out of main pane (0200a47)
  • Add resume and fork session commands (4cb9386)
  • Clear busy state after starting draft session (9122c52)
  • Surface debug API in UI and CLI (fd5bf04)
  • Add live debug API and runtime recorder (3afa0e0)
  • Show tool executions and idle tab titles clearly (994c820)
  • Sync terminal title with spinner and session (80651dc)
  • Add configurable spinner styles (0be0b54)
  • Fallback to message summaries in transcript (b29f52f)
  • Add model selection workflow (55a7c80)
  • Add provider disconnect command (00fd0c0)
  • Support cursor movement in connect fields (39aabcb)
  • Compact provider selection rows (ebd5cb1)
  • Improve connect dialog field editing (565ccb4)
  • Add interactive provider connect flow (dc69aab)
  • Add provider catalog and flexible startup (78dd329)
  • Require explicit provider configuration (6aad03e)
  • Move main TUI rendering into ui package (8c44cc5)
  • Wire dialogs through shared UI components (d168c5d)
  • Add composable terminal UI package (0b554b2)
  • Center the session resume dialog (886dbb5)
  • Use full accent block on content rows (2e30de4)
  • Match half-block accent height (503e399)
  • Carry accent strip through half-block rows (9742fdd)
  • Add optional half-block chat rendering (6a175b5)
  • Tighten composer box rendering (08f5605)
  • Replace SQLite store with pluggable JSON backends (c6e2798)
  • Import full theme catalog (55a9153)
  • Fix slash autocomplete for arg commands (218a968)
  • Theme the sidebar panel (3e40ae5)
  • Add reusable theme picker (3e55caa)
  • Render compaction parts as markdown (3f758fa)
  • Fix TUI terminal height calculation (84912ef)
  • Import curated OpenCode theme palettes (3ea0035)
  • Upgrade markdown parser and renderer (ad6a47e)
  • Hide system notices from transcript (f608c28)
  • Centralize TUI busy spinner state (128c57d)
  • Fix full-width user message bubbles (d3f5891)
  • Show backend failures in transcript (df2e32b)
  • Add named TUI theme palette (a050fb1)
  • Add context metrics and session compaction (a426560)
  • Anchor chat input to bottom edge (a066a82)
  • Animate bottom working spinner (6dcfc07)
  • Move hotkey hints into sidebar (e690544)
  • Show bottom spinner only during model work (6c6c1a8)
  • Keep markdown lists compact (aeb9c7e)
  • Replace glamour with native markdown renderer (6293d46)
  • Move session status fully into sidebar (be2ba44)
  • Fix user prompt bubble background rendering (5a8d77b)
  • Move status to sidebar and transcript (2028431)
  • Clean model context serialization (8baa57f)
  • Respect configured mouse state on startup (6639786)
  • Separate slash commands from tools (6cf90be)
  • Make mouse capture opt-in (ab8514a)
  • Refresh chat on persisted turn events (e5e0c1b)
  • Render user prompts as chat blocks (8f67baa)
  • Enable mouse scrolling in transcript (3f23aea)
  • Show user prompts immediately on send (d81b567)
  • Refine reasoning block rendering (6f63d69)
  • Render reasoning before assistant output (c027814)
  • Show per-file diff counts in sidebar (1c1d046)
  • Improve runtime feedback and commit discipline (6e89347)
  • Implement initial koder TUI workflow (2da3d75)
  • Initial commit (cd74625)