Eric
06e7c54f57
[eric] windows 1.1.50 diag: render logs on every ChatInputView child (ChatInputToolbar, AttachmentChips, ChatInputOverlays, SendBlockBanner) so the next 0xC0000005 crash trace shows which sibling commits after EditorSurface — spellCheck=false on the contentEditable did not stop the crash so the trigger is either later in ChatInputView's child render order or in the JSX after EditorSurface's render log; bump for Squirrel fresh-fetch
v1.1.50
2026-05-25 21:04:46 -07:00
Eric
664faa1033
[eric] windows 1.1.49: spellCheck={false} on contentEditable div + ChatInputView and EditorSurface render logs + version bump so Squirrel actually fetches a fresh signed binary (force-retagging v1.1.44 was reusing the cached install on every iteration); tag v1.1.49
v1.1.49
2026-05-25 20:04:37 -07:00
Eric
83a042d662
[eric] windows: drop invalid autoCorrect + autoCapitalize attrs from contentEditable div in EditorSurface — diag logs pinpointed ChatInput as the last child rendered before every 0xC0000005 segfault, and these attributes are spec-defined for input/textarea only so React forwarded them onto a div where Chromium 144 + Windows IME / spellchecker engages a native code path that segfaults during commit; spellCheck stays for spelling underlines; retag v1.1.44
v1.1.44
2026-05-25 19:47:55 -07:00
Eric
294d1a91ed
[eric] diag: add targeted logs for each top crash-suspect (boot env snapshot for React-prod-mode + tree-shaking checks, wrapped lazy() loader with requested/loaded/failed logs for chunk-split race, [diag][ErrorBoundary] prefix on componentDidCatch so in-tree throws surface in stderr alongside window.onerror); retag v1.1.44
2026-05-25 19:26:40 -07:00
Eric
1ec3d473f3
[eric] diag: webpack --mode=development for packaged frontend + render logs on every AgentChat child (ContextDrawer / MessageBubble / StreamingBubble / CompactionMarker / ToolCallBubble / ToolGroupBubble / ApprovalBar / ChatInput / MessageActionBar / ErrorSlime) so the next 0xC0000005 crash trace shows the exact last component that committed before the segfault since http origin already disproved file://; retag v1.1.44
2026-05-25 19:20:16 -07:00
Eric
0c2cf3fc20
[eric] diag: build packaged frontend with webpack --mode=development since http://127.0.0.1 origin did not stop the 0xC0000005 crash (file:// theory disproved), and the only remaining variable between crash-free dev mode and crash-on-every-chat packaged mode is the production-vs-development webpack bundle (minification, terser, React prod mode, removed dev safety checks); larger bundle for one release to confirm minification/prod-bundle is the trigger, will revert and engineer a surgical webpack config once isolated; retag v1.1.44
2026-05-25 19:16:44 -07:00
Eric
0bec1ea268
[eric] windows: serve packaged frontend via embedded http://127.0.0.1 server instead of file:// since dev mode (http origin) never crashed while packaged (file://) consistently 0xC0000005 segfaulted on chat/dashboard mount, confirming file:// origin is the actual native-crash trigger on Electron 40 CastLabs Chromium 144; revert disableHardwareAcceleration to keep GPU perf since the fault was never GPU-side; retag v1.1.44
2026-05-25 18:40:06 -07:00
Eric
9a6956477f
[eric] windows: app.disableHardwareAcceleration() since dropping the gpu-blocklist override alone did not stop 0xC0000005 renderer crashes on chat/dashboard mount, so the native segfault is in the GPU process itself not just blocklist-bypass paths; software rasterization is slower but neutralizes the entire GPU-side native-crash class; win32 only, mac is unaffected; retag v1.1.44
2026-05-25 18:15:03 -07:00
Eric
bfe59e52b0
[eric] windows: drop ignore-gpu-blocklist + enable-gpu-rasterization + enable-zero-copy since Crashpad confirms every renderer crash is STATUS_ACCESS_VIOLATION 0xC0000005 with no JS cause, classic blocklisted-driver segfault pattern on Electron 40 CastLabs Chromium 144; respecting the blocklist lets Chromium fall back to software rasterization on affected GPUs; retag v1.1.44
2026-05-25 17:49:12 -07:00
Eric
099a0c69e7
[eric] diag: max-coverage logs (crashReporter for native minidumps, main-process uncaughtException + unhandledRejection + child-process-gone + preload-error, full render-process-gone details, safe sendToRenderer, every ipcMain.handle entry, BrowserCard / WorkflowCard render, AgentChat before-jsx) so the next renderer crash leaves a complete trace; retag v1.1.44
2026-05-25 17:29:40 -07:00
Eric
aa644d2d2a
[eric] fix: WebSocketManager.connect diag log read this.options.sessionId on a class that stores the field as this.sessionId directly, so every WS connect threw TypeError and triggered the Windows native renderer crash on every chat / dashboard hydration; retag as v1.1.44 since the chat-spawn root cause was already closed by the v1.1.44 preload race fix and my v1.1.45 instrumentation regressed it
2026-05-25 16:49:01 -07:00
Eric
be3808fa5c
[eric] diag: add global window.onerror + unhandledrejection handlers in Main.tsx so packaged-build stderr captures the stack trace of the "Cannot read properties of undefined (reading 'sessionId')" throw firing inside AgentChat's render path (bundle.js:2 alone is uninformative without source maps)
2026-05-25 16:27:39 -07:00
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