mirror of
https://github.com/stablyai/orca.git
synced 2026-10-22 16:03:47 +00:00
A cold refresh failure cached `null` for the full 6h success TTL, so an Orca that autostarts before Wi-Fi/VPN associates advertised no Android recommendation for the rest of the session. Mobile could not recover on its own: once the refresh settled, `recommendedMobileAppVersionsPending` was undefined, so it scheduled no follow-up read. The cache is per-main-process, so this recurred on every desktop relaunch. Track failure in the cache state and give failed refreshes a 10-minute TTL while successes keep 6h. The inFlight dedupe guard still collapses concurrent status.get calls, so the retry floor is ~6 calls/hour against GitHub's 60/hr unauthenticated budget. A failure still retains the last-known-good version; only a cold failure yields null. Also drop the dead `appVersion` line from getStatus(): status.get spreads getStatus() and then re-assigns appVersion from the remote-server-updater snapshot, so the spread always lost. That snapshot falls back to '0.0.0-dev' rather than undefined. Its duplicate RuntimeStatus declaration broke `tsc` (TS2300) — appVersion was already declared.