# fix\(web\): survive async settings hydration and group font dropdowns · stienswout/t3code

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

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

Visibility: public

Requested revision: d423e0034d894e7a743cbf68691711841836b5d0

Requested commit: d423e0034d894e7a743cbf68691711841836b5d0

Commit: d423e0034d894e7a743cbf68691711841836b5d0

Tree: ce81f1d746437c98ffeb37576578cd85ffbd7453

Author: Wout Stiens

Committer: Wout Stiens

## Message

```
fix(web): survive async settings hydration and group font dropdowns

Client settings hydrate after mount, which dropped two things on reload: the
terminal font (setFont fired while the surface was still loading, so the
preference never reached the created terminal) and the custom-font input
(customMode initialized from the pre-hydration empty value, leaving the
field hidden behind a "Custom" trigger). The terminal re-applies the current
preference once the surface exists, and the input visibility now derives
from the value itself.

Also groups mixed dropdowns (composer) into labeled Sans serif / Monospace
sections and removes the composer's redundant default entry - the reset
affordance already returns it to following the interface font.

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

```

## Parents

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

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