- Shipped
- October 21, 2026 at 1:19 AM UTC
- Author
- Kamo
- Commit
- b6b12b5
Each message's inbound parts (VOIPService now keeps them) draw inside its bubble: pictures in place (tap to open), voice notes and video with players, PDFs and contact cards as named files, each through the chat's attachment recovery (cookie re-plant, then a 410/503 verdict). A part still being fetched says so and the thread reads itself again (2 s ... 60 s, then stops); one that was not kept says why. The live frame's attachmentsPending drives the first re-read, the paperclip in the conversation list and the voice's 'has attachments'. Screenshot- and axe-checked in a harness.
