Skip to content

fix: always fetch manifest from GitHub, cache is offline-only#3271

Closed
AhmedTMM wants to merge 1 commit intoOpenRouterTeam:mainfrom
AhmedTMM:fix/always-fetch-manifest
Closed

fix: always fetch manifest from GitHub, cache is offline-only#3271
AhmedTMM wants to merge 1 commit intoOpenRouterTeam:mainfrom
AhmedTMM:fix/always-fetch-manifest

Conversation

@AhmedTMM
Copy link
Copy Markdown
Collaborator

Summary

  • Manifest is now always fetched fresh from GitHub on every run
  • Disk cache is only used when the network is unreachable (offline fallback)
  • Removed CACHE_TTL and tryLoadFromDiskCache — no more cache-first path

Why

The 1h cache TTL could get stuck stale if GitHub fetches failed silently. Users would see a 14-day-old manifest missing new agents/clouds (like Daytona and Pi) with no way to fix it except manually deleting the cache file.

Trade-off

Each spawn run now makes a ~10KB network request to GitHub. The 10s timeout ensures it doesn't block if GitHub is slow. For users who run spawn frequently, the in-memory cache still works within the same process.

Test plan

  • 2043 tests pass (updated 1 test that expected cache-first behavior)
  • Biome lint clean

🤖 Generated with Claude Code

The manifest cache (1h TTL) could get stuck stale if fetches failed
silently, hiding new agents/clouds for days. Now the CLI always
fetches fresh from GitHub on every run — cache is only used as an
offline fallback when the network is unreachable.

Removed CACHE_TTL and tryLoadFromDiskCache since the cache-first
path is no longer used.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@AhmedTMM
Copy link
Copy Markdown
Collaborator Author

Superseded by #3272 — same approach but with 3s timeout instead of 10s for bad wifi.

@AhmedTMM AhmedTMM closed this Apr 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant