Commit Graph
2635 Commits
Author SHA1 Message Date
ciregenz 9ece424d1f [eric] workflows: a running workflow gets a real agent card, so its browsers dock inside it and are reaped with it; the card goes when the run stops (ENG-256) 2026-08-12 01:28:54 -07:00
ciregenz 00624f230c [eric] canvas: a card tiled to fill the screen hides the floating chrome the same way fullscreen does, so tidy and zoom stop sitting on its composer (ENG-259) 2026-08-12 01:25:30 -07:00
ciregenz 25fb3677ca [eric] service: a completed shutdown stands the hard-exit fuse down; it was firing os._exit(0) inside the test runner and silently killing 42% of the suite 2026-08-12 00:02:04 -07:00
ciregenz a3882f2e27 [eric] browser: a docked browser follows its chat while the chat is collapsed, instead of painting at the spot the chat used to be (ENG-260) 2026-08-11 23:24:31 -07:00
ciregenz 3b802bbad9 [eric] apps: serve-static no longer strands the global vite boot lock (every app wedged on Starting preview); deleting an app now removes its workspace tree 2026-08-11 23:12:30 -07:00
ciregenz 4a13a5b556 [eric] changelog: the post-exp.2 fixes move from 1.7.7 to 1.7.8, where they actually ship, plus today's four 2026-08-11 21:43:50 -07:00
ciregenz 43c0580438 [eric] dashboard: a new dashboard shows the empty-canvas hero again; the emptiness check counted sessions from every OTHER dashboard too 2026-08-11 21:37:39 -07:00
ciregenz 92f4e801ad [eric] electron: a dead stdout pipe no longer turns the crash handler into an infinite crash-report writer (ENG-247 candidate writer) 2026-08-11 21:32:28 -07:00
ciregenz 62e707293e [eric] models: retire the free tier (nothing mints it, existing installs migrate off) and drop the silent mid-run pin to Haiku it carried; pull Fable, which was selectable and never worked 2026-08-11 21:00:38 -07:00
ciregenz 6214e92a0c [eric] release: eric/dev becomes 1.7.8-exp.1 so it outranks the 1.7.7 stable cut from exp.2; 1.7.6's never-shipped entry is relabelled 1.7.7 2026-08-11 20:38:26 -07:00
ciregenz 3ac55520d6 [eric] browser: the upload tool also finds inputs inside shadow roots and embedded frames, and a refused path names the exact staging copy that unblocks it (ENG-47) 2026-08-11 20:22:10 -07:00
ciregenz ba97d141ee [eric] browser: agents can attach a file to an upload field without the OS picker; the path is allow-listed backend-side so a hostile page cannot turn it into exfiltration (ENG-47) 2026-08-11 20:10:36 -07:00
ciregenz a28268bab9 [eric] agents: an unclassified turn failure arms a fresh CLI session, so a chat bricked on "hit a snag" heals on the user's own next send instead of needing a manual branch (ENG-258) 2026-08-11 19:43:54 -07:00
ciregenz 54c336f5bc [eric] canvas: a pan released outside the window self-heals on the next button-less move, so the canvas can never keep following the cursor (ENG-257); add .claude/VERIFICATION.md 2026-08-11 19:30:01 -07:00
ciregenz bb278ffdff [eric] copy an agent and its inline browser comes with it (ENG-250); browsing caches are swept past a 1.5GB cap at boot so runaway disk use cannot get the app killed (ENG-247) 2026-08-11 19:13:09 -07:00
ciregenz 45b133d82a [eric] voice: mark the dev-only inject test seam's promise as intentionally floating 2026-08-11 17:58:30 -07:00
ciregenz f5b9a8ae50 [eric] revert the ENG-252 focus-restore attempt: webview focus fires zero host DOM events, so no renderer-side hook can detect the steal (proven live) 2026-08-11 16:55:53 -07:00
ciregenz 98af7a2b1c [eric] browser: closing a popped-out agent browser returns it inline to its chat instead of destroying it; the dead handleRemove was the wrong seam, the real X is WindowControls onClose (ENG-251) 2026-08-11 15:12:29 -07:00
ciregenz f598becfd2 [eric] browser: reap finished-agent browsers, close an agent's browsers with it; dictation confirms the guest target before claiming success; agent-driven focus steal restores the user's caret; window size persists across a crash-recovery recreate 2026-08-11 14:53:16 -07:00
ciregenz 5516c8d808 [eric] browser: disable FedCM so Google sign-in buttons fall back to the classic popup Electron can actually drive; account chooser proven live on pinterest (ENG-238) 2026-08-11 14:06:18 -07:00
ciregenz 514c21e0ef [eric] release: 1.7.6-exp.3 carries the canvas, pinch, fullscreen, dictation, sign-in-iframe and metadata-deadline fixes 2026-08-11 12:50:47 -07:00
ciregenz 1a00fe93b8 [eric] frontend: port the esbuild test runner from the debt branch so npm test works here; 139 tests green 2026-08-11 12:20:32 -07:00
ciregenz 294db570ed [eric] outputs: the vite boot lock is loop-local, so a runtime started on a later event loop cannot silently hang forever; the serve-static test mock goes sync to match 2026-08-11 11:46:53 -07:00
ciregenz 2a3440ae8e [eric] agents: drop the unreachable 504 branch; the manager already swallows an aux timeout and returns a fallback group meta 2026-08-11 11:04:33 -07:00
ciregenz d216bb7f24 [eric] shell: a quit drained through the fullscreen guard re-issues the quit, so it exits instead of stranding a headless app 2026-08-11 11:03:02 -07:00
ciregenz c7c71b6ea0 [eric] build: the cancel trap fires only on INT/TERM and walks the tree; the EXIT variant flipped a green build's exit code to 1 under set -e 2026-08-11 10:57:14 -07:00
ciregenz a7c1a8256e [eric] build: a cancelled build reaps its whole process tree, so a killed run no longer orphans a 7za holding a 300MB archive for hours (ENG-247) 2026-08-11 06:33:51 -07:00
ciregenz 1215cfec50 [eric] browser: detect Electron by the preload bridge not the UA string, so the Electron token can be stripped app-wide and cross-origin sign-in iframes stop reading as an embedded browser (ENG-238) 2026-08-11 02:54:40 -07:00
ciregenz c4ded9a3ab [eric] browser: strip the Electron token from every request UA in the browser partition, so out-of-process sign-in iframes stop reading as an embedded browser (ENG-238) 2026-08-11 02:44:22 -07:00
ciregenz 6afa7a1a1d [eric] dictation: only the composer the transcript lands in shows Stop dictation, not every chat at once (ENG-239) 2026-08-11 01:48:40 -07:00
ciregenz 8eee7ee16a [eric] agents: aux metadata streams get a 45s deadline and time out as an honest 504, not a ten-minute hang the console calls CORS 2026-08-11 01:36:17 -07:00
ciregenz 52afeb4222 [eric] shell: closing during a fullscreen transition waits for AppKit to finish, sealing the exit-fullscreen SIGTRAP 2026-08-11 01:28:45 -07:00
ciregenz 38a4b95450 [eric] resilience: one failed request now confirms with a probe instead of waiting for a second, and the reconnecting pill actually centres 2026-08-11 01:05:47 -07:00
ciregenz 210e8c7410 [eric] canvas: a stray pinch can no longer magnify the whole app out of view, and a non-finite camera is refused instead of bricking navigation 2026-08-11 01:00:07 -07:00
ciregenz 074b1a9bec [eric] release: experimental versions use the documented exp.N form so successive builds share one update channel v1.7.6-exp.2 2026-08-10 23:32:11 -07:00
ciregenz 9efc0cb515 [eric] browser: a sign-in popup from a browser card keeps that card's user agent, so Google stops refusing it (ENG-238); reconnecting pill portals to body so it centres 2026-08-10 23:19:27 -07:00
ciregenz 8ceca9ac97 [eric] tool-ui: every ShowUI card needs a stable id, and one question can only be answered once across all its surfaces 2026-08-10 22:46:12 -07:00
ciregenz fe77b64d8c [eric] release: 1.7.6-exp2 carries tonight's sign-in, update, resilience and tool-ui fixes 2026-08-10 22:07:34 -07:00
ciregenz 3a2d1049c3 [eric] resilience: a stalled request probes the backend instead of waiting out its timeout, so a wedged port surfaces in seconds 2026-08-10 21:45:23 -07:00
ciregenz 08d04d39f3 [eric] tool-ui: a press on an ask button in the collapsed pill reaches it, drag-capture no longer eats the click (ENG-232) 2026-08-10 21:30:48 -07:00
ciregenz b56e91b1eb [eric] resilience: api fetches ride backend restarts (bounded retry), a dead backend shows an honest reconnecting pill and self-heals 2026-08-10 20:35:07 -07:00
ciregenz 6a49713695 [eric] sign-in: deep links queue-and-drain (no lost race) with durable retry-until-identity-lands handoff 2026-08-10 19:44:18 -07:00
ciregenz 69c34b7439 [eric] agents: CreateApp is offer-first; track/organize/plan asks answer in chat instead of scaffolding an app 2026-08-10 17:55:10 -07:00
ciregenz bceb407b56 [eric] updates: first check reads the experimental toggle from disk, ending the prerelease self-downgrade ping-pong 2026-08-10 17:55:10 -07:00
ciregenz fb71f3b686 [eric] tool-ui: posts, links and images open as browser cards on click, leaving fullscreen first (ENG-234) 2026-08-10 17:32:53 -07:00
ciregenz 91c273c8e3 [eric] tool-ui: question-flow answers deliver (onSelect/onComplete), respond dedupes, dead sessions never look answerable 2026-08-10 17:32:53 -07:00
ciregenz 49dfab9eb9 [eric] tool-ui: validation bounces return plain content, not isError, so they persist and dead asks can demote 2026-08-10 17:32:53 -07:00
ciregenz 4cf0971693 [eric] tool-ui: asks pair by tool_use_id, early clicks held, stops release waits, dead asks go quiet 2026-08-10 14:45:11 -07:00
ciregenz b0b7df3f61 [eric] agents: tool-ui default-on with media; WebFetch names its authed tier by-design 2026-08-10 14:06:49 -07:00
ciregenz 784b33c15a [eric] web: bing + brave join the keyless race behind ddg; bing went 50/50 on the burst that tripped both ddg and brave 2026-08-10 14:02:42 -07:00