Commit Graph
386 Commits
Author SHA1 Message Date
Eric d27f289cea [eric] windows: fix UA-spoof leak onto recreated main window + add diag logs across preload, createWindow, recreateMainWindow, resumeSession, launchAndSendFirstMessage, AgentChat, WebSocketManager so packaged-build stderr captures the chat-spawn crash trail 2026-05-25 16:06:58 -07:00
Eric e7a09c9568 [eric] windows: fix preload race that crashed renderer on chat spawn
preload.js awaited two ipcRenderer.invoke calls before exposing
window.openswarm. Renderer code running in the gap saw the global
undefined: BrowserCard fell back to iframe mode (grey panel on sites
with X-Frame-Options), and chat-spawn calls to getAuthToken threw at
mount, crashing the renderer on Electron 40 + Windows.

Only bit Windows post-lazy-boot (ddd82ef): startBackend now loads main
while preload runs. Mac lacks the downstream native crash trigger;
pre-lazy Windows had idle IPC at preload time.

Replace awaits with sendSync against new ipcMain.on mirrors.
backendPort is assigned before any window exists, so sendSync at
preload time always finds a real value.
2026-05-25 15:45:37 -07:00
Eric 6777d45d1c windows: stop killing app on renderer crash; recreate window instead of reload
The render-process-gone handler called mainWindow.reload() to recover from
renderer crashes (e.g. WebGL / native / OOM in chat-spawn flows). On the
Electron 40 CastLabs build the reload re-registers a session/webview observer
that Chromium base/observer_list.h:318 refuses to add twice. The DCHECK
aborts the entire main process with exit 3, taking the app down whenever the
renderer dies.

Recreate the BrowserWindow instead: a fresh webContents has no duplicate
observers to add. The closed handler is identity-checked so the old window
teardown does not null out the new mainWindow reference.

When the 3-in-60s crash cap trips we now surface a native dialog (Reload /
Quit) instead of leaving a stuck dead window. Native dialog runs outside the
render-process-gone call stack, so its Reload button cannot itself reproduce
the DCHECK.

Bumps to 1.1.43 (re-cutting the deleted release draft).
v1.1.43
2026-05-25 15:14:29 -07:00
ciregenz bcabcca407 [eric] workflows: scheduling is a chat view (bounded height, composer docked) so it stops collapsing tiny 2026-05-25 12:51:47 -07:00
ciregenz c5d2fe512f [eric] workflows+dashboard: card width matches chat, Cmd/Ctrl+A select-all, compact scheduling + consistent cancel/title 2026-05-25 12:45:59 -07:00
ciregenz 846ee3bb01 [eric] workflows: auto-fit card height, drop stray step bands, fix active-poll 401 + view dead-ends 2026-05-25 12:22:25 -07:00
ciregenz 85646bc556 [eric] workflows: ignore saves card, scheduling chat typeable + default model, accent color, drop step box 2026-05-25 11:50:12 -07:00
ciregenz a137eba7c0 [eric] workflows: preview header divider, HITL-gold schedule button, model/mode/secs subtitle, slicker calendar 2026-05-25 11:16:30 -07:00
ciregenz db4b944b0c [eric] workflows: compact expandable steps in preview so schedule prompt + buttons stay visible 2026-05-25 10:32:12 -07:00
ciregenz 083d70def5 [eric] workflows: merge scheduled-tasks onto dev, re-home dashboard + fix backend imports 2026-05-24 23:41:53 -07:00
ciregenz 8ee037d770 [eric] release: bump version to 1.1.42 v1.1.42 2026-05-24 16:35:38 -07:00
ciregenz 6cf2606666 [eric] merge: fold eric/cleanup abstraction refactor into dev (resolve 9, re-home edits) 2026-05-24 16:24:59 -07:00
ciregenz 5fb4d02648 [eric] ui: docked tour collapses to a minimal right-edge tab; restore serif font 2026-05-24 12:33:22 -07:00
ciregenz edec6e0f9c [eric] ui: onboarding skip-to-sidebar + global count; sans fallback; memoize hot selectors 2026-05-24 11:03:30 -07:00
ciregenz 6e2d4e94aa [eric] actions: scope MCP service rules per integration; fixes mislabeled @ commands 2026-05-24 02:40:35 -07:00
ciregenz cd694ce6f1 [eric] usage: accurate tool calls + run time, drop empty-draft skew, quirky savings line 2026-05-24 02:15:19 -07:00
ciregenz 45fdfff3b7 [eric] actions: sort MCPs by connected+on, then on, then off (stable, no more jumping) 2026-05-24 01:55:50 -07:00
ciregenz c58708e3fd [eric] agents: unlock chat input when a send/edit fails (clear stuck 'running') 2026-05-24 01:50:27 -07:00
ciregenz 0bc2e1524e [eric] agentchat: plain-language memory/tools meter, hidden until it matters 2026-05-24 01:48:26 -07:00
ciregenz 1818375967 [eric] models: label Anthropic (API key) + subscription variants, fix billing bucket 2026-05-24 01:48:26 -07:00
ciregenz 9a93b81a1c [eric] picker: drop Fits/Tight/Too small badges, show only context length 2026-05-24 01:48:26 -07:00
ciregenz 4a30a1318b [eric] previews: real app+dashboard screenshots + order by last shot, not every save 2026-05-24 01:48:26 -07:00
ciregenz 91425334b1 [eric] data: corrupt JSON can't brick boot; skip bad files + atomic writes 2026-05-23 22:59:32 -07:00
ciregenz b129998489 [eric] lint: relax max-folder-items to >7 (7 ok), prune exact-7 exceptions, convert scripts/electron/linter-checks 2026-05-23 20:02:40 -07:00
ciregenz 6b7f66af3f [eric] lint: extend max-folder-items governance to frontend (documented exceptions, drop blanket ignore) 2026-05-23 19:53:56 -07:00
ciregenz 56dbd6d633 [eric] lint: add runtime import-cycle check (alias-aware, skips type-only and dynamic imports) 2026-05-23 19:20:47 -07:00
ciregenz 4c5457c751 [eric] onboarding: crash can't blank app; isolate boundary + dismiss + renderer reload 2026-05-23 19:16:04 -07:00
ciregenz 07f61c8547 [eric] lint: scope max-folder-items to documented backend registries, drop blanket ignore 2026-05-23 18:56:02 -07:00
ciregenz 9b20e1f7b0 [eric] lint: repoint grandfather globs to restructured file paths 2026-05-23 14:00:16 -07:00
ciregenz 4e9f5ceb07 [eric] tree: group agent_manager helpers under agents/manager session and prompt 2026-05-23 13:08:01 -07:00
ciregenz 782811daac [eric] tree: group browser sub-agent modules under agents/browser 2026-05-23 13:06:55 -07:00
ciregenz efa240126f [eric] tree: group anthropic proxy modules under agents/proxy 2026-05-23 13:05:53 -07:00
ciregenz fa57be6bbb [eric] tree: group foundational agent modules under agents/core 2026-05-23 13:05:15 -07:00
ciregenz a978ba30ca [eric] tree: group app/components HUD/search/gates/pickers into overlays/ 2026-05-23 12:56:52 -07:00
ciregenz 7e3e37e2eb [eric] tree: group app/components rich-input + element-selection into editor/ 2026-05-23 12:55:54 -07:00
ciregenz 7420f81051 [eric] tree: group app/components loading/error/fx into feedback/ 2026-05-23 12:55:02 -07:00
ciregenz 9d244da011 [eric] tree: group Settings sections into subscription/general/models/usage 2026-05-23 12:49:52 -07:00
ciregenz f5e8650df7 [eric] tree: group Tools into cards/dialogs/hooks 2026-05-23 12:48:32 -07:00
ciregenz 4f1ef0bae6 [eric] tree: group ChatInput into hooks/model-picker/view/toolbar 2026-05-23 12:41:54 -07:00
ciregenz 320052c71e [eric] tree: group AgentChat into bubbles/tool-bubbles/mcp-cards/parsing/shell 2026-05-23 12:38:42 -07:00
ciregenz 17532658bd [eric] tree: group Dashboard hooks into hooks/{state,interaction,lifecycle} 2026-05-23 12:28:31 -07:00
ciregenz 1a70d05566 [eric] tree: group Dashboard canvas surface into canvas/ 2026-05-23 12:25:26 -07:00
ciregenz b7bcbc8532 [eric] tree: group Dashboard canvas controls into controls/ 2026-05-23 12:24:27 -07:00
ciregenz 67629ec7a0 [eric] tree: group Dashboard cards into cards/ 2026-05-23 12:23:49 -07:00
ciregenz f3206f3606 [eric] tree: group Dashboard geometry helpers into geometry/ 2026-05-23 12:23:01 -07:00
ciregenz d2d6816d8a [eric] deadcode: remove unused DISCOVERY_SCAFFOLDING 2026-05-23 10:28:13 -07:00
ciregenz dd3efa866d [eric] deadcode: remove unused _is_9router_available 2026-05-23 10:27:36 -07:00
ciregenz b9ce323c5f [eric] deadcode: remove unused _summarize_message_block 2026-05-23 10:26:42 -07:00
ciregenz 8b646b0223 [eric] deadcode: remove unused _approx_tokens 2026-05-23 10:25:47 -07:00
ciregenz c45972b2df [eric] imports: extract schema getDefault into shared 2026-05-23 07:21:57 -07:00