v0.27.2
Workspai v0.27.2 Release Notes
Release date: May 10, 2026
Version: 0.27.1 -> 0.27.2
Release posture: stabilization-only
Executive Summary
v0.27.2 is a targeted stability patch that eliminates a class of uncaught Webview is disposed errors in the Setup & Installation panel. When users closed the panel while background async checks were still running, deferred postMessage calls fired against an already-disposed webview, producing noisy uncaught errors in the extension host output. This release makes every such call disposal-safe.
What Is Fixed
1) Webview disposal safety in Setup & Installation panel
Problem: Closing the Setup panel mid-check triggered up to 3 uncaught Webview is disposed errors per session. Async requirement checks, setTimeout-based polling, and setImmediate initialization all posted messages after the panel was gone.
Solution:
- Added a private
_isDisposingflag onSetupExperiencePanel. - Registered an explicit
onDidDisposehandler that sets the flag and triggers cleanup before any internal state is torn down. - Introduced
_safePostMessage(message)— a thin guard method that checks_isDisposingbefore delegating tothis._panel.webview.postMessage(), and wraps the call in atry/catchto silently absorb any residual disposal errors. - Replaced all 20+ direct
this._panel.webview.postMessage(...)calls withthis._safePostMessage(...). - Moved the
onDidReceiveMessagelistener registration intothis._disposablesso it is torn down as part of the standard disposal lifecycle. Added an early-return guard:if (this._isDisposing) return;at the top of the message handler.
Scope: src/ui/panels/setupExperiencePanel.ts only — no behavior changes, no new commands, no API surface changes.
Changed
- All internal panel message dispatch now routes through
_safePostMessage()for uniform disposal safety.
Fixed
- Eliminated
Webview is disposeduncaught errors that appeared in VS Code extension host output when closing the Setup & Installation panel during active requirement checks.