Skip to content

Conversation

@jamespapapa
Copy link

Add comprehensive offline mode to enable OpenCode in closed networks:

  • Add OPENCODE_OFFLINE_MODE environment variable
  • Add timeouts (2-5s) to all external network requests
  • Auto-disable LSP downloads, auto-updates in offline mode
  • Skip share sync and remote config loading offline
  • Add fallbacks for models.dev API fetch failures
  • Add timeout to Installation.latest() version checks
  • Add timeout to remote config (.well-known/opencode)
  • Add timeout to session import from URLs

Modified files:

  • flag/flag.ts: Add OPENCODE_OFFLINE_MODE flag
  • installation/index.ts: Timeout for version checks
  • config/config.ts: Timeout for remote config
  • provider/models-macro.ts: Timeout for models API
  • share/share.ts: Skip in offline mode
  • share/share-next.ts: Skip in offline mode
  • cli/cmd/import.ts: Timeout for URL imports
  • OFFLINE_MODE.md: Complete offline setup guide

What does this PR do?

How did you verify your code works?

Add comprehensive offline mode to enable OpenCode in closed networks:

- Add OPENCODE_OFFLINE_MODE environment variable
- Add timeouts (2-5s) to all external network requests
- Auto-disable LSP downloads, auto-updates in offline mode
- Skip share sync and remote config loading offline
- Add fallbacks for models.dev API fetch failures
- Add timeout to Installation.latest() version checks
- Add timeout to remote config (.well-known/opencode)
- Add timeout to session import from URLs

Modified files:
- flag/flag.ts: Add OPENCODE_OFFLINE_MODE flag
- installation/index.ts: Timeout for version checks
- config/config.ts: Timeout for remote config
- provider/models-macro.ts: Timeout for models API
- share/share.ts: Skip in offline mode
- share/share-next.ts: Skip in offline mode
- cli/cmd/import.ts: Timeout for URL imports
- OFFLINE_MODE.md: Complete offline setup guide
@github-actions
Copy link
Contributor

Thanks for your contribution!

This PR doesn't have a linked issue. All PRs must reference an existing issue.

Please:

  1. Open an issue describing the bug/feature (if one doesn't exist)
  2. Add Fixes #<number> or Closes #<number> to this PR description

See CONTRIBUTING.md for details.

@github-actions
Copy link
Contributor

The following comment was made by an LLM, it may be inaccurate:

No duplicate PRs found

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants