{"record":{"id":"a5be386fd7377db6","repo":"tinyhumansai/openhuman","slug":"ai-panel-backfill-poll-failed","errorCode":null,"errorMessage":"[ai-panel] backfill poll failed","messagePattern":"\\[ai-panel\\] backfill poll failed","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"app/src/components/settings/panels/useReembedBackfillModal.ts","lineNumber":71,"sourceCode":"    if (!reembed.open) return;\n    let cancelled = false;\n    // Serialize polls — if a status call takes >POLL_MS, skip the next tick\n    // rather than overlapping requests.\n    let inFlight = false;\n    const id = window.setInterval(() => {\n      if (inFlight) return;\n      inFlight = true;\n      void (async () => {\n        try {\n          const st = await memoryTreeBackfillStatus();\n          if (cancelled) return;\n          if (!st.in_progress) {\n            setReembed({ open: false, pending: 0 });\n          } else {\n            setReembed(r => ({ ...r, pending: st.pending_jobs }));\n          }\n        } catch (e) {\n          console.warn('[ai-panel] backfill poll failed', e);\n        } finally {\n          inFlight = false;\n        }\n      })();\n    }, POLL_MS);\n    return () => {\n      cancelled = true;\n      window.clearInterval(id);\n    };\n  }, [reembed.open]);\n\n  return { reembed, handleSave, dismissReembed };\n}\n","sourceCodeStart":53,"sourceCodeEnd":85,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/app/src/components/settings/panels/useReembedBackfillModal.ts#L53-L85","documentation":"A periodic memory-tree backfill status poll failed while the backfill modal was open: the memoryTreeBackfillStatus call inside the 2s interval rejected. A single failed poll is tolerated (the modal stays open with the last known pending count); the serialized inFlight guard prevents overlapping requests, and the next tick retries. Only sustained failures leave the modal showing a stale pending count.","triggerScenarios":"Thrown at app/src/components/settings/panels/useReembedBackfillModal.ts:71 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["No action for isolated failures — the next 2s poll retries automatically","If the modal's pending count freezes, check core health; closing and re-triggering the modal restarts polling","Sustained failures indicate an unhealthy core/memory service — inspect core logs","The backfill continues core-side even while status polling fails"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"749120085864ce16e0f273c7b86fac7740b39c5b","analyzedAt":"2026-08-17T21:21:45.363Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}