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 |
|