tinyhumansai/openhuman · error
[overlay] could not resolve current monitor for positioning
Error message
[overlay] could not resolve current monitor for positioning
What it means
Overlay default-positioning path: no saved drag position existed (or the saved one was invalid and was removed), so the code asked Tauri's currentMonitor() for the display geometry to pin the overlay bottom-right — and it returned null/undefined. The function returns without repositioning; the OS/window-manager default placement is used instead, which may land the overlay on a non-ideal screen or spot.
Source
Thrown at app/src/overlay/OverlayApp.tsx:664
try {
const { x, y } = JSON.parse(saved) as { x: number; y: number };
await appWindow.setPosition(new LogicalPosition(x, y));
userDraggedRef.current = true;
return;
} catch {
localStorage.removeItem(OVERLAY_POSITION_KEY);
}
}
if (userDraggedRef.current) {
return;
}
// Default: pin to bottom-right corner
try {
const monitor = await currentMonitor();
if (!monitor) {
console.warn('[overlay] could not resolve current monitor for positioning');
return;
}
const x = monitor.workArea.position.x + monitor.workArea.size.width - width - margin;
const y = monitor.workArea.position.y + monitor.workArea.size.height - height - margin;
await appWindow.setPosition(new LogicalPosition(x, y));
} catch (error) {
console.warn('[overlay] failed to pin overlay bottom-right after resize', error);
}
};
void updateWindowFrame();
}, [status]);
// ── Render ────────────────────────────────────────────────────────────
const bubbles = useMemo<OverlayBubble[]>(() => (bubble ? [bubble] : []), [bubble]);
const orbClassName = useMemo(() => {
if (status === 'active') {View on GitHub (pinned to 7491200858)
Solutions
- Drag the overlay once — the manual position persists to localStorage and bypasses monitor resolution
- Reconnect/enable displays if the window is on a detached monitor
- Restart the app; monitor enumeration is often transiently empty during startup
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at app/src/overlay/OverlayApp.tsx:664 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/aa700bb3d633d7ee.
Report an issue: GitHub.