From e2ea5e03cf4bc660a94963900f1c8c0f3c31b8d5 Mon Sep 17 00:00:00 2001 From: Eric Date: Mon, 25 May 2026 21:27:14 -0700 Subject: [PATCH] [eric] windows 1.1.51 diag: render logs on every ChatInputToolbar child (ModeControl, ModelPickerMenu, ThinkingLevelControl, ToolbarActions) so the next 0xC0000005 crash narrows from "ChatInputToolbar last" to the exact toolbar child that commits before the segfault --- electron/package.json | 2 +- .../AgentChat/ChatInput/model-picker/ModelPickerMenu.tsx | 6 ++++++ .../pages/AgentChat/ChatInput/toolbar/ChatInputToolbar.tsx | 4 ++++ .../app/pages/AgentChat/ChatInput/toolbar/ContextRing.tsx | 2 ++ .../app/pages/AgentChat/ChatInput/toolbar/ModeControl.tsx | 6 ++++++ .../AgentChat/ChatInput/toolbar/ThinkingLevelControl.tsx | 6 ++++++ .../pages/AgentChat/ChatInput/toolbar/ToolbarActions.tsx | 6 ++++++ 7 files changed, 31 insertions(+), 1 deletion(-) diff --git a/electron/package.json b/electron/package.json index 475d2f22..9908077e 100644 --- a/electron/package.json +++ b/electron/package.json @@ -1,6 +1,6 @@ { "name": "openswarm", - "version": "1.1.50", + "version": "1.1.51", "description": "OpenSwarm — AI Agent Orchestrator", "author": "openswarm-ai", "main": "main.js", diff --git a/frontend/src/app/pages/AgentChat/ChatInput/model-picker/ModelPickerMenu.tsx b/frontend/src/app/pages/AgentChat/ChatInput/model-picker/ModelPickerMenu.tsx index 232e06bc..9f3275d6 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/model-picker/ModelPickerMenu.tsx +++ b/frontend/src/app/pages/AgentChat/ChatInput/model-picker/ModelPickerMenu.tsx @@ -44,6 +44,12 @@ interface Props { } export const ModelPickerMenu: React.FC = (props) => { + // eslint-disable-next-line no-console + console.log('[diag][ModelPickerMenu:render]', 'model=', props.model, 'open=', !!props.modelAnchor); + React.useEffect(() => { + // eslint-disable-next-line no-console + console.log('[diag][ModelPickerMenu:committed]'); + }); const { c, menuPaperProps, modelAnchor, setModelAnchor, model, onModelChange, onProviderChange, modelSearchRef, modelSearch, setModelSearch, pushRecentModel, pushRecentSearch, diff --git a/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ChatInputToolbar.tsx b/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ChatInputToolbar.tsx index 7f075f17..213c912b 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ChatInputToolbar.tsx +++ b/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ChatInputToolbar.tsx @@ -53,6 +53,10 @@ interface Props { export const ChatInputToolbar: React.FC = (p) => { // eslint-disable-next-line no-console console.log('[diag][ChatInputToolbar:render]', p.sessionId); + React.useEffect(() => { + // eslint-disable-next-line no-console + console.log('[diag][ChatInputToolbar:committed]'); + }); const { c, modeConf, modesArr, mode, onModeChange, iconMap, modeAnchor, setModeAnchor, modelAnchor, setModelAnchor, thinkingAnchor, setThinkingAnchor, diff --git a/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ContextRing.tsx b/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ContextRing.tsx index 0eea0bda..9bdadcc9 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ContextRing.tsx +++ b/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ContextRing.tsx @@ -4,6 +4,8 @@ import Tooltip from '@mui/material/Tooltip'; import { formatTokenCount } from '../helpers'; export const ContextRing: React.FC<{ used: number; limit: number; accentColor: string; trackColor: string }> = ({ used, limit, accentColor, trackColor }) => { + // eslint-disable-next-line no-console + console.log('[diag][ContextRing:render]', 'used=', used, 'limit=', limit); if (used === 0) return null; const pct = Math.min((used / limit) * 100, 100); const size = 20; diff --git a/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ModeControl.tsx b/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ModeControl.tsx index 0dbfeda4..fab1124a 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ModeControl.tsx +++ b/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ModeControl.tsx @@ -28,6 +28,12 @@ interface Props { export const ModeControl: React.FC = ({ c, menuPaperProps, modeConf, modesArr, mode, onModeChange, iconMap, modeAnchor, setModeAnchor, setModelAnchor, allModelFlat, model, }) => { + // eslint-disable-next-line no-console + console.log('[diag][ModeControl:render]', 'mode=', mode); + React.useEffect(() => { + // eslint-disable-next-line no-console + console.log('[diag][ModeControl:committed]'); + }); return ( <> = ({ c, model, allModelFlat, thinkingLevel, onThinkingLevelChange, thinkingAnchor, setThinkingAnchor, menuPaperProps, }) => { + // eslint-disable-next-line no-console + console.log('[diag][ThinkingLevelControl:render]', 'model=', model, 'level=', thinkingLevel); + React.useEffect(() => { + // eslint-disable-next-line no-console + console.log('[diag][ThinkingLevelControl:committed]'); + }); const currentModel = allModelFlat.find((m: any) => m.value === model) as any; if (!currentModel?.reasoning || !onThinkingLevelChange) return null; const levels: Array<{ value: ThinkingLevel; label: string; desc: string }> = [ diff --git a/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ToolbarActions.tsx b/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ToolbarActions.tsx index 78af52ce..5b30d418 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ToolbarActions.tsx +++ b/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ToolbarActions.tsx @@ -30,6 +30,12 @@ export const ToolbarActions: React.FC = ({ c, elementSelection, autoRunMode, ownerId, sessionId, generalFileInputRef, addImageFiles, uploadAndAttachFiles, hasContent, disabled, isRunning, onStop, handleSend, }) => { + // eslint-disable-next-line no-console + console.log('[diag][ToolbarActions:render]', sessionId, 'isRunning=', isRunning); + React.useEffect(() => { + // eslint-disable-next-line no-console + console.log('[diag][ToolbarActions:committed]'); + }); return ( <> {elementSelection && !autoRunMode && (() => {