From 4881a5097aebe42adaa180ddd0b2a14305a7d655 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Michelle?= Date: Thu, 19 Mar 2026 17:38:27 +0100 Subject: [PATCH] fixes #210 --- packages/app/studio/src/service/StudioService.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/app/studio/src/service/StudioService.ts b/packages/app/studio/src/service/StudioService.ts index c646cb1e..5f432b01 100644 --- a/packages/app/studio/src/service/StudioService.ts +++ b/packages/app/studio/src/service/StudioService.ts @@ -396,7 +396,10 @@ export class StudioService implements ProjectEnv { const previousScreen = this.#activeCodeEditor.map(state => state.previousScreen).unwrapOrNull() this.#activeCodeEditor.clear() if (this.layout.screen.getValue() === "code") { - this.layout.screen.setValue(previousScreen ?? "default") + // Defer the screen switch to avoid cascading UI updates during synchronous + // box deletion. Switching the screen triggers DevicePanel re-evaluation which + // clears mounts before remaining pointerHub onRemoved events have finished. + queueMicrotask(() => this.layout.screen.setValue(previousScreen ?? "default")) } }