fix(mobile): size a chat image's frame before its bytes arrive

The image frame went through three sizes: full width on the first
render, the measured width after its own onLayout, then the decoded
size. Each one changed the row's height after LegendList had already
placed the rows below it, so a screenshot could push the end of the
thread behind the composer or leave the next tool call drawn under it.

The feed now hands markdown its content width through context, so the
placeholder is the right width on the first render, and the server's
image dimensions size the frame exactly before the first byte arrives.
An image the server could not measure still reserves a 16:9 slot.

Co-Authored-By: Claude Code <noreply@anthropic.com>
3aad87849aJulius Marminge committed on 9/5/2026, 9:01:18 PMparent0c0d4ea
2 files changedLine totals unavailable