Problem
Attaching multiple photos from the iOS app's chat composer — particularly modern iPhone 48MP photos — causes one or more of:
- Attachments silently fail to deliver
- Memory pressure during base64 encoding on the MainActor
- Per-attachment payload exceeds gateway/model limits (typical ceiling ~5 MB)
- Stack overflows during image decode when multiple full-resolution assets are loaded at once
Tested on iPhone 16 Pro Max (iOS 26.3.1) against gateway 2026.4.15 over WAN WebSocket. Multi-image send in a single message reliably degrades the experience.
Expected
iOS client resizes/compresses attachments before transport:
- Progressive resize to a budget (e.g. 3.5 MB per image) targeting Anthropic's 5 MB limit with headroom
- Decode + resize off MainActor
- Aspect-ratio preserving
- Pixel-count cap to avoid 48MP decode bombs
- Per-message total budget across N attachments
Context
This was partially prototyped locally in the branch anker3/image-resize-chat-attachments (not yet upstreamed):
- 9 commits
- 22 tests
- 4 adversarial review rounds (8/8 pass)
- Fixes: 48MP decode stack overflow, base64 off MainActor, progressive resize to 3.5 MB budget
Related but distinct:
This issue is specifically about the iOS client composer resizing before transport, not server-side resize.
Repro
- Open iOS app, Control UI or node mode
- Attach 3–6 recent Camera Roll photos (HEIC/JPEG, default iPhone capture)
- Send
- Observe partial failure, memory spike, or payload rejection
Proposed fix
Upstream the prototype from anker3/image-resize-chat-attachments. If desired I can prep a PR with the 9-commit stack rebased onto current main.
Problem
Attaching multiple photos from the iOS app's chat composer — particularly modern iPhone 48MP photos — causes one or more of:
Tested on iPhone 16 Pro Max (iOS 26.3.1) against gateway 2026.4.15 over WAN WebSocket. Multi-image send in a single message reliably degrades the experience.
Expected
iOS client resizes/compresses attachments before transport:
Context
This was partially prototyped locally in the branch
anker3/image-resize-chat-attachments(not yet upstreamed):Related but distinct:
This issue is specifically about the iOS client composer resizing before transport, not server-side resize.
Repro
Proposed fix
Upstream the prototype from
anker3/image-resize-chat-attachments. If desired I can prep a PR with the 9-commit stack rebased onto current main.