Skip to content

fix: defer locked obsolete Authority cleanup and prepare v1.8.5 - #492

Merged
Wibias merged 5 commits into
mainfrom
fix/authority-obsolete-cleanup-v1.8.5
Nov 4, 2026
Merged

Wibias merged 5 commits into
mainfrom
fix/authority-obsolete-cleanup-v1.8.5

Conversation

@Wibias

@Wibias Wibias commented Nov 4, 2026 •

Copy link
Copy Markdown
Owner

Summary

Fix a real Windows Approval GUI upgrade failure: with an obsolete version's clrjit.dll held open, v1.8.4 already committed the new GUI install record but then threw from old-version cleanup. The parent updater rolled the skill back, leaving Skill 1.8.3 / GUI record 1.8.4. A post-commit exception could also attempt to restart the previous GUI.

Prepare v1.8.5. This PR does not touch agent-hub.

Changes

  • authority-host/windows/install-release.ps1: after committing the verified new executable, startup shortcut, and install record, obsolete version-only directories and the obsolete root launcher are removed on a best-effort basis. A locked file now produces a visible deferred-cleanup warning and is retried on the next installation.
  • Keep failures in the required copy, target-directory replace, metadata validation, startup shortcut, install-record write, and new executable start paths fatal. Do not treat a bad new installation as a successful update.
  • Do not restart the previous GUI on an error after the new install record has committed.
  • tests/windows/authority-install-obsolete-cleanup.test.ps1 + .github/workflows/ci.yml: drive the real Windows PowerShell 5.1 installer while holding exclusive file handles on an obsolete clrjit.dll and legacy launcher. Verify the new record/executable, warning, preservation of persistent state and unknown content, then successful cleanup after releasing the handles and retrying.
  • package.json, CHANGELOG.md: bump 1.8.4 -> 1.8.5, with dated release notes.

Regression evidence

  • RED test-only commit 21592a86532194f9b34f81284a4d6c2185685e52, Windows CI run 41754021416: failure in Publish Windows authority host from Remove-Item ... clrjit.dll while an exclusive handle was held open. Node 22 / 24 passed, confirming failure in targeted Windows behavior rather than unrelated code.
  • GREEN commit 46d5d28dcb3714f886d00ed9d9897dabf1d820f0: full CI passed (Node 22, Node 24, Node 26 compatibility, Windows authority), including real Windows locked-file regression (Authority obsolete-file cleanup regression: PASS). The separate Authority installer retention workflow, Windows trace bins, Dependency Review, and CodeQL JavaScript/TypeScript passed. CodeQL C# is still running as of this description update.
  • Existing tests/windows/authority-release-retention.ps1 still verifies obsolete versions are removed when no lock exists. This PR does not weaken, skip, or suppress that check.

No merge, tag, GitHub Release, or npm publication requested. Keep as Draft.

@coderabbitai

coderabbitai Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f9dc5510-073a-4c12-9279-7f7e65618874
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@Wibias
Wibias marked this pull request as ready for review November 4, 2026 01:36
@Wibias
Wibias merged commit 4e682bd into main Nov 4, 2026
15 checks passed
@Wibias
Wibias deleted the fix/authority-obsolete-cleanup-v1.8.5 branch November 4, 2026 01:41
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