diff --git a/ui-electrobun/src/mainview/agent-store.svelte.ts b/ui-electrobun/src/mainview/agent-store.svelte.ts index 0e5ba80..8c3cbfc 100644 --- a/ui-electrobun/src/mainview/agent-store.svelte.ts +++ b/ui-electrobun/src/mainview/agent-store.svelte.ts @@ -574,6 +574,7 @@ export async function stopAgent(projectId: string): Promise<{ ok: boolean; error /** Send a follow-up prompt to a running session. */ export async function sendPrompt(projectId: string, prompt: string): Promise<{ ok: boolean; error?: string }> { + ensureListeners(); const sessionId = projectSessionMap.get(projectId); if (!sessionId) return { ok: false, error: 'No session for project' }; @@ -798,5 +799,6 @@ function enforceMaxSessions(projectId: string): void { } } -/** Initialize listeners on module load. */ -ensureListeners(); +// NOTE: Do NOT call ensureListeners() at module load — appRpc may not be +// initialized yet (setAppRpc runs in main.ts after module imports resolve). +// Listeners are registered lazily on first startAgent/getSession/sendPrompt call.