tinyhumansai/openhuman · error
[overlay] failed to open core socket
Error message
[overlay] failed to open core socket
What it means
The overlay window failed to open its core socket connection at setup. The overlay subscribes to the canonical colon-delimited event forms (e.g. dictation:toggle) over this socket; when the connection cannot be established, the overlay's event-driven UI (dictation state, notifications) does not update. Debug-level connect_error/disconnect handlers are installed alongside, so repeated failures are visible in the debug console.
Source
Thrown at app/src/overlay/OverlayApp.tsx:388
socket.on('connect_error', (err: Error) => {
console.debug('[overlay] socket connect error:', err.message);
});
socket.on('disconnect', (reason: string) => {
console.debug('[overlay] socket disconnected:', reason);
});
// Core emits each event under both colon and underscore forms
// (see `emit_with_aliases` in `src/core/socketio.rs`). Subscribe
// only to the canonical colon-delimited form so each signal fires
// the handler exactly once.
socket.on('dictation:toggle', handleDictationToggle);
socket.on('dictation:transcription', handleDictationTranscription);
socket.on('overlay:attention', handleAttention);
socket.connect();
} catch (err) {
console.warn('[overlay] failed to open core socket', err);
}
};
void connect();
return () => {
disposed = true;
if (socket) {
socket.disconnect();
socket = null;
}
clearDismissTimer();
};
}, [clearDismissTimer, handleAttention, handleDictationToggle, handleDictationTranscription]);
// ── Companion state via Tauri event ────────────────────────────────────
// The desktop companion now lives shell-side and emits a
// `companion://state_changed` Tauri event (camelCase payload) rather than theView on GitHub (pinned to 7491200858)
Solutions
- Verify the core process is healthy and the socket endpoint URL/port passed to the overlay is correct
- Check for auth rejection during the socket handshake (invalid/expired bearer)
- Look at the overlay debug console for the paired 'connect error' messages with the underlying reason
- Restarting the app re-initializes the overlay and its socket
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at app/src/overlay/OverlayApp.tsx:388 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/465e55d7ac0fcfa7.
Report an issue: GitHub.