Skip to content

fix: recover extension install collisions and release 0.3.9 - #17

Merged
notmike101 merged 1 commit into
mainfrom
agent/fix-extension-install-collisions
Jul 25, 2026
Merged

fix: recover extension install collisions and release 0.3.9#17
notmike101 merged 1 commit into
mainfrom
agent/fix-extension-install-collisions

Conversation

@notmike101

Copy link
Copy Markdown
Owner

Summary

  • recover catalog installs when an incompatible or otherwise untracked extension directory already occupies the destination
  • preserve the displaced tree in .trash, fall back to a verified copy when Windows locks prevent rename, and restore the old tree if replacement fails
  • serialize nested errors so extension scan/install failures retain their real messages and filesystem details
  • bump host and SDK metadata to 0.3.9 and make the host-updater test fixture version-independent

Root cause

An incompatible zcode-tps 0.1.0 directory remained on disk after ZCode moved to 3.5.2. Startup correctly rejected it, but omitted it from the installed-record map. Catalog install therefore passed the in-memory duplicate check and collided with the hidden destination. Windows surfaced the collision as EPERM; the directory was also held open by the running Electron process, so a plain rename could not recover.

User impact

Catalog installs now self-heal stale hidden destinations without deleting the previous extension tree. Locked destinations use the same copy fallback already proven by extension updates, while retaining a rollback copy.

Validation

  • bun scripts/package-release.ts --verify-only --tag v0.3.9
  • bun run typecheck
  • bun test (53 passed)
  • clean detached Windows worktree: bun run check
  • clean detached Windows worktree: npm pack ./sdk --dry-run
  • clean detached Windows worktree: bun scripts/package-release.ts --tag v0.3.9
  • live repair: verified and installed Token Speed 0.1.1 over the locked incompatible 0.1.0 tree, with 0.1.0 preserved in .trash

@notmike101
notmike101 merged commit 31c20d7 into main Jul 25, 2026
2 checks passed
@notmike101
notmike101 deleted the agent/fix-extension-install-collisions branch July 25, 2026 01:58
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