Before submitting
Area
apps/mobile
Steps to reproduce
- In the iOS app, attach an image and send it with no text.
- Do the same in the desktop app.
Expected behavior
Both clients send the same turn. The desktop sends [User attached one or more files without additional text. Respond using the conversation context and the attached files.] as the text.
Actual behavior
The iOS app sends only the image reference, for example . The agent receives the image and the server's [Attached image "…" is saved at: …] line, but no instruction for an image-only turn.
Likely cause
ATTACHMENT_ONLY_BOOTSTRAP_PROMPT is defined in apps/web/src/components/chat/composerPromptHistory.ts and applied only by the web client (ChatView.tsx, sendQueuedMessage.ts). The iOS outbox sends the composer text unchanged through serializeComposerMessageForServer (apps/mobile/src/lib/composerContext.ts, called from use-thread-outbox-drain.ts).
Suggested fix
Move the constant to packages/shared, and in the iOS app use it when the text has nothing but attachment references.
Impact
Minor bug or occasional failure
Version or commit
iOS app 1.3.0 (85); desktop server 0.0.43-nightly.20260926.2282; main @ 94f92a7
Environment
iPhone, connected through the T3 Connect relay; provider Claude (Opus 5.5)
Logs or stack traces
Screenshots, recordings, or supporting files
No response
Workaround
No response
Before submitting
Area
apps/mobile
Steps to reproduce
Expected behavior
Both clients send the same turn. The desktop sends
[User attached one or more files without additional text. Respond using the conversation context and the attached files.]as the text.Actual behavior
The iOS app sends only the image reference, for example
. The agent receives the image and the server's[Attached image "…" is saved at: …]line, but no instruction for an image-only turn.Likely cause
ATTACHMENT_ONLY_BOOTSTRAP_PROMPTis defined inapps/web/src/components/chat/composerPromptHistory.tsand applied only by the web client (ChatView.tsx,sendQueuedMessage.ts). The iOS outbox sends the composer text unchanged throughserializeComposerMessageForServer(apps/mobile/src/lib/composerContext.ts, called fromuse-thread-outbox-drain.ts).Suggested fix
Move the constant to
packages/shared, and in the iOS app use it when the text has nothing but attachment references.Impact
Minor bug or occasional failure
Version or commit
iOS app 1.3.0 (85); desktop server 0.0.43-nightly.20260926.2282; main @ 94f92a7
Environment
iPhone, connected through the T3 Connect relay; provider Claude (Opus 5.5)
Logs or stack traces
Screenshots, recordings, or supporting files
No response
Workaround
No response