Repository navigation
fix: prevent formatter registration after context disposal - #142
Eduardo Villalpando Mello (edvilme) merged 1 commit into
Conversation
Guard late restart failures, missing-interpreter shutdown, and per-project initialization against restoring the formatter placeholder after disposal. Preserve fallback recovery for live contexts and cover all paths with deferred regression tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 85ef72cc-9e26-4bc4-b1c3-55256d9bef91
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues are reported for the changes preventing formatter-placeholder restoration after disposal.
No open issues 🎉
What changed in this PR
Addresses #138 by preventing asynchronous server operations from restoring the formatter placeholder after the extension context is disposed, while preserving fallback recovery for live contexts.
Changes:
- Add disposal guards after per-project initialization, missing-interpreter shutdown, and restart failure.
- Add four regression tests covering disposal races and live-context fallback recovery.
- Clarify that disposal removes the placeholder without waiting for in-flight restarts.
| File | Description |
|---|---|
typescript/tests/activation.test.ts |
Add deferred-barrier tests for disposal safety and fallback recovery. |
typescript/src/activation.ts |
Guard formatter registration after disposal and clarify the lifecycle contract. |
Review effort: Balanced
|
🔒 Automated review in progress — Rich Chiodo (@rchiodo) is auto-reviewing this PR. |
|
Reviewed commit: Result: 🔴 Verification detailsVerification: Automated verification is best effort. The PR author remains responsible for testing. Summary: [unavailable] Container verification could not start and local execution was not authorized for this PR HEAD: Podman machine 'pyrx-automation' is not running. Test runs: none recorded. |
Rich Chiodo (rchiodo)
left a comment
There was a problem hiding this comment.
Approved via Review Center.
c0f1fbe
into
main
Summary
Fixes #138.
Restart scheduling, shutdown waiting semantics, and normal formatter recovery are unchanged.
Validation
git diff --check: passed; existing nonblocking lint warnings remain.