# perf\(web\): defer composer draft serialization \(\#9695\) · gitcafe/t3code

[View on GitCafe](https://git.cafe/gitcafe/t3code/commit/dab5f6e6e02e78675655e69503aa89654e5b8050)

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

Visibility: public

Requested revision: dab5f6e6e02e78675655e69503aa89654e5b8050

Requested commit: dab5f6e6e02e78675655e69503aa89654e5b8050

Commit: dab5f6e6e02e78675655e69503aa89654e5b8050

Tree: 1dfcda353297683202f74a8910a67e01a87e5f60

Author: Theo Browne

Committer: GitHub

## Message

```
perf(web): defer composer draft serialization (#9695)

Defer the draft walk and JSON serialization until the storage write flushes.
Preserve hydration, migrations, attachment verification, and final flushes.

Continues the web portion of [#9049](https://github.com/pingdotgg/t3code/pull/9049).
The mobile storage migration remains separate.

Created with GPT-6 Astra (preview) in Codex.

Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
```

## Parents

- [777f5bb2e11fe30e7fdcb5741b0b1d9bb20924d6](https://git.cafe/gitcafe/t3code/commit/777f5bb2e11fe30e7fdcb5741b0b1d9bb20924d6?format=markdown)

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