Commit Graph

  • a3d952dc43 [eric] chat: smooth-text rAF parks when caught up instead of burning 60fps forever, idle renderer 50 percent to 0 ciregenz 2026-08-05 15:14:01 -07:00
  • 1d92f5bdad [eric] usage: cost and token cards state their routed-request scope, provider-count-as-tokens fallback gone ciregenz 2026-08-05 14:36:50 -07:00
  • 900142d59f [eric] commands: stop advertising @app commands the composer never had ciregenz 2026-08-05 14:36:50 -07:00
  • 763e20f6f8 [eric] settings: notifications rows go flat and full width ciregenz 2026-08-05 14:36:49 -07:00
  • 2ae7461c26 [eric] tools: header search + POPULAR connect strip close the claude connectors parity ciregenz 2026-08-05 14:36:49 -07:00
  • ec6a0b0397 [eric] tools: one claude connectors table (Connector/Type/Status), built-ins ride as rows, uninstalled get Connect ciregenz 2026-08-05 14:20:25 -07:00
  • 746966cc68 [eric] settings: claude-flat hairline rows everywhere, appearance grouped into dictation/canvas/agents/browser ciregenz 2026-08-05 14:20:25 -07:00
  • 07a05bd4d3 [eric] windows: settings and marketplace default to browser size, chrome-only naming, top separator line gone ciregenz 2026-08-05 14:20:25 -07:00
  • 0d07edf8c9 [eric] skills: marketplace wording in the empty state, toasts use the kebab grammar ciregenz 2026-08-05 12:19:48 -07:00
  • b0fb13d16b [eric] settings: modal host deleted, every entry point opens the one app window with deep-linked tabs ciregenz 2026-08-05 12:19:48 -07:00
  • 7bb680b015 [eric] skills: one kebab naming grammar across table, detail, and grid ciregenz 2026-08-05 12:03:30 -07:00
  • fc00069f12 [eric] settings: reset-to-default compares against the backend's live default prompt, the stale frontend copy is gone ciregenz 2026-08-05 12:03:30 -07:00
  • fb26882f73 [eric] settings: serif header and rail unified with the marketplace grammar ciregenz 2026-08-05 12:03:30 -07:00
  • 6ca0773883 [eric] marketplace: a real on-canvas app window like Settings (singleton card, glide, minimize rail), dialog host deleted ciregenz 2026-08-05 12:03:30 -07:00
  • 7e50111faf [eric] tools: connections read as a claude table, flat hairline rows, status inline, no ghosting, toggles stay load-bearing ciregenz 2026-08-05 11:43:21 -07:00
  • 59edbb52f6 [eric] electron: slack connect UA pins to the runtime Chrome version instead of a rotting hardcode ciregenz 2026-08-05 11:35:29 -07:00
  • c7608d3ede [eric] chat: model picker hides superseded generations, newest versions first, empty vendor groups dropped ciregenz 2026-08-05 11:35:29 -07:00
  • 2bd8e5c691 [eric] settings: notifications tab with real agent/workflow toggles, skills and tools tabs retired to the marketplace ciregenz 2026-08-05 11:35:29 -07:00
  • 1e8c4794c4 [eric] marketplace: skills and tools management live inside the store, browse grids land first, Anthropic chips gone ciregenz 2026-08-05 11:35:29 -07:00
  • d81690efb5 [eric] marketplace: its own dock app via a shell-global Directory host, dialogs grouped under Directory/dialogs ciregenz 2026-08-05 10:06:15 -07:00
  • 3e8aa56614 [eric] skills: settings page becomes claude.ai's table (Skill / Last updated / Author), browsing lives in the Directory ciregenz 2026-08-05 10:06:15 -07:00
  • efef227779 [eric] perf: identity-stable selectors, tool rows stop subscribing to whole slices, thumbnails wait out interactions ciregenz 2026-08-05 10:06:15 -07:00
  • 0f6c5c9462 [eric] tests: assert the field hint through the public finder, not a module-private regex ciregenz 2026-08-05 08:40:43 -07:00
  • 59b982bf37 [eric] skills: detail page gets claude.ai chrome (byline, enable toggle, kebab, file picker, eye/code); Tools Add menu extracted ciregenz 2026-08-05 08:38:02 -07:00
  • a519354cc4 [eric] skills: per-skill enable toggle gates prompt list, Skill tool, and cloud runs; files endpoint feeds the detail picker ciregenz 2026-08-05 08:38:02 -07:00
  • af68dcd06d [eric] send: when the task names a field, write into that field (reddit's title) ciregenz 2026-08-05 08:28:38 -07:00
  • 46f2213a9b [eric] canary: give the audit its own unreapable card instead of borrowing whatever is left ciregenz 2026-08-05 08:28:38 -07:00
  • 42099c3e55 [eric] canary: audit the reddit account we actually post from ciregenz 2026-08-05 08:04:07 -07:00
  • cf3e8ac230 [eric] canary: say WHY a destination read failed, per card ciregenz 2026-08-05 08:02:42 -07:00
  • c47057c576 [eric] canary: print the marker on every row, it is the only record of what hit a real account ciregenz 2026-08-05 08:01:28 -07:00
  • 7ba99ba4a4 [eric] browser: a top document that never settles must not deny its child frames a look ciregenz 2026-08-05 07:57:22 -07:00
  • 7f982cbfe0 [eric] canary: audit reddit on the author's own page, and give a live write 300s ciregenz 2026-08-05 07:54:13 -07:00
  • 438a96eb42 [eric] skills: name the send-script's clicks so a completed write can be recorded at all ciregenz 2026-08-05 07:47:01 -07:00
  • e1b8d4b17d [eric] marketplace: pixel pass against live claude.ai, sectioned Filter by checks, exact sort labels, Add menus, connection tabs ciregenz 2026-08-05 07:43:51 -07:00
  • 950755af07 [eric] canary: audit the destination by reading it, not by grepping a log that never had it ciregenz 2026-08-05 07:34:46 -07:00
  • 55749f54d0 [eric] marketplace: claude.ai-style Directory for skills + connectors, with upload-skill and custom-connector modals ciregenz 2026-08-05 01:20:17 -07:00
  • 99fd1ff82e [eric] skills: /upload endpoint takes a bare SKILL .md or a .zip/.skill archive, shallowest SKILL.md wins ciregenz 2026-08-05 01:20:17 -07:00
  • d269a9f3c7 [eric] menus: messages, tool rows, app windows, island name answer right-click; host goes shell-global ciregenz 2026-08-05 00:59:50 -07:00
  • 83649f5b17 Revert "[eric] browser: prove a send by the payload appearing twice, when the composer never clears" ciregenz 2026-08-05 00:48:16 -07:00
  • 8fcea4a24d [eric] canvas: empty-selection trash closes newest-created first, a persisted creation ledger keeps the order honest ciregenz 2026-08-05 00:47:48 -07:00
  • 7fcce1e2f3 [eric] browser: prove a send by the payload appearing twice, when the composer never clears ciregenz 2026-08-05 00:45:38 -07:00
  • 34451d0b0d [eric] shell: native window background follows the theme, live-resize filler never flashes boot-dark under a light UI ciregenz 2026-08-05 00:38:10 -07:00
  • 5ccc13ad1e [eric] canvas: memoize the wash blend + grid tile strings, card-drag frames stop rebuilding them ciregenz 2026-08-05 00:38:10 -07:00
  • 21529e06eb [eric] canary: reap each run's session and browser card before the next one starts ciregenz 2026-08-05 00:33:42 -07:00
  • 6e3ef0e40a [eric] browser: nudge a lazy feed once before deciding it has no posts ciregenz 2026-08-04 23:32:14 -07:00
  • 324639e217 [eric] browser: open the first post by its own link, instead of hunting a feed ciregenz 2026-08-04 23:26:37 -07:00
  • ac6dbb119f [eric] browser: catch a wrong-surface landing while there are still steps to fix it ciregenz 2026-08-04 23:12:49 -07:00
  • 7eae46c365 [eric] release: 1.7.3 v1.7.3 ciregenz 2026-08-04 22:31:44 -07:00
  • 45771d3e42 [eric] canvas: minimized-to-tile paints the unpark first then glides into the zone, one transition frame the camera writer never fights ciregenz 2026-08-04 22:22:57 -07:00
  • 90004acee7 [eric] chat: the fullscreen scrollbar rides the window edge, the transcript keeps its 760px measure via matching padding ciregenz 2026-08-04 22:11:28 -07:00
  • 8298d3f604 [eric] browser: let the model name the message, so the fast lane stops needing quotes ciregenz 2026-08-04 22:03:50 -07:00
  • 918f8d92e4 [eric] chat: the inline browser breathes wider, height cap 400px to 480px with the same flush aspect ciregenz 2026-08-04 22:01:15 -07:00
  • 9f0924a7ad [eric] chat: only the newest tool row can glow as running, and the slot keeps the page's exact aspect so the live mini sits flush ciregenz 2026-08-04 21:55:12 -07:00
  • 1eaa23b9c1 [eric] browser: say 'I never typed it' when nothing was typed, not 'check the page' ciregenz 2026-08-04 21:53:58 -07:00
  • 5d6720ceab [eric] browser: a replaced spawned browser is torn down through the full path, the layout sync can no longer resurrect it ciregenz 2026-08-04 21:50:08 -07:00
  • 0326bc45f7 [eric] chat: the mini tracks streaming transcript mutations, appends can no longer bounce it between stale and fresh rects ciregenz 2026-08-04 21:47:12 -07:00
  • 569c9784a6 [eric] chat: the mini self-heals its slot fit every 500ms, a remounted slot can no longer leave it scaled against a stale rect ciregenz 2026-08-04 21:43:35 -07:00
  • 94c30d1f9b [eric] browser: a still-loading page gets one retry, not a verdict of no composer ciregenz 2026-08-04 21:39:16 -07:00
  • 63ccd2ecad [eric] browser: look for the composer inside child frames, not only the top document ciregenz 2026-08-04 21:33:06 -07:00
  • 25bfe12da4 [eric] browser: a page that loaded content is settled, even with nothing to compare against ciregenz 2026-08-04 21:16:27 -07:00
  • 09f15c0865 [eric] browser: see into cross-origin iframes, which Chromium reports as pages not iframes ciregenz 2026-08-04 20:59:44 -07:00
  • 5abf06b54f [eric] browser: a click that reveals the composer ends the stage, no second model call ciregenz 2026-08-04 20:59:44 -07:00
  • 26096770f6 [eric] chat: the live-state stamp actually gets assigned (the overlap survivor), and closing a chat frees its browser instead of killing it ciregenz 2026-08-04 20:59:26 -07:00
  • c8f646ae9b [eric] canvas: restoring a minimized chat fits the RENDERED card, not its collapsed footprint, so the left edge stops getting cut ciregenz 2026-08-04 20:51:47 -07:00
  • b722dbd2f8 [eric] chat: the frozen shot and the live mini never paint together, the misaligned double-page overlap dies ciregenz 2026-08-04 20:51:47 -07:00
  • 8d014db030 [eric] apps: the launcher drops the octopus and orange twins for per-app hues, monograms, and Launchpad hover ciregenz 2026-08-04 20:31:30 -07:00
  • ab625fc775 [eric] browser: a replaced agent browser is removed, not released to the canvas as a dead stacked window ciregenz 2026-08-04 20:31:30 -07:00
  • bd1855da30 [eric] tool-ui: string columns coerce instead of failing, validation runs per payload not per render, rowIdKey nags only when actionable ciregenz 2026-08-04 20:31:30 -07:00
  • 96565841ff [eric] dock: rail actions go Apple-flat, one hairline lucide family on the rail material, pucks and gradients gone ciregenz 2026-08-04 20:16:10 -07:00
  • e445ca3eeb [eric] browser: fill the one field a disabled submit is waiting on, then re-ask the page ciregenz 2026-08-04 20:14:50 -07:00
  • 9cfdf390b4 [eric] chat: the docked mini rides the drag channel frame-locked, one owner per dock, docked glow buys no per-frame tether work ciregenz 2026-08-04 20:12:15 -07:00
  • ee2847574c [eric] chat: the inline browser overlays only when fully in view, a frozen shot clips underneath, and docked chrome goes flat ciregenz 2026-08-04 19:59:53 -07:00
  • 344f58b889 [eric] chat: the inline browser hugs the page's aspect and can never paint outside its chat card ciregenz 2026-08-04 19:45:22 -07:00
  • 4554af3b1e [eric] browser: pinch reaches the page like real Chrome, Figma and Maps own their canvas zoom inside browser cards ciregenz 2026-08-04 19:45:22 -07:00
  • 7dc5f58651 [eric] browser: a composer already on the page needs no model to confirm it ciregenz 2026-08-04 19:44:44 -07:00
  • cab51313e6 [eric] chat: the live browser anchors at its browser tool row, not the transcript tail, and never pops to canvas when its row windows out ciregenz 2026-08-04 19:24:10 -07:00
  • 9d1d2b8dbb [eric] canary: the reddit task quoted two payloads, so the send script rightly refused it ciregenz 2026-08-04 19:18:00 -07:00
  • eefee1f19a [eric] canvas: a docked browser shows as a strip inside its chat on the minimap and loses its phantom dock tile ciregenz 2026-08-04 19:07:10 -07:00
  • 3a2bbcbf9e [eric] canary: stop accusing a working send of lying, the audit was filtering out the page text ciregenz 2026-08-04 18:58:34 -07:00
  • fd6338f9cb [eric] canvas: drags flag canvas interaction, idle-canvas drags skip tether work, the toolbar selector stops minting arrays ciregenz 2026-08-04 18:48:35 -07:00
  • c80914522e [eric] voice: near-silent clips never buy a decode and punctuation-only transcripts never inject, the lone-comma hallucination ciregenz 2026-08-04 18:48:35 -07:00
  • 540bf91bd9 [eric] browser: slack.com gets the bare Chrome UA, its support wall read our product token as an unsupported browser ciregenz 2026-08-04 18:48:35 -07:00
  • 3b10b409a8 [eric] browser: an unproven send still blocks a resend, so nothing gets posted twice ciregenz 2026-08-04 18:32:51 -07:00
  • f51a2528f1 [eric] canary: the audit's page-read check matched log strings that never existed ciregenz 2026-08-04 17:49:51 -07:00
  • 310fa1619a Revert "[eric] browser: prove a send by the posted content, not only by an emptied box" ciregenz 2026-08-04 17:49:23 -07:00
  • 5035520629 [eric] browser: prove a send by the posted content, not only by an emptied box ciregenz 2026-08-04 17:40:39 -07:00
  • 3787123468 [eric] browser: wait longer for a slow composer to clear, so a real send stops reading as unverified ciregenz 2026-08-04 17:23:57 -07:00
  • bf4faa786f [eric] chat: the agent's browser rides the transcript inline like a tool output, the pinned bottom slot is gone ciregenz 2026-08-04 16:57:34 -07:00
  • ccccf9fc4c [eric] browser: probe before sleeping, so a ready page stops paying the slow page's wait ciregenz 2026-08-04 16:50:44 -07:00
  • 8951f1b2cc [eric] tests: the discover gate refuses tokenless env_vars servers at the route level, spawn provably untouched ciregenz 2026-08-04 16:44:47 -07:00
  • 87ee63afe9 [eric] voice: release the mic when start fails partway, the OS indicator stayed lit forever ciregenz 2026-08-04 16:43:21 -07:00
  • 2e0572ca72 [eric] voice: whisper boots from a private empty cwd and reaps mid-boot children, the temp-dir scan wedge killed dictation ciregenz 2026-08-04 16:43:21 -07:00
  • a7c95813e3 [eric] canvas: the background can never paint raw white, tint underlay + opaque wash + compositor grid parallax ciregenz 2026-08-04 16:43:21 -07:00
  • 43e1028123 [eric] browser: agent screenshots stop yanking the user's camera, an offscreen card degrades to reading tools ciregenz 2026-08-04 16:43:14 -07:00
  • 6815a36131 [eric] canvas: clicks inside a docked mini browser never fly the camera, the toolbar counts as card chrome ciregenz 2026-08-04 16:43:14 -07:00
  • d9d213f2b9 [eric] canvas: edge-pan rAF loop stopped doubling per frame, viewport rect cached, lone cards skip the multi-drag path ciregenz 2026-08-04 16:43:14 -07:00
  • 67011befe3 [eric] mcp: discovery refuses a credentialless env_vars server, and the failure translator reads the whole tail not the npx dump ciregenz 2026-08-04 16:43:07 -07:00
  • bd24d0bf6c [eric] browser: a comment task must not click Create-new-post ciregenz 2026-08-04 16:11:51 -07:00
  • b62a29357e [eric] browser: a comment meant for a post must not land on a story ciregenz 2026-08-04 15:57:30 -07:00
  • 57d5a6fed7 [eric] browser: hand a bot-detection challenge to the user instead of guessing at it ciregenz 2026-08-04 15:33:35 -07:00