Skip to content

fix(plugins): prevent stale version writes during updates - #60

Closed
teo-nex wants to merge 1 commit into
howdeploy:mainfrom
teo-nex:fix/plugin-update-version-race-20260923
Closed

teo-nex wants to merge 1 commit into
howdeploy:mainfrom
teo-nex:fix/plugin-update-version-race-20260923

Conversation

@teo-nex

@teo-nex teo-nex commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

A version check and a plugin update each read and rewrite the version manifest independently. If a delayed check finishes after an update, it can overwrite the new installed version with stale data. Two concurrent updates of the same plugin can also collide while swapping temporary directories.

This serializes version-manifest read/modify/write operations and shares one in-flight update promise per plugin. Deterministic regressions cover both interleavings with temporary plugin fixtures.

Validation: 38 plugin-manager tests, 660/660 full project tests, TypeScript typecheck, and git diff --check pass. No installed plugins or live app were changed.

@howdeploy

Copy link
Copy Markdown
Owner

Integrated into main via #73. The plugin update fix and your authored commit are preserved in the merge history. Thank you, @teo-nex.

@howdeploy howdeploy closed this Sep 24, 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.

2 participants