# Persist and serve projected message image attachments · screen/t3code-personal

[View on GitCafe](https://git.cafe/screen/t3code-personal/commit/992db1658633ff268be5d1167634966ae63ed859)

Repository: [screen/t3code-personal](https://git.cafe/screen/t3code-personal)

Visibility: public

Requested revision: 992db1658633ff268be5d1167634966ae63ed859

Requested commit: 992db1658633ff268be5d1167634966ae63ed859

Commit: 992db1658633ff268be5d1167634966ae63ed859

Tree: 19de896b15b24912a0d4a8c0cb5385dd0007e479

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
Persist and serve projected message image attachments

- Store message attachments in `projection_thread_messages.attachments_json`
- Materialize base64 image attachments to `stateDir/attachments` during projection
- Serve `/attachments/*` from the server and resolve preview URLs from WebSocket origin
- Add migration and tests for projection materialization and attachment serving

```

## Parents

- [2aad749e2474f79a532764c9f6f7ce4abc3a68f0](https://git.cafe/screen/t3code-personal/commit/2aad749e2474f79a532764c9f6f7ce4abc3a68f0?format=markdown)

[Source at this commit](https://git.cafe/screen/t3code-personal/tree/992db1658633ff268be5d1167634966ae63ed859?format=markdown)
