New-conversation share sends caption but drops image attachment
Environment: OpenBubbles Play 1.15.0, Android API 36 ARM64 Google Play emulator. Recipient was an iPhone using an iMessage email address.
Observed steps:
- Open an image in OpenBubbles, choose Share, then OpenBubbles.
- Enter an iMessage recipient for which the app takes the new-chat creation path.
- Confirm the image preview and generated caption appear in the composer.
- Send once. The creating-chat dialog appears.
Actual: only the generated caption appeared on both devices; the image did not arrive.
Expected: the image and caption are both sent, or an explicit attachment error preserves the pending image for retry.
Control tests: direct Files attachment in the resulting existing conversation succeeded. Sharing a PNG into that existing conversation also delivered both the image and caption. The initial failing image was a JPEG; the control PNG was 1,769,404 bytes, so this does not independently rule out format/size effects.
Source clue: commit eed1b63, lib/app/layouts/chat_creator/chat_creator.dart. The existing-chat path calls send with initialAttachments; the new-chat branch calls backend.createChat with text annotations and navigates without an equivalent attachment-send callback. Source equivalence with the installed Play binary is unverified.
Suggested fix boundary: retain pending attachments until chat creation succeeds, enqueue exactly once afterward, and preserve them if creation fails. Please test caption plus attachment, attachment only, existing chat, and failed creation/retry.
Workaround: open an existing conversation and attach through Files, or Share into an existing conversation.
New-conversation share sends caption but drops image attachment
Environment: OpenBubbles Play 1.15.0, Android API 36 ARM64 Google Play emulator. Recipient was an iPhone using an iMessage email address.
Observed steps:
Actual: only the generated caption appeared on both devices; the image did not arrive.
Expected: the image and caption are both sent, or an explicit attachment error preserves the pending image for retry.
Control tests: direct Files attachment in the resulting existing conversation succeeded. Sharing a PNG into that existing conversation also delivered both the image and caption. The initial failing image was a JPEG; the control PNG was 1,769,404 bytes, so this does not independently rule out format/size effects.
Source clue: commit eed1b63, lib/app/layouts/chat_creator/chat_creator.dart. The existing-chat path calls send with initialAttachments; the new-chat branch calls backend.createChat with text annotations and navigates without an equivalent attachment-send callback. Source equivalence with the installed Play binary is unverified.
Suggested fix boundary: retain pending attachments until chat creation succeeds, enqueue exactly once afterward, and preserve them if creation fails. Please test caption plus attachment, attachment only, existing chat, and failed creation/retry.
Workaround: open an existing conversation and attach through Files, or Share into an existing conversation.