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
|
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
|
ade1207d86
|
[eric] crash: shutdown fuse hard-exits a wedged backend tree in 10s, uvicorn drains connections on an 8s budget, and three GPU deaths buy one boot of software rendering with an honest pill
|
2026-08-10 09:02:31 -07:00 |
|
ciregenz
|
7ba5a067d7
|
[eric] crash: browser-card teardown quiesces every webview to a committed about:blank before unmount, closing the live-surface destroy gap app cards already had covered
|
2026-08-10 08:46:23 -07:00 |
|
ciregenz
|
8aac6656c4
|
[eric] crash: app-card teardown waits for the about:blank commit event plus a settle frame instead of a 250ms fail-open timer, so a loaded machine stops destroying live GPU surfaces mid-composite
|
2026-08-10 08:37:42 -07:00 |
|
ciregenz
|
df8af72125
|
[eric] crash: safe-mode loop breaker; two dirty exits in ten minutes boots with webviews parked as screenshots and app runtimes held until clicked, with a crash fingerprint from the newest minidump
|
2026-08-10 08:36:47 -07:00 |
|
ciregenz
|
2d5f35ad6e
|
[eric] browser: agent commands restore the user's typing focus, so a running browser agent stops yanking the cursor out of the composer
|
2026-08-10 08:27:12 -07:00 |
|
ciregenz
|
b91b271e19
|
[eric] ui: dead Create Custom connector entry removed, browser AI badge removed, and choice widgets show their question title and description
|
2026-08-10 08:24:41 -07:00 |
|
ciregenz
|
45b3a9de37
|
[eric] canvas: layout load keeps exactly one fullscreen owner, so a pre-1.7.6 profile with a second persisted fullscreen entry can no longer drag cards while fullscreen
|
2026-08-09 18:31:04 -07:00 |
|
ciregenz
|
0d98fd6bc7
|
[eric] model picker: groups render subscriptions first, API keys second, routers last with tier separators, never interleaved
|
2026-08-09 17:01:41 -07:00 |
|
ciregenz
|
4804e232d9
|
[eric] canvas: NOTHING drags in fullscreen (untileForDrag chokepoint + guards on app and window cards; exit is the pill, green dot, or Escape)
|
2026-08-09 14:47:31 -07:00 |
|
ciregenz
|
f10591f07c
|
[eric] canvas: the legacy inline app picker is gone (Cmd+M and the composer route open the Applications window)
|
2026-08-09 14:15:27 -07:00 |
|
ciregenz
|
5eca1df72d
|
[eric] agents: mid-turn provider backoff shows a muted retrying pill instead of a dead card, and transient pills survive session status frames
|
2026-08-09 14:01:11 -07:00 |
|
ciregenz
|
8fdc1fa2f9
|
[eric] settings: the shortcut recorder owns the keyboard while armed (window-level capture, hotkeys suppressed), so rebinding no longer snaps back to fn
|
2026-08-09 13:51:55 -07:00 |
|
ciregenz
|
d050517c4e
|
[eric] canvas: fullscreen locks canvas panning (drag joined the wheel gate), thirds cut from the tile menus, Applications window gets always-on search + image-only tiles (screenshot > symbol > svg, letters never)
|
2026-08-09 13:27:26 -07:00 |
|
ciregenz
|
e4454a0b9e
|
[eric] skills: the Add box resolves pasted README install commands (npx/pnpm/bunx, skills.sh URLs) through the parser that shipped without a client
|
2026-08-09 12:51:02 -07:00 |
|
ciregenz
|
c8c3e7be0e
|
[eric] canvas: app card chrome carries no identity (bare strip); the dock tile is the personalized mark and prefers the app's real thumbnail over any glyph
|
2026-08-09 12:13:05 -07:00 |
|
ciregenz
|
d013ac5f1f
|
[eric] canvas: app chrome identity is the app's own monogram tile (no name), and the Workflows strip goes bare like Settings/Marketplace
|
2026-08-09 11:56:27 -07:00 |
|
ciregenz
|
95a41451b3
|
[eric] apps: grant identity is server-derived only (minted per-app tokens + serve-path referer), forged ids refused, grant dialogs queue
|
2026-08-09 11:47:27 -07:00 |
|
ciregenz
|
c794706281
|
[eric] settings: the in-body X is gone (traffic lights are the close), onboarding cursor re-anchored to the red dot
|
2026-08-09 11:47:27 -07:00 |
|
ciregenz
|
99433fd399
|
[eric] canvas: window chrome homogenized (no separator, same surface as the body), app title centered, one exit affordance in fullscreen
|
2026-08-09 11:47:27 -07:00 |
|
ciregenz
|
54bdd42018
|
[eric] apps: card chrome goes slim (identity + reload/share/kebab), and fullscreen flips it to a dark edge-to-edge system bar with its own exit
|
2026-08-09 11:03:41 -07:00 |
|
ciregenz
|
5f6cf216ad
|
[eric] canvas: the marquee inverts the PAINTED transform instead of a second camera copy, so a drawn-vs-painted mismatch can't exist
|
2026-08-09 10:28:23 -07:00 |
|
ciregenz
|
6bd3f93f07
|
[eric] chat: questions and tool permission asks render as the vendored tool-ui cards (question-flow + approval-card); QuestionForm extracted to kill an import cycle; registry loads the full question-flow union
|
2026-08-09 10:01:02 -07:00 |
|
ciregenz
|
0688c85607
|
[eric] apps: apps can call the user's connected tools behind a per-app grant gate (approval card, deny-by-default, Origin-derived identity)
|
2026-08-09 08:52:36 -07:00 |
|
ciregenz
|
31a5386186
|
[eric] voice: the mic parks warm for 5 minutes after each dictation, so the next fn press skips the ~2.5s device power-up
|
2026-08-09 08:24:30 -07:00 |
|
ciregenz
|
4ebf9a91f6
|
[eric] canvas: fullscreen can no longer strand a chromeless shell (ghost-id guard, one owner, layout-fetch prune, always-clickable exit pill)
|
2026-08-09 07:48:30 -07:00 |
|
ciregenz
|
02cc65632a
|
[eric] tool-ui: repair the payload shapes agents actually emit (stat keys, step ids, receipt outcomes), so widgets render instead of quietly falling back
|
2026-08-09 07:48:30 -07:00 |
|
ciregenz
|
18cc7c7417
|
[eric] voice: mic open overlaps the IPC, context and worklet setup, and the stop path no longer waits on the streaming shutdown it rarely needs
|
2026-08-08 22:08:13 -07:00 |
|
ciregenz
|
c9840eb00b
|
[eric] hardening: legacy pre-collapse tool ids canonicalize to core, and the docked mini gets a load listener plus a 1s belt so a silent layout shift can't strand it
|
2026-08-08 20:48:47 -07:00 |
|
ciregenz
|
c0d33c0cfb
|
[eric] browser: the docked mini re-measures when its slot announces a remount, retiring a 150ms forever-poll of layout reads
|
2026-08-08 09:47:25 -07:00 |
|
ciregenz
|
4d86b3377d
|
[eric] agents: the three ungated meta MCP servers ride one process, cutting three idle interpreters per parked chat
|
2026-08-08 09:41:45 -07:00 |
|
ciregenz
|
d60a99ddd1
|
[eric] boot: bootstrap fetches retry until the backend answers and heal on focus, so a lost boot race stops bricking first paint
|
2026-08-08 09:34:13 -07:00 |
|
ciregenz
|
5c0d6d52b6
|
[eric] apps: render-health beacons ride the runtime log stream where they actually arrive, vite-plugin-terminal owns the page console
|
2026-08-08 02:14:27 -07:00 |
|
ciregenz
|
a0e7e719fa
|
[eric] browser: delete the orphaned BrowserAgentInlineFeed component (missed in the action-feed removal commit)
|
2026-08-08 01:22:54 -07:00 |
|
ciregenz
|
610ba00a9d
|
[eric] apps: the host SDK lands, apps call the user's models, fire workflows, and spawn positioned agents through pre-wired helpers
|
2026-08-08 01:14:00 -07:00 |
|
ciregenz
|
c764604a53
|
[eric] canvas: a rejected rect no longer scores as trusted, so the settle can fix a stale origin instead of parking fullscreen 52px off
|
2026-08-08 01:00:32 -07:00 |
|
ciregenz
|
ce2ad6bf4b
|
[eric] apps: Building only ever covers a frontend that actually threw while the agent edits, agent activity alone can never curtain an app
|
2026-08-08 00:40:54 -07:00 |
|
ciregenz
|
b2181e5a1c
|
[eric] browser: the black action-feed box is gone everywhere, the live mini browser IS the progress display
|
2026-08-08 00:34:07 -07:00 |
|
ciregenz
|
6dd2a2b26f
|
[eric] canvas: zoom dial runs 1.5x hotter so the default 50 feels like the old 75
|
2026-08-08 00:34:06 -07:00 |
|
ciregenz
|
256e922886
|
[eric] canvas: browsers and apps share one 10-renderer ceiling, so the two caps can no longer stack to 14
|
2026-08-07 20:10:59 -07:00 |
|
ciregenz
|
a276a5d64d
|
[eric] canvas: a browser leaving the rail lands on its snapshot and attaches the guest after the motion, killing the browser-only jank
|
2026-08-07 19:28:17 -07:00 |
|
ciregenz
|
8c8a9fe120
|
[eric] canvas: a card leaving the minimized rail lands in its tile in one frame, instead of flying in from a home nobody saw
|
2026-08-07 19:22:19 -07:00 |
|
ciregenz
|
ab875d5894
|
[eric] canvas: the tiling settle waits for the camera to demonstrably rest, not for a guessed delay
|
2026-08-07 19:13:57 -07:00 |
|
ciregenz
|
c8df096520
|
[eric] canvas: revert the top inset, the tiled window already sits above the drag strip and did not need it
|
2026-08-07 19:09:24 -07:00 |
|
ciregenz
|
c8dd05ddf4
|
[eric] canvas: tiling insets below the top drag strip, so a fullscreen window stops losing its top edge to window-drag
|
2026-08-07 19:00:58 -07:00 |
|
ciregenz
|
863a8274f9
|
[eric] canvas: stop re-solving a tile origin that was already right, which is what put fullscreen a few px off
|
2026-08-07 18:57:12 -07:00 |
|
ciregenz
|
85e50f029a
|
[eric] canvas: a browser card too small to read goes to sleep on zoom-out, not just stays asleep on zoom-in
|
2026-08-07 18:43:42 -07:00 |
|
ciregenz
|
31a45b003a
|
[eric] canvas: a tiling settle waits for the camera to stop moving, and re-measures once the rail lets the card go
|
2026-08-07 18:25:08 -07:00 |
|