{"record":{"id":"a37d1bbe559f0506","repo":"tinyhumansai/openhuman","slug":"subconscious-setinterval-failed","errorCode":null,"errorMessage":"[subconscious] setInterval failed:","messagePattern":"\\[subconscious\\] setInterval failed:","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"app/src/hooks/useSubconscious.ts","lineNumber":155,"sourceCode":"        await openhumanHeartbeatSettingsSet({ subconscious_mode: newMode });\n        await refresh();\n      } catch (err) {\n        console.warn('[subconscious] setMode failed:', err);\n        setError(err instanceof Error ? err.message : 'Failed to update mode');\n      } finally {\n        setSettingMode(false);\n      }\n    },\n    [refresh]\n  );\n\n  const setIntervalMinutes = useCallback(async (minutes: number) => {\n    if (!isTauri()) return;\n    setIntervalState(minutes);\n    try {\n      await openhumanHeartbeatSettingsSet({ interval_minutes: minutes });\n    } catch (err) {\n      console.warn('[subconscious] setInterval failed:', err);\n    }\n  }, []);\n\n  useEffect(() => {\n    if (!enabled) return;\n    refresh();\n    const interval = setInterval(refresh, 5000);\n    return () => {\n      clearInterval(interval);\n      fetchingRef.current = false;\n    };\n  }, [refresh, enabled]);\n\n  const isTriggering = useCallback(\n    (kind: TriggerKind) => triggeringKinds.has(kind),\n    [triggeringKinds]\n  );\n","sourceCodeStart":137,"sourceCodeEnd":173,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/app/src/hooks/useSubconscious.ts#L137-L173","documentation":"Failure of setIntervalMinutes in useSubconscious: the interval was applied optimistically to local state, then openhumanHeartbeatSettingsSet({interval_minutes}) rejected. The catch warns only — like setMode, local state keeps the optimistic value while the persisted interval is unchanged, until a later refresh corrects the display.","triggerScenarios":"Thrown at app/src/hooks/useSubconscious.ts:155 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Re-read settings via refresh() to reconcile local vs persisted interval","Validate the minutes value against the backend's allowed range before sending","Check core RPC health for persistent failures"],"exampleFix":null,"handlingStrategy":"try-catch","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"}