tinyhumansai/openhuman · error
[ai-panel] backfill status check failed
Error message
[ai-panel] backfill status check failed
What it means
The initial memory-tree backfill status check failed after a successful settings save: memoryTreeBackfillStatus rejected, so the hook could not determine whether a re-embed backfill was triggered (st.in_progress). Consequently the backfill progress modal is never opened — a running backfill proceeds unmonitored rather than being surfaced to the user.
Source
Thrown at app/src/components/settings/panels/useReembedBackfillModal.ts:46
const POLL_MS = 2000;
/**
* @param save Persists settings; resolves `true` only on a successful write
* (a failed save did not change the embedder, so nothing to surface).
*/
export function useReembedBackfillModal(save: () => Promise<boolean>): ReembedBackfillModal {
const [reembed, setReembed] = useState<ReembedState>({ open: false, pending: 0 });
const handleSave = useCallback(async () => {
const ok = await save();
if (!ok) return;
try {
const st = await memoryTreeBackfillStatus();
if (st.in_progress) {
setReembed({ open: true, pending: st.pending_jobs });
}
} catch (e) {
console.warn('[ai-panel] backfill status check failed', e);
}
}, [save]);
const dismissReembed = useCallback(() => setReembed({ open: false, pending: 0 }), []);
useEffect(() => {
if (!reembed.open) return;
let cancelled = false;
// Serialize polls — if a status call takes >POLL_MS, skip the next tick
// rather than overlapping requests.
let inFlight = false;
const id = window.setInterval(() => {
if (inFlight) return;
inFlight = true;
void (async () => {
try {
const st = await memoryTreeBackfillStatus();
if (cancelled) return;View on GitHub (pinned to 7491200858)
Solutions
- Check the warned error — core RPC transport or auth expiry are the usual causes
- Re-save the embedder setting to re-trigger the status check once healthy
- The backfill itself runs core-side regardless; verify progress later via the AI/memory settings status
- Persistent failures: inspect core logs for the memory tree backfill status handler
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at app/src/components/settings/panels/useReembedBackfillModal.ts:46 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/1455ac886b9c69c5.
Report an issue: GitHub.