Commit Graph
558 Commits
Author SHA1 Message Date
ciregenzandClaude Fable 5.1 224fd6884a [eric] canvas: a pill caps its artifact (8 rows, compact stats), ShowUI rows memoized on message identity, spawn pill yields to a tiled composer
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-05 09:29:00 -07:00
ciregenzandClaude Fable 5.1 05e8310691 [eric] health: a mid-refresh 401 that outlives the token rotation window is a dead login; recheck at 240s and push the pill
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-05 09:28:59 -07:00
ciregenzandClaude Fable 5.1 9bad3f5ab3 [eric] tools: a connector's auth change is broadcast and the Tools page settles on it; the popup-close guess read the status once, before the claim landed, and never again until a reload
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C9zwUaHucUgrdxvK8FvjYT
2026-09-03 17:52:01 -07:00
ciregenzandClaude Fable 5.1 aadcf45398 [eric] outputs: an app's icon is one emoji (ported from eric/feature-requests, ENG-425); Material icon names were stored and never rendered, so every tile fell back to the grid
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C9zwUaHucUgrdxvK8FvjYT
2026-09-03 17:09:25 -07:00
ciregenzandClaude Fable 5.1 5b7c8ee2ba [eric] streaming: a finished reply no longer hands a still-thinking bubble to the next socket; the live thought is dropped when the answer starts and at every turn end, and a snapshot is only built for a turn in flight
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C9zwUaHucUgrdxvK8FvjYT
2026-09-03 16:14:53 -07:00
ciregenzandClaude Fable 5.1 48886e4746 [eric] providers: an Anthropic key that spans workspaces sends anthropic-workspace-id on every lane, with a Workspace ID field beside the key and a card that names the fix
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C9zwUaHucUgrdxvK8FvjYT
2026-09-03 12:44:30 -07:00
ciregenzandClaude Fable 5.1 2afbdc5b05 [eric] streaming: a session socket that connects mid-reply is handed the text so far after its resume ack, instead of a static Thinking then the whole reply at once
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C9zwUaHucUgrdxvK8FvjYT
2026-09-03 00:18:22 -07:00
ciregenzandClaude Fable 5.1 b645d4e03f [eric] canvas: deferred shot encodes drain one per idle slot with a breath between, never as one frameless run
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C9zwUaHucUgrdxvK8FvjYT
2026-09-02 19:47:59 -07:00
ciregenzandClaude Fable 5.1 adbccd7e04 [eric] canvas: seven first-frame costs off the gesture path (transcript measure, batched flush, pan hold, chat memo, pan cursor, pill-shot and suspend encodes)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012G8kyALnPjsA7aJFmMBq3R
2026-09-02 19:01:21 -07:00
ciregenzandClaude Opus 5 8afec84986 [eric] marketplace: the published .swarm catalog is the store tab, installed through the existing import door
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012G8kyALnPjsA7aJFmMBq3R
2026-09-02 15:32:10 -07:00
ciregenzandClaude Fable 5.1 8acfe2c15e [eric] frontend: the self-heal pill's flag lives beside the sessions, so a server refresh cannot wipe it before it shows
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012G8kyALnPjsA7aJFmMBq3R
2026-09-02 01:41:31 -07:00
ciregenzandClaude Fable 5.1 4d9ecb9a16 [eric] browser: a load Chromium refuses is a failed navigation, not "Navigated to" an empty page; exp.3 changelog names the popup, self-heal and navigation fixes
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012G8kyALnPjsA7aJFmMBq3R
2026-09-02 00:02:58 -07:00
ciregenzandClaude Fable 5.1 68b9ad32ea [eric] chat: self-heals show themselves: raw runtime errors become a card instead of a blank, a stuck-tool restart and a model compaction get a pill, the collapsed card says what it is waiting on, previews and the resume chip skip harness lines
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012G8kyALnPjsA7aJFmMBq3R
2026-09-01 23:59:38 -07:00
ciregenzandClaude Fable 5.1 17ebd689f6 [eric] agents: labelling a tool group after a restart loads the chat from disk instead of 500ing; copy-as-image stops fetching CSP-blocked fonts
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012G8kyALnPjsA7aJFmMBq3R
2026-09-01 16:10:49 -07:00
ciregenz b9a63b3b80 [eric] windows: the antivirus exclusion is a real Settings toggle now, and the quarantine card offers it 2026-08-31 15:54:13 -07:00
ciregenz f7dec16fdd [eric] canvas: scrolling a transcript no longer stalls the answer being streamed into it 2026-08-31 15:44:05 -07:00
ciregenz 560cb1a182 [eric] agents: pin the queued-send bubble wiring (event -> reducer -> caption) with its own test 2026-08-31 11:03:46 -07:00
ciregenzandClaude Opus 5 312d243bdb [eric] agents: a route across pages runs the loop, and a queued send says it is queued
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U6zrBsUCNzpMBnov3rTVYV
2026-08-30 23:29:13 -07:00
ciregenzandClaude Opus 5 4fd0c1a10e [eric] canvas: Close says it dismissed the card, because the executor's closed_at cannot mean that (ENG-421)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U6zrBsUCNzpMBnov3rTVYV
2026-08-28 19:38:37 -07:00
ciregenzandClaude Opus 5 d1de5a1b0d [eric] canvas: point the two new fixes at their real issues (ENG-420 wheel, ENG-421 run card)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U6zrBsUCNzpMBnov3rTVYV
2026-08-27 22:33:31 -07:00
ciregenz 3aa50b6aef [eric] canvas: stopping a workflow run keeps its card, because you stopped it to read it (ENG-420) 2026-08-27 18:19:00 -07:00
ciregenz 3ccbeb680d [eric] chat: the Other... box is visible and appears when you pick it, not after Enter (ENG-419) 2026-08-27 17:11:23 -07:00
ciregenz b5f7eb6516 [eric] canvas: the eviction fallback paints the tone the canvas averages, so the flash stops reading white (ENG-340) 2026-08-27 15:09:40 -07:00
ciregenz 5c47533d0b [eric] browser: a wedged app preview remounts its webview instead of being left stuck (ENG-402) 2026-08-27 14:41:22 -07:00
ciregenz 6cc705c0ee [eric] models: only the catalog retires a pinned model, so a router bounce cannot move a chat vendors (ENG-386) 2026-08-21 11:51:14 -07:00
ciregenzandClaude Opus 5 da18c0a5ef [eric] agents: the Resume chip is a human, so a stopped chat honours it (ENG-384)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018foyDoK19jjbYdudfzQVkZ
2026-08-21 08:07:55 -07:00
ciregenzandClaude Fable 5 74d70de13f [eric] workflows: a schedule switch never lies; writes roll back or serialize (ENG-375)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01En8dRGsJPLrJCQBEkTH4Mp
2026-08-20 22:22:48 -07:00
ciregenzandClaude Fable 5 fa9196c8af [eric] signin: live port hand-off, stalled-wait retry, openswarm:// registered (ENG-381)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01En8dRGsJPLrJCQBEkTH4Mp
2026-08-20 22:22:48 -07:00
ciregenzandClaude Fable 5 6c14b2d65b [eric] dictation: no cursor means your composer, not a new chat (ENG-378)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01En8dRGsJPLrJCQBEkTH4Mp
2026-08-20 22:22:48 -07:00
ciregenz 10bca6ba17 Revert "[eric] browser: a card the renderer parked is slow, not dead; parallel agents no longer ghost"
This reverts commit 6ed6206c7b.
2026-08-20 16:13:50 -07:00
ciregenzandClaude Opus 5 6ed6206c7b [eric] browser: a card the renderer parked is slow, not dead; parallel agents no longer ghost
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014wtspwSFzZmjCx9UNPAorQ
2026-08-20 15:50:55 -07:00
ciregenzandClaude Opus 5 58e376496e [eric] agents: an outage parks the turn and resumes when the provider answers; OAuth connects survive a backend restart
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014wtspwSFzZmjCx9UNPAorQ
2026-08-20 08:39:41 -07:00
ciregenz fd14cb3bdb [eric] apps: a preview whose dev server never binds shows an honest failure card with retry instead of spinning Starting preview forever (Alex's report) 2026-08-19 14:07:30 -07:00
ciregenz 9327475c3a [eric] models: shipped defaults are Sonnet 5 (Anthropic) and GPT-5.6 Terra (OpenAI); explicit user picks untouched 2026-08-18 20:57:32 -07:00
ciregenz 2a9f1a7024 [eric] canvas: two same-instant app creations can never fully cover each other; the clash pushes down the column (ENG-346) 2026-08-18 19:43:08 -07:00
ciregenz 88d6c536cd [eric] dictation: app-scoped by default with a Dictate-anywhere opt-in, and the Input Monitoring prompt moves from install time to first dictation use (ENG-341) 2026-08-18 19:10:08 -07:00
ciregenz 201216d166 [eric] canvas: new app cards anchor on the nearest on-canvas ancestor and docked rects stop being invisible obstacles (ENG-346) 2026-08-18 19:04:56 -07:00
ciregenz 9df2c56e70 [eric] canvas: the collapse tuck keys on OWNERSHIP, not slot possession; a later dock stealing the slot no longer strands the first card full-size, and only a user drag-out frees a card for good 2026-08-18 13:26:52 -07:00
ciregenz bec387a56b [eric] streaming: the gesture stamp starts at -Infinity; zero read as mid-gesture for the app's first 350ms 2026-08-18 11:35:47 -07:00
ciregenz a98a99cbab [eric] streaming: mid-gesture deltas ride the 1Hz buffer with a 250ms hand-off flush, so token commits stop landing inside drags (ENG-301) 2026-08-18 11:34:28 -07:00
ciregenz ce2989ea1b [eric] agents: CanvasCommand lets an agent move, collapse, tile, tidy and close its own cards after spawn (ENG-334) 2026-08-17 16:04:21 -07:00
ciregenz d45e2b3731 [eric] browser: a failed navigation now fails loudly; a reused card that cannot move is replaced instead of answering from the old page 2026-08-17 15:48:49 -07:00
ciregenz 4ac484bf3b [eric] workflows: manual runs surface as the real agent card, never the monitor pane, and the pill answer becomes a calm card (ENG-336) 2026-08-17 14:47:23 -07:00
ciregenz 3943e4feb2 [eric] browser: native auth popups register under their card so agents can see and drive the sign-in window (ENG-279) 2026-08-17 11:50:52 -07:00
ciregenz 2db49cc0e8 [eric] canvas: webview park and wake gain eviction margins and 10s cooldowns, ending the zoom-out reboot storm (ENG-228) 2026-08-16 21:15:05 -07:00
ciregenz ab4d7b2db7 [eric] streaming: stream frames stop riding the dashboard socket and the backgrounded chat batches to 1Hz (ENG-329) 2026-08-16 20:52:51 -07:00
ciregenz 3acfd972d6 [eric] backend: real /api/health answers the reachability prober, ending the 401 console spam on every probe tick 2026-08-16 20:07:37 -07:00
ciregenz a15466ff54 [eric] workflows: run rows carry their workflow's name; the title join failed for every deleted workflow (ENG-307) 2026-08-16 01:53:28 -07:00
ciregenz 96bdd222c6 [eric] canvas: an unrelated spawn no longer despawns another agent's revealed subagents; reconcile learns keep-not-create ids (ENG-304) 2026-08-16 01:53:06 -07:00
ciregenz 5bf4fe0046 [eric] canvas: autofocus frames the rendered card, not its collapsed footprint, so an expanded chat lands fully on screen (ENG-318) 2026-08-16 01:52:55 -07:00