feat: Add One-Time Startup Remote Plugin Sync#15264
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9d40b621e4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| fn startup_remote_plugin_sync_prerequisites_ready(codex_home: &Path) -> bool { | ||
| codex_home | ||
| .join(".tmp/plugins/.agents/plugins/marketplace.json") | ||
| .is_file() | ||
| && codex_home.join(".tmp/plugins.sha").is_file() | ||
| } |
There was a problem hiding this comment.
Wait for fresh curated snapshot before startup remote sync
startup_remote_plugin_sync_prerequisites_ready only checks that marketplace/sha files exist. Those can be stale while start_curated_repo_sync is still updating in the background (manager.rs). In that window, remote sync runs against old marketplace data, may drop remote plugins that are not yet present locally, then writes the marker, so startup sync will not retry after the curated repo update completes.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
It is OK.
Startup remote sync only needs a complete local curated snapshot, not necessarily the freshest one.
5eda893 to
a3cbbcf
Compare
For early users who have already enabled apps, we should enable plugins as part of the initial setup.