# Stack \#23043 · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/stacks/23043)

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

Visibility: public

State: completed

Landing base: main

Revision: 8

## Members

- [\#23040 perf\(web\): typing no longer re-renders the traits picker or attach button](https://git.cafe/pingdotgg/t3code/pull/23040.md) — landed; refactor/split2-composer-traits → main

- [\#23042 refactor\(web\): the composer's layout and provider hooks live in their own files](https://git.cafe/pingdotgg/t3code/pull/23042.md) — landed; refactor/split2-composer-layout-hooks → refactor/split2-composer-traits

- [\#23046 refactor\(web\): the prompt stash lives in useComposerStash](https://git.cafe/pingdotgg/t3code/pull/23046.md) — landed; refactor/split2-composer-stash → refactor/split2-composer-layout-hooks

- [\#23048 refactor\(web\): composer context imports live in useComposerContextImport](https://git.cafe/pingdotgg/t3code/pull/23048.md) — landed; refactor/split2-composer-attachments → refactor/split2-composer-stash

- [\#23049 refactor\(web\): composer file intake lives in useComposerAttachmentIntake](https://git.cafe/pingdotgg/t3code/pull/23049.md) — landed; refactor/split2-composer-attachment-intake → refactor/split2-composer-attachments

- [\#23058 refactor\(web\): the composer's footer controls render in ComposerControlsBar](https://git.cafe/pingdotgg/t3code/pull/23058.md) — landed; refactor/split2-composer-footer-controls → refactor/split2-composer-attachment-intake

- [\#23060 refactor\(web\): composer key handling lives in useComposerCommandKey](https://git.cafe/pingdotgg/t3code/pull/23060.md) — landed; refactor/split2-composer-command-keys → refactor/split2-composer-footer-controls
