# fix\(web\): polish terminal drawer lifecycle around the async surface · stienswout/t3code

[View on GitCafe](https://git.cafe/stienswout/t3code/commit/94e34c7dec76285264a0a743cf3f724b9e61d16f)

Repository: [stienswout/t3code](https://git.cafe/stienswout/t3code)

Visibility: public

Requested revision: 94e34c7dec76285264a0a743cf3f724b9e61d16f

Requested commit: 94e34c7dec76285264a0a743cf3f724b9e61d16f

Commit: 94e34c7dec76285264a0a743cf3f724b9e61d16f

Tree: f7d33f7b596168d7f1750ac71317258e5c0a95b6

Author: Wout Stiens

Committer: Wout Stiens

## Message

```
fix(web): polish terminal drawer lifecycle around the async surface

- re-apply the app theme after the WASM surface mounts so a light/dark
  toggle during loading is not lost until the next toggle
- let the surface's onResize callback be the single channel for PTY
  resize RPCs, removing the duplicate explicit sends on drawer drags
- anchor the selection-action menu to the selection end computed from
  Ghostty cell geometry, replacing the DOM-selection lookup that can
  never match a canvas renderer
- tell the user to close and reopen the terminal when the WASM surface
  fails to initialize, and clarify the exited-attach synchronization
  comment

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

```

## Parents

- [da91992d109e2539fd332f148ef8496db3672522](https://git.cafe/stienswout/t3code/commit/da91992d109e2539fd332f148ef8496db3672522?format=markdown)

[Source at this commit](https://git.cafe/stienswout/t3code/tree/94e34c7dec76285264a0a743cf3f724b9e61d16f?format=markdown)
