Skip to content

v0.1.99-alpha.361

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Sep 20:53
· 25 commits to main since this release

Codevisor 0.1.99-alpha.361 Alpha

Added

  • add recovery and compatibility controls (c2fc2d0)
  • add update review experiences (bc737dd)
  • add prepared registry updates (a4c83ad)
  • make installs and updates transactional (43ef27f)
  • add update compatibility foundation (9cae94d)

Fixed

  • disable OPOST on the proxy's local pty (8cc9501)
  • import join in dev-shared.mjs (bf73034)
  • use Ghostty's default JetBrains Mono instead of Menlo (bb3101b)
  • keep the cursor visible on app-painted dark backgrounds (ef8773d)
  • hand off workspace panes without flicker (765e538)

Changed

  • Make server update timing tests deterministic (f6d9b70)
  • Split PixelBook checkmarks and dividers into separate stories (6148f27)
  • Centralize composer picker filtering in Autocomplete (39f33c9)
  • Suppress autocomplete hover effects while scrolling (91ea3a9)
  • Show alpha build for remote servers (fb81e79)
  • Show alpha build in current app version (2c0e646)
  • Rebuild the composer's run-target pickers on Autocomplete (759f081)
  • Give Autocomplete menu features: check column, dividers, keylines, footer items (f3f0053)
  • Rename General settings sidebar item (9ad61e5)
  • Give a managed Chromium 90s to publish its debugging endpoint (744a50b)
  • Tighten iOS project rows: closer folder glyph, less vertical padding (aede2f2)
  • Give iOS disclosure toggles an update pass of their own (9783868)
  • Animate iOS project disclosures off view-owned state (78266cf)
  • Toggle iOS project rows from anywhere on the row (85b838c)
  • Shorten iOS project rows to a true single line (47b3458)
  • Drop the machine line from project folders; single-line project rows on iOS (249941b)
  • Carry the run target across a machine switch when the other machine has it (6273bb4)
  • Scope the composer's project picker to the selected machine (da26d1a)
  • Stop the New Chat page defaulting to the newest project when none is picked (9bd1b6e)
  • Show a retained scratch-backed draft as No project in the pickers (edd8617)
  • Never restore a draft onto a no-project chat's scratch folder (12de31f)
  • Never cut a worktree for a no-project chat's scratch folder (043987e)
  • Bring linked projects and no-project chats to iOS (4dbda9e)
  • Let a chat start with no project, and pick projects fleet-wide by repository (0f27d19)
  • Fold the same repository on several machines into one sidebar project folder (bc54304)
  • Model linked projects as cross-machine ProjectGroups on the client (ac7d4fd)
  • Discover and expose each project's git remote as a cross-machine repo identity (4ed4371)
  • Keep Settings usable after update failures (0b78d59)
  • Fix Claude account switching across chats (28673d4)
  • Keep the transcript selection through a secondary click (a1ba01e)
  • Protect app updates from duplicate launches (f7aefec)
  • Show plugin icons in Nous sidebar tabs (8415bec)
  • Keep Nous sidebar rows at the primary label color (daeeae6)
  • Keep a chat-less workspace routable while it still shows a terminal or plugin (1165106)
  • Remove post-crash diagnostic notice (e623a83)
  • Give Autocomplete items first-party icon and shortcut slots (40dde7d)
  • Focus the New Tab picker on ⌘T (d3ddfb6)
  • Rebuild the New Tab page on Autocomplete, with host-driven input focus (d8d6e52)
  • Turn the ⌘J bottom panel off in Nous mode (b1f3e81)
  • Keep the model picker when Claude's model list loses its startup race (e0c9443)
  • Start the local server through launchd only, with a full startup timeline (6ca1ca7)
  • Render shell output in transcript disclosures (54a9c59)
  • Extract the model picker into an Autocomplete package, with a PixelBook gallery (53cb8ed)
  • Check the restart gate synchronously before the in-flight prompt holds (4782055)
  • Update through chats: drain-and-resume, headless Sparkle, Settings-only update UI (8562176)
  • Give MCP servers one owner of enabled, stable machine ids, and live rows (b2cbc76)
  • Fade macOS transcript beneath composer (3f281e4)
  • Update reference repositories (5823098)
  • Add ⌘⇧T to reopen the most recently closed pane (8b739f1)
  • Drop the ⌘N hints from the Nous sidebar rows (592ac29)
  • Name the selected tab in the Nous header, with its context as subtitle (ce02ba3)
  • Use native workspace backgrounds (ae4832f)
  • Select transcript text across rows; unify quote bar rendering (14b520e)
  • Add Nous sidebar mode: workspace tabs and panes as sidebar rows (1733f53)
  • Keep streaming lists in one transcript row; re-home chats on route flips (25768ee)
  • Re-upload composer attachments when a draft is retargeted to another machine (cc98bd7)
  • Show a failed turn's error where it happens, only for the latest turn (6feb69e)
  • Fix configured machine cloud relay routing (e9ad893)
  • Fix cloud relay recovery and first-send handoff (c73fdee)
  • Switch Swift indentation to 2 spaces (0743409)
  • Prevent sidebar empty-state overlap (50ec440)
  • Converge managed skills on the newest packaged source (a17238b)
  • Persist tool artifacts as attachments and report leftover tabs on failure (56fcdc8)
  • Give Browser Use a presented pointer, Playwright-shaped input, and tab groups (d3ea9c9)
  • Animate split panes without remounting transcripts (83d5ee6)
  • Give integration-heavy packages a CI-realistic test budget (d571f57)
  • Give server and OpenCode auth tests a CI-realistic budget (218411e)
  • Render every Settings list action as a trailing footer (e4dcf00)
  • Keep the config sync test off the npm registry (518f035)
  • Confirm before quitting on ⌘Q (70fd103)
  • Offer this Mac when New Chat waits on an unreachable remote machine (083cb28)
  • Split every grandfathered TypeScript file under the 500-line rule (7c13a16)
  • Clear the SwiftLint baseline and drop it (0c4ea8a)
  • Keep a following reader pinned to the bottom without a streaming row (2d8514a)
  • Polish iOS navigation icons (d03eed6)
  • Keep the settled Markdown text view from claiming the Quick Look panel (3dd32df)
  • Open linked workspace files in Quick Look from every transcript row (83d2e69)
  • Improve remote browser setup flow (2ff921b)
  • Let list item content take the row width in the recursive list view (a4b1557)
  • Measure the text a size probe is given, not the view's previous content (8f5f47a)
  • Render a tight one-paragraph-per-item list with the simple list geometry (bb4d9ce)
  • Keep a streaming list on one native text view while it is typed (7996f40)
  • Keep the deferred active placeholder empty until its rows publish (cd232b3)
  • Skip laying out the active placeholder before the transcript reveals (babc69d)
  • Add opt-in micro-benchmarks for the transcript surface layer (9581c46)
  • macOS: let wide tables bleed and scroll through the transcript like iOS (1163009)
  • macOS: scroll settled-transcript tables horizontally too (b6750b6)
  • macOS: scroll wide markdown tables horizontally instead of shredding columns (958baba)
  • iOS: report empty transcript rows so the initial presentation gate can open (98bc2ef)
  • Fix blank transcript when opening a chat mid-stream (1da9307)
  • Phase 5: prune the SwiftLint baseline (a8f6a98)
  • Phase 4: split the session shells by concern (278bb30)
  • Phase 3: one transcript row dispatcher for both platforms (cf282b1)
  • Phase 2: share the transcript surface's platform-neutral helpers (7a877f4)
  • Phase 1: extract the transcript surface's pure logic into TranscriptKit (443643b)
  • Phase 0: seam the transcript surface for extraction (c8d1d5f)
  • Make connection recovery tests deterministic (d702ce5)
  • Truncate long model names in composer (957dbd8)
  • Make stale streaming parse test deterministic (3bd38fd)
  • Even out the run-target pill's hover highlight (fccabae)
  • Split workspace divider grip from split view (33c066d)
  • Stabilize transcript send animations (17b1c6e)
  • Hide the split pane header when a tab has one pane (d12e936)
  • Remove obsolete Claude plan (3a157e8)
  • Present composer attach-files picker as a window sheet (2331a9f)
  • Fix transcript streaming and duplicate sessions (0118cae)
  • Fix model selection after onboarding (67e680e)
  • Restore portable SwiftLint baselines (295877c)
  • Fix iOS presented-turn read receipts (b555703)
  • Remove bundled git diff plugin (3ff37fa)
  • Fix cloud-machine connection wedges and iOS catch-up churn (bf40fe6)
  • Decouple local server lifecycle from composer machine (86ff843)
  • Move license badge to second row (6960e8a)
  • Move release badges to first row (2251907)
  • Reorder release and Homebrew badges (56ced7a)
  • Remove deployment target badges (2ecf50d)
  • Add deployment target badges (4343fa2)
  • Add downloads badge (3f1af34)
  • Preserve new chats during stale refreshes (322e94b)
  • Use Mac computer name for local machine (d0363fa)
  • Prevent streaming animation replay on transcript reopen (6fbf24c)
  • Fix cross-device transcript hydration and initial wrapping (d7303fc)
  • Dismiss update sheet before app update (62872f4)
  • Clean up transcript rendering and pagination (f7d6ef0)
  • Refine transcript streaming and virtualization (84a136b)
  • Rebuild settled transcript rendering with TextKit 2 (196655b)
  • Optimize transcript rendering lifecycle (96ed575)
  • Fix iOS folder name capitalization (ae125e4)
  • Fix macOS history loading indicator (d244265)
  • Prevent auth probe failure feedback loops (d04e2f3)
  • Fix todo panel intrinsic height (8698502)
  • Optimize transcript disclosures and file diffs (80b979f)
  • Drive transcript presentation from native frames (7e55aca)
  • Restore transcript viewport by block anchor (60b1145)
  • Replace Shiki with native Swift syntax highlighting (b5e380f)
  • Keep active row updates constant-time (11f8b95)
  • Virtualize plan documents by Markdown block (7491ded)
  • Virtualize active responses by Markdown block (2815905)
  • Unify active and settled Markdown block projection (4a803b1)
  • Virtualize settled assistant responses by Markdown block (734bc3c)
  • Extract Markdown parsing into shared core (0939221)
  • Preserve Markdown block identity across streaming updates (f172e31)
  • Keep Markdown block geometry stable on completion (a78b13f)
  • Replace custom Markdown parser with MD4C (33936bb)
  • Prevent cloud twins from corrupting sidebar navigation (772cdc1)
  • Use mini scroller in model picker (087204d)
  • Size model picker popover to content (c8a367d)
  • Remove sign-in rows from model picker (731005e)
  • Add favorite models to picker (83d6af8)
  • Make SwiftLint baseline portable (89340a5)
  • Polish macOS model picker (03dbee7)
  • Use native alerts for unavailable machines (9e9d16e)
  • Allow updates to quit through the update sheet (c76f62b)
  • Use hostname and filled machine icons (c981eae)
  • Replace quiet-turn sleeper with scheduler (ff2132b)
  • Disable native Codex skills in Codevisor (78ee83e)
  • Build cloud Tailwind CSS through Wrangler (7502468)
  • Preserve composer selections across machines (ec5d254)
  • Stabilize CI timing tests (0baaaae)
  • Fix iOS navigation list bounds (d04ae87)
  • Make quiet-turn timing tests deterministic (403c6a7)
  • Refactor harness machine settings state (e045c58)
  • Refactor harness enablement semantics (28d6783)
  • Persist session checklists across clients (23e4060)
  • Add empty navigation group toggles (9a92bf8)
  • Fix Settings-only machine preparation (6435259)
  • Move harness actions to section footer (d270b4e)
  • Fix split chat pane lifecycle (a5917ef)
  • Scope file drops to chat panes (e1ab41a)
  • Add verified harness installers (863dfe3)
  • Align uninstalled harness settings rows (468538b)
  • Remove model picker chevron (8b6a64d)
  • Polish iOS project selection flows (9bdee30)
  • Improve native model and harness workflows (cddbd55)
  • Show machine names in macOS Agents sidebar (88801b4)
  • Route chats by their machine without global selection (c4aa43f)
  • Make project creation native across platforms (1271ef0)
  • Reorganize native settings tabs (b4780fe)
  • Re-poll notarization when Apple's API drops the connection (cb49f47)
  • Bring back the development account, driven by the dev cloud itself (6c12d72)
  • Dev cloud: only the Dev Cloud machine is pre-signed-in (c1d144d)
  • Single-machine fleets no longer show fleet actions twice (e0ad6a5)
  • Delete All Data really deletes everything local, and iOS confirms natively (437c6a0)
  • Add "Manage Machines…" to the composer's machine picker (e1cc1e3)
  • Background machines connect in parallel with the selected machine (59bb230)
  • Every machine lands its own sync state — the fleet fix, properly (2899762)
  • Anchor the first-launch sync deadline against machine-list churn (9adcc25)
  • Retire "selected machine" from iOS sync UI; a selection is a preference (a4846bf)
  • iOS home renders the cached fleet list immediately, like macOS (761ff7c)
  • Never strand the iOS loading state, and size it to the viewport (b69d202)
  • Inline Add on the machine MCP page; iOS actions move to the nav bar (1699e7f)
  • Never let an empty bearer token shadow ferried OAuth credentials (78dccbf)
  • Detect macOS metadata junk in skill archives at the byte level (9ea0b89)
  • Bring back Settings back/forward, with pushes recorded correctly (6a01364)
  • Fix the skills ferry for real, and scope Settings navigation per tab (bafb9cf)
  • Machine lists that push pages, honest Skills badges, no footers (ce651ef)
  • Never leave the iOS sign-in spinner waiting on a dead credential (c55b035)
  • Surface "out of credits" in chat with a Switch Account action (f97f67a)
  • Sweep sessions off dead accounts when a working one is activated (7502b8c)
  • Rebind a chat to a working account when its pin is dead (578d94e)
  • Machine-readable usage exhaustion on turn ends (2027bbc)
  • Prune records stored under dead cloud identities (13ba209)
  • Re-home live streams when a machine's route flips (f24feca)
  • Delete the dead machine-page routing from Settings (ab5bb60)
  • Rebuild the iOS settings screens machine-first (7ff63f8)
  • Rebuild the macOS Harnesses, Plugins, and Skills panes machine-first (688d1c9)
  • Rebuild the macOS MCP pane machine-first (e3daac1)
  • Make the per-machine MCP disable overlay the enforced truth (5b18369)
  • Give remote servers a real identity and delete the dead container builder (371c6f0)
  • Adopt former server identities in the database at boot (4e18394)
  • Give every dev remote a stable server identity (2153b9c)
  • Count cloud machines when gating the fleet disclosures (bcd6f8d)
  • Machine-first settings disclosures with sync badges (8b72cb0)
  • Phase 27a: the MCP pane goes fleet-first (ee58d63)
  • Give each sign-in attempt its own focused sheet (6680c1c)
  • Wrap Claude sign-in natively instead of rendering its PTY (dd79f2f)
  • Never build a one-step reasoning slider (2a2515f)
  • Remove the docs directory (cc0605f)
  • Write the user stories the UI derives from (12ebc5d)
  • Finish Phase 24: the plugin fleet matrix (e06a8cc)
  • Phase 24: the harness desired-vs-reported fleet matrix (e64a848)
  • Phase 22: one roster entry per machine, with relay failover (c4bf0aa)
  • Close out Phase 21: devin ferry source and per-machine harness settings (f7fb6df)
  • Apply sandbox flag and home mount in the live container builder (68e46c1)
  • Bind syncLinuxWorkspace locally in dev-containers (3496654)
  • Run both apps from plain bun run dev (6ceb6ba)
  • Persist the dev container home across recreations (5b88107)
  • Declare dev containers sandboxed so Claude runs as root (d5dc03e)
  • Give capability inspection a real model-list budget (0321e4e)
  • Hold the model chip steady during background catalog refreshes (06523f5)
  • Open cmd+clicked terminal links (0049025)
  • Point the auth terminal at the machine it was opened for (cf338aa)
  • Single chrome for the composer sign-in sheet (2cdb3b5)
  • Never answer for a cloud machine with the local machine's client (bf8d800)
  • Bind capability fetches to the machine they were started for (360b884)
  • Bring the harness sign-in flow to iOS (3c92c8a)
  • Make the composer catalog cache the observable single source (ccb527f)
  • Retargeting a draft to another machine clears the old catalog (4e06eb4)
  • Model picker: sign-in rows scroll with the list; empty chip says what to do (a388843)
  • Sign in from the composer: pending harnesses surface where the need is (29c9ef0)
  • Drop the spike findings doc (0cfbf78)
  • Phase 21 spike: OAuth refresh-token reuse findings (7c1db08)
  • Drafts default to the first model when the harness reports no choice (c84801b)
  • Composer catalogs update event-driven when any machine's harnesses change (3bc3140)
  • Phase 20: static credential ferry — API keys follow the fleet (0cc92c3)
  • Remote browsers can create folders; clones land on the machine that ran them (0b25f8e)
  • Workspace re-syncs preserve the container-side nested node_modules (baced09)
  • macOS machine picker never disables empty machines; add-project is serverId-aware (f2b8613)
  • Container first boots provision once, host-sequenced (5d68408)
  • Dev remotes run as Linux containers by default; --no-containers opts out (ad72ad2)
  • bun run dev now runs everything; dev:macos is the macOS-only runner (9c79282)
  • Phase 19: auth reliability — probe hygiene and fleet-visible auth drift (b79de46)
  • Phase 18: machine-aware MCP settings — fleet matrix with per-machine toggles (30aabab)
  • Phase 17: per-machine MCP readiness and overlays (data plane) (520e2ca)
  • Setup leads with Codevisor Cloud; direct pairing is the other choice (96a892c)
  • Phase 16: CLI fleet awareness — sync prompt only when joining a fleet (fa4b576)
  • Phase 15: pin the config plane's ownership model under adversarial tests (efdc602)
  • Run-target picker: the last step selects a location (37af123)
  • Run-target picker steps say what to do (86a4d79)
  • iOS: opening a chat no longer flips the selected machine (2583c60)
  • Fleet nav: no self-twin duplicates, two-row groups, workspace cascade (506424d)
  • iOS settings: Machines joins the Account group; fleet footer gone (4b90c8a)
  • Morph top fill matches the sheet's elevated surface color (2b95633)
  • New-chat morph: the sheet's chrome holds still while the top extends (760f3ef)
  • Promotion surface: host in the presenting window, instrument the morph (e81c156)
  • Restore the first-send promotion animation (7665f71)
  • Adding a project awaits the server git probe before the picker decides (d938934)
  • Run-target picker: real push navigation, no disabled machines (9c42b50)
  • New chat always renders the composer; project candidate goes fleet-wide (53aadc9)
  • iOS: quiet onboarding machine check; one stepped run-target picker (dc4d750)
  • Client-only platforms have no Local machine (2c2a93c)
  • Composer gets a machine chip; dev add buttons name their server (0e9d1d2)
  • Dev rig: three clearly named servers, one per transport (928151e)
  • Machines settings go flat: no Connect buttons, no per-machine pages (b7fa35c)
  • Drop the machine pickers; selection is now a routing detail (15cda47)
  • Composer picks projects across the fleet; sending switches machines (2230ad4)
  • Flatten the sidebar: every machine's chats in one list (c206e56)
  • Snapshot every machine's navigation, not just the selected one (fe0d242)
  • Notify from every machine, route back to it, badge the rest (9fb3269)
  • Replicate MCP OAuth material under refresh ownership (1aa9031)
  • Replicate static MCP secrets with their definitions (07e52f6)
  • Propagate config changes instantly instead of on the next sweep (574f160)
  • Move fleet config to the top level of Settings (c4f58b3)
  • Replicate plugins: registry installs as fleet-desired state (b4e2195)
  • Replicate harness state: enabled set, desired installs, custom specs (e2273b3)
  • Replicate the machine list itself: the fleet roster (3863576)
  • Offer the config-sync opt-in when adding a machine from a client (9994254)
  • Ask about config sync when a machine joins via cloud login (9e34202)
  • Add a server-enforced sync participation flag (28ccd6a)
  • Rename first-contact collisions aside instead of overwriting either side (d25596c)
  • Converge a machine with the config plane the moment it connects (11f59e6)
  • Replicate MCP definitions and harness-account rosters through the config plane (03cd45b)
  • Ferry skill blobs between machines from the client (c279fae)
  • Replicate skills through the config plane: tree hashes, blobs, reconcile (07027e1)
  • Seed the config plane with the update channel (dd55da9)
  • Add ConfigSync: the client half of the config plane (181270d)
  • Add the config plane's replication primitive and server replica (a1b290f)
  • Stop the periodic update sweep from force-checking every server (1404248)
  • Persist the update-all session so it survives the app's own restart (0ee8494)
  • Bring the update center to iOS (10f13a4)
  • Replace update banners with the update center and a sidebar footer (e9c5e75)
  • Add UpdateCenter: the fleet-wide update fold behind every update surface (f79a618)
  • Publish update.changed when a server's release state changes (4a06ebd)
  • Track server updates per machine and sweep release state fleet-wide (7cdc6b2)
  • Give every machine its own live event stream (ec867cc)
  • Introduce MachineConnection as the single per-machine state record (42f65cf)
  • Never strand a remote-triggered update behind Sparkle's attended UI (ab3fe4a)
  • Converge client-side server updates on build numbers and surface handoff failures (5de24d8)
  • Make build numbers the server-update authority and let app-hosted Macs own their channel (e11583d)
  • Smooth streamed transcript presentation (5be8841)
  • Constrain Settings sidebar width (7c54598)
  • Fix streaming transcript phase restoration (1de5e2c)
  • Deploy the cloud all at once again (67c4265)
  • Layer MachinesSettingsView's modifier chain for CI's type-checker (4216acb)
  • Keep MachinesSettingsView type-checkable in Release builds (9201039)
  • Fix the canary traffic split in the cloud deploy (2f0a8bf)
  • Refresh SwiftLint baseline after rebasing onto main (4b47900)
  • Instrument the relay paths and prove the resilience matrix (c470112)
  • Flow-control http/ws channels and stream relayed responses (2cb7a59)
  • Open direct LAN paths beside the relay (185aa4d)
  • Resume relay sessions across socket gaps (mosh-style) (9b3596a)
  • Make sealed channels transport-agnostic (72d4263)
  • Compress hot relay channels end-to-end (8027c20)
  • Carry relay traffic as binary envelopes (protocol v2) (7186fce)
  • Pin machine keys in the apps (TOFU) (25b7cca)
  • Pin app device keys on machines (TOFU) (71c0e7d)
  • Roll out cloud deploys gradually (20cd14b)
  • Persist terminal replay buffers across host restarts (86bdbfa)
  • Hint UserHub placement from request geolocation (b9c17a0)
  • define the update contract (8b03ac3)
  • Fix first-project new chat transitions (e9d2339)
  • Track harness self-initiated turns across the stack (7e7e269)
  • Stream cloud relay traffic over byte channels (9c2889e)
  • Drain streamed responses before finalizing (23e67de)
  • Sequence complete streamed responses (04f27ec)
  • Sequence streamed Markdown block entrances (feae026)
  • Settle existing streamed response content (8a53713)
  • Fix interrupted transcript send presentation (810fed8)
  • Fix iOS composer image paste handling (fc1fa04)
  • Clarify plugin pane chrome guidance (270a8b3)
  • Use cloud icon for cloud machines (77b4d99)
  • Add iOS development skill (17759bf)
  • Add hover styling to macOS model picker (929f812)
  • Make plugin directory mobile responsive (464ef61)
  • Stabilize deferred chat capability refresh (afe6d93)
  • Replace the session attention system with a revision-counter + focus-read model (07cea16)
  • Fix iOS navigation sync and dev isolation (578bac6)
  • Prevent onboarding project setup flash (072fcae)
  • Fix macOS model picker refresh state (9b08e3d)
  • Redesign the plugin explorer across web, macOS, and iOS (abee0a9)
  • Unify macOS workspace and pane tab strips (60a0d6d)
  • Order new chat projects by workspace recency (ff9e2bc)
  • Fix Ghostty release artifact stamp (fc08174)
  • Remove unused skill UI metadata (e310afb)
  • Make development builds deterministic and worktree-local (5ab9c22)
  • Refresh SwiftLint baseline after main integration (49897af)
  • Fix workspace adoption transcript flicker (1ed2956)
  • Fix transcript send handoff rendering (ee210f4)
  • Polish cross-platform chat controls (12d6764)
  • Add iOS browser setup question UI (5f0186d)
  • Add iOS plan mode controls (2cf2e14)
  • Add iOS goal mode support (cc1b029)
  • Add iOS queued prompt management (a44e5a7)
  • Add iOS chat composer accessories (b50655c)
  • Unify macOS model configuration picker (ee98b54)
  • Refresh plugin panes in new tabs (ed86fff)
  • Add server-backed plugin artwork (99957fe)
  • Remove dynamic entity icons (ea29a22)
  • Fix machine settings layout (165d2c4)
  • Add dedicated Cursor adapter (40bf96f)
  • Refresh Codevisor documentation (ce66f31)
  • Add dedicated Grok Build adapter (c60f52e)
  • Align macOS sidebar organization with iOS (6f761e8)
  • Expose a single MCP execute tool (f74fb41)
  • Fix unread chat acknowledgement eligibility (2f2e585)
  • Put the plugin Browse and Install actions on one settings row (4922e17)
  • Let projects choose their worktree base branch (18c1132)
  • Document the full pane styling token set in the authoring skill (8805ea7)
  • Fix settings sidebar theme surfaces (96d7c1a)
  • Register session event subscriptions before the bridge task runs (c1dfa69)
  • Wire the production PLUGIN_INDEX KV namespace id (31e93ea)
  • Point the www plugin directory at the dev cloud in development (e1f5607)
  • Publish the plugin directory on codevisor.dev (04f0461)
  • Let users browse the plugin registry in Settings (2dcdfa7)
  • Serve the plugin registry index through the machine (5e17558)
  • Add the plugin registry indexer to the cloud worker (e999ab8)
  • Regenerate the SwiftLint baseline after rebasing onto main (3f5c55d)
  • Let plugins expose tools to the model (8e7662f)
  • Let agents open and drive plugin panes through the browser tools (4c5dd83)
  • Add the plugin system: server-supervised plugins with webview panes (860dc2e)
  • Fix cross-platform session read receipts (547397b)
  • Prevent transcript flicker on row changes (5684c80)
  • Fix remote session controller reconciliation (f502b2b)
  • Fix Chrome extension icon sizing (fbf54ea)
  • Retry interrupted relay connections silently (f29d287)
  • Deflake SessionModel async tests (ddeb9af)
  • Render workspace chrome before transcript (1873297)
  • Give nix a fresh GitHub token when building GhosttyKit (9d97885)
  • Refetch Ghostty when the checkout does not match the pinned ref (f7166f7)
  • Restore portable WORKTREE paths in the swiftlint baseline (6c864b7)
  • Chunk oversized relayed WS messages and document the sync model (phase 5) (2f5c569)
  • Reconnect means reconcile: recovery paths re-verify turn state (phase 4) (21e6a90)
  • Make event stream silence measurable end to end (phase 3) (be2cf5c)
  • Announce machine channel death to apps at the hub (phase 2) (f9a50c4)
  • Heal stuck cloud-relayed chat streams (sync reliability phase 1) (a34e2af)
  • Fix Ghostty libc++ compatibility (61a01d3)
  • Fix iOS add machine sheet actions (07772eb)
  • Deflake the budget-pause test with scheduling headroom (143fa62)
  • Revert "Migrate app identity to Codevisor, LLC (com.codevisor.*)" (5211b6e)
  • Bound the notarization wait so a slow Apple queue fails CI fast (b4e1d44)
  • Fix macOS previews for server file links (0c97009)
  • Sync workspace panes across devices (2fe23c8)
  • Migrate app identity to Codevisor, LLC (com.codevisor.*) (64a0a6f)
  • Keep iOS transcript anchored through keyboard resize (1f56c99)
  • Preserve local Markdown links in chat (a2fcc06)
  • Recover Browser Use tab sessions after navigation (e5f2c0a)
  • Fix self-targeted accessibility reads (fa5b7d9)
  • Pass SENTRY_AUTH_TOKEN through the reusable release workflow (8e34587)
  • Give the mcp gateway integration test an explicit timeout (3a41619)
  • Fix release runtime for the extracted package layout (9d0c351)
  • Fix macOS Sidebar extraction errors surfaced by the first real app build (b3cec45)
  • Delete dead transcript projection code from SessionScreen (c9eb0bd)
  • Split SessionController and SessionModel into per-concern extensions (7f6331a)
  • Split ComputerUseBridge into per-capability extension files (fcb3504)
  • Factor db createService closure into per-domain factories (a2aed2a)
  • Split adapter-codex and adapter-acp by concern (93537da)
  • Split adapter-claude by concern: 18 modules, all under the cap (92d0f1a)
  • Extract SwiftUI subviews from the last three screens (Phase C, part 2) (5618ef1)
  • Extract SwiftUI subviews from eight oversized screens (Phase C, part 1) (ebb2170)
  • Split five TS god files into cohesive modules (5016902)
  • Split server.test.ts into colocated per-route-domain test files (e98cb65)
  • Phase 7: size-ratchet enforcement + split the packages/db god file (ba25071)
  • Split CodevisorClient and CodevisorCloud out of CodevisorCore (52bf302)
  • Split CodevisorProtocol and TranscriptKit out of CodevisorCore (3bee375)
  • Unify attachment preview cache into CodevisorUI (762969f)
  • Reorganize iOS app into Features/ mirroring macOS (449c870)
  • Restructure apps/server: routes/ split, infra/, integration tests (6cb5503)
  • Extract @codevisor/mcp, absorb cloud-proxy, enforce turbo boundaries (f77a625)
  • Extract @codevisor/updater, @codevisor/harness-manager, @codevisor/automation (d6045d4)
  • Extract @codevisor/worktrees and @codevisor/skills packages (f2bfa2e)
  • Extract harness adapters into per-harness packages (b59274b)
  • Move Swift packages from apps/macos/Packages to packages/swift (ff3def8)
  • Wire swift-format and SwiftLint into the check suite (1e9308f)
  • Mass swift-format pass over all first-party Swift sources (5aaab99)
  • Enforce filename-case and max-lines in oxlint; fix dead config discovery (322934d)
  • Add .git-blame-ignore-revs scaffold for mass format/move commits (39e23d5)
  • Typography polish and commit-time guardrails (Phases 5-6) (df64965)
  • Raise macOS glyphs/text to the HIG 10pt floor; adopt semantic styles (Phase 4) (b9664cd)
  • Reflow truncated content at accessibility text sizes (Phase 3) (9fc4f91)
  • Make iOS composer controls and icon frames Dynamic Type aware (Phase 2) (b2b8915)
  • Add HIG typography token layer and fix P0 legibility violations (bcf5730)
  • Stabilize attachment preview rendering (c7ff669)
  • Replace assistant artifacts with live file previews (4e654da)
  • Disable sidebar hover in inactive windows (44b5bcf)
  • Fix main-thread violations across macOS and iOS apps (9bab405)
  • Stabilize iOS transcript initial presentation (36de6af)
  • Remove web and Tauri apps (94dd226)
  • Refine iOS sidebar organization and reordering (e6d8a0a)
  • Fix iOS tool group icon clipping (e64c535)
  • Stabilize tool group disclosure (2ea49c4)
  • Make chat navigation responsive (d350f82)
  • Simplify transient chat status indicators (f2c4ed7)
  • Restore iOS agent row separators (cd9074f)
  • Match iOS list divider behavior to Mail (032b463)
  • Show transcript pagination progress in document (45aef79)
  • Show native iOS transcript scroll indicator (2bf9508)
  • Keep explicit transcript bottom jumps pinned (047fab2)
  • Warm transcript runway and streamline navigation sync (38316b3)
  • Hide uncached transcript until layout settles (796ba0a)
  • Preserve iOS transcript momentum (ace7e02)
  • Keep iOS transcript geometry atomic (238267c)
  • Rebuild iOS chat and workspace interactions (7279824)
  • Expand iOS navigation row hit target (14a5e18)
  • Deliver assistant artifacts in chat (086ad82)
  • Expose Codevisor server controls through MCP (3d56eec)
  • Eliminate iOS transcript first-scroll freeze (3890c74)
  • Smooth sidebar insertion and reordering (5d78646)
  • Keep bottom panel shortcuts local (f66f4df)
  • Disable iOS transcript scroll-to-top (caac07b)
  • Fix iOS transcript scrolling and restoration (8afe1c3)
  • Align iOS chat history with macOS (ceff915)
  • Sync native navigation events across platforms (28de859)
  • Fix iOS cloud startup and onboarding (891b52f)
  • Redesign macOS Settings as sidebar navigation with per-machine scoping (2ebed77)
  • Coalesce sidebar reorder bursts and steady row reflow animations (825f704)
  • Fix iOS workspace tab navigation (8e01356)
  • Redesign iOS terminal key bar and fix scrollback replay on reattach (cde852d)
  • Fix iOS attachment paste and previews (2c54c6e)
  • Update reference repositories (ff3e083)
  • Keep cloud chats active and synchronized (2465126)
  • Remove iOS new chat loading spinner (621eb0b)
  • Close remotely archived chats (653b911)
  • Fix Keychain credential isolation (8f33d02)
  • Polish chat navigation and transcript scrolling (bdb4b9e)
  • Keep local machine selected on macOS onboarding (972e5c2)
  • Fix macOS Keychain credential access (b399378)
  • Simplify iOS navigation empty states (4090d05)
  • Polish iOS navigation and new chat flow (4116f6d)
  • Fix cloud relay reliability and dev isolation (1309ab1)
  • Register the local machine on Codevisor Cloud automatically at sign-in (2ea2c4c)
  • Ensure Metal Toolchain before building GhosttyKit from source (73970cc)
  • Wire cloud packages into the server release build (29dd8db)
  • Polish iOS onboarding and cloud machine selection (370bfed)
  • Add Codevisor Cloud: accounts, machine presence, and E2E-encrypted relay (ecb97b4)
  • Fix composer fallback notices (7fa7d2f)
  • Make compaction shimmer reliable (0340402)
  • Fix macOS composer newline clipping (ab6d5a9)
  • Split sidebar view compilation (55ab967)
  • Fix macOS Alpha compilation (8e0a425)
  • Defer sidebar reordering during interaction (ce9142b)
  • Fix streaming animation on navigation (0b6c925)
  • Hide waiting status during text entrance (7ecf5de)