Commit Graph
2659 Commits
Author SHA1 Message Date
ciregenz b5f010fbb8 [eric] ui: every input inherits readable colours from the theme, so no field can be black on black (ENG-281) 2026-08-12 18:25:03 -07:00
ciregenz 471c0a9dd5 [eric] state: list thunks reject on non-2xx, so a failed fetch never resolves undefined into a reducer (ENG-277) 2026-08-12 16:59:34 -07:00
ciregenz cd5c5b7666 [eric] chat: a docked browser takes a third of the chat instead of half (ENG-278) 2026-08-12 16:08:12 -07:00
ciregenz 17653af557 [eric] state: a wrong-shaped API answer changes nothing instead of throwing inside immer (ENG-277) 2026-08-12 16:05:49 -07:00
ciregenz f4bb5f566b [eric] signin: a not-ready install refuses locally instead of landing on the cloud's install_id error 2026-08-12 15:32:22 -07:00
ciregenz 9a1dffe811 [eric] notifications: six real controls instead of two, and workflow alerts stop obeying the agent toggle 2026-08-12 15:14:52 -07:00
ciregenz e0209a27b7 [eric] onboarding: the intro stops animating blur and lands ~0.8s sooner (ENG-275) 2026-08-12 15:08:24 -07:00
ciregenz dd77f3b6b3 [eric] shell: a crash-cap self-quit leaves a crash report, not a console line (ENG-265) 2026-08-12 14:46:39 -07:00
ciregenz eb85fe428b [eric] browser: agent keystrokes can no longer land in the user's composer (ENG-252) 2026-08-12 14:39:57 -07:00
ciregenz e7f7079f9e [eric] canvas: stress the closed-position cap under flaky-backend and long-life pressure; 200 cards x 30 strip-restore cycles lose nothing and the map stays bounded at 3000 churned cards 2026-08-12 13:21:29 -07:00
ciregenz 41b19f5912 [eric] canvas: a collapsed card shows whether its agent is still working, on the title row where it never competes with the content 2026-08-12 13:19:23 -07:00
ciregenz 13de02f91a [eric] canvas: the closed-position cap clears a real board (a 60-card board lost 10 spots at 50), with a guard that pins both the bound and the restore 2026-08-12 13:11:00 -07:00
ciregenz eb21e6eb9b [eric] canvas: closed-card positions are capped at 50 instead of remembered forever; the reconnect pill confirms it healed instead of just vanishing 2026-08-12 13:01:18 -07:00
ciregenz df32505aca [eric] compounding-growth pass: zOrders is pruned on every card removal, a model switch persists so the notice heals once, orphaned app workspaces are listable and deletable, and two browsers opened in the same millisecond no longer collide into one 2026-08-12 11:17:46 -07:00
ciregenz 0431844621 [eric] ui: every Alert in the app inherits the design tokens from one theme override, so stock Material blue cannot leak through any of the ~15 call sites 2026-08-12 10:35:22 -07:00
ciregenz ab3a611c4a [eric] models: the retired-model notice stops re-nagging on every poll and wears the app's own pill styling instead of stock Material blue 2026-08-12 10:20:41 -07:00
ciregenz e5bdca7d2a [eric] canvas: a collapsed card shows the newest ShowUI a running skill emits; staleness is now work-after-the-widget, not its name (ENG-272) 2026-08-12 09:20:53 -07:00
ciregenz af94907144 [eric] canvas: offscreen collapsed cards skip rendering, so a long-lived board pans like a fresh one (dropped frames 54 -> 1 at 4x CPU throttle, ENG-261) 2026-08-12 09:17:20 -07:00
ciregenz c00d8b8380 [eric] passkeys: the account-selection handler read the wrong argument and answered null, cancelling every passkey sign-in; sign-in works again (ENG-269) 2026-08-12 09:03:12 -07:00
ciregenz e4d94f2094 Revert "[eric] browser: the agent knows passkey sign-in cannot work here and routes to the password path instead of retrying into Google's generic error (ENG-269)"
This reverts commit 6e84f27d7c.
2026-08-12 09:00:04 -07:00
ciregenz 6e84f27d7c [eric] browser: the agent knows passkey sign-in cannot work here and routes to the password path instead of retrying into Google's generic error (ENG-269) 2026-08-12 08:41:32 -07:00
ciregenz f8f119a892 [eric] canvas: exiting a screen-filling card holds the chrome down through the shrink animation, instead of painting tidy/zoom over the still-large card 2026-08-12 02:26:51 -07:00
ciregenz 0fb4ba3447 [eric] changelog: 1.7.8 gains the app-wedge, app-delete, workflow-browser, fill-screen and board-wipe lines 2026-08-12 02:19:37 -07:00
ciregenz 0b0a5d78ca [eric] agents: a garbled dashboard file can no longer wipe the board; the sessions list fails loud instead of answering empty, and an unscoped fetch loses its delete authority 2026-08-12 02:10:41 -07:00
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