Release 1.2.1 with native plugin hooks#46
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0c1b14c4c4
ℹ️ 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".
| async function installOrUpdate() { | ||
| const marketplaceConfig = resolveInstallerMarketplaceConfig(); | ||
| const hooksChanged = configureNativePluginHooks(); | ||
| cleanupLegacyLocalInstall(); |
There was a problem hiding this comment.
Remove legacy cc plugin sections during install migrations
During install/update, the migration cleanup removes legacy files and marketplace entries but never removes old [plugins."cc@..."] config blocks, so users upgrading from the previous local-install flow can end up with both cc@local-plugins and cc@sendbird enabled while the legacy plugin root has already been deleted. That leaves an orphaned enabled plugin section pointing to a removed install and can cause plugin loading conflicts or startup failures on upgraded setups; the install migration path should also call the same config-section cleanup currently used by uninstall.
Useful? React with 👍 / 👎.
| if (!fs.existsSync(PERSONAL_MARKETPLACE_FILE)) { | ||
| return; | ||
| } | ||
| const parsed = JSON.parse(fs.readFileSync(PERSONAL_MARKETPLACE_FILE, "utf8")); |
There was a problem hiding this comment.
Guard cleanup against malformed personal marketplace JSON
removePersonalMarketplaceCcEntries() does an unconditional JSON.parse of ~/.agents/plugins/marketplace.json, and this cleanup now runs on every install/update/uninstall. If that user-managed file is malformed (even unrelated to cc), the installer now throws and aborts before it can install or uninstall the plugin, which is a regression in robustness for normal upgrade paths. This parse should be wrapped defensively (e.g., ignore or warn on invalid JSON) so unrelated marketplace corruption does not brick installer operations.
Useful? React with 👍 / 👎.
0c1b14c to
3f47a34
Compare
Summary
Verification