A user reports:
#mobile > Mobile client on iOS - poor performance @ 💬
On a weak connection the mobile app (Flutter, iOS) leaves a sent message showing a "sending" state for a long time — sometimes appearing as a second, un-acknowledged copy under the delivered one — so it reads as stuck or duplicated.
This can happen when the event stream has gotten "stuck" or delayed (see e.g. #1884, #514 for ways this can happen) but send-message request and message fetches are succeeding. In particular, if events aren't coming in, you can send a message → the request succeeds but no event yet → you leave and re-enter the message list, triggering a fetch → the sent message arrives in the fetch, but the outbox-placeholder copy is still present.
I think this should be straightforward to fix: the send-message success response contains the message ID, which we can record on the OutboxMessage object. Then we can drop the outbox message in reconcileMessages.
A user reports:
#mobile > Mobile client on iOS - poor performance @ 💬
This can happen when the event stream has gotten "stuck" or delayed (see e.g. #1884, #514 for ways this can happen) but send-message request and message fetches are succeeding. In particular, if events aren't coming in, you can send a message → the request succeeds but no event yet → you leave and re-enter the message list, triggering a fetch → the sent message arrives in the fetch, but the outbox-placeholder copy is still present.
I think this should be straightforward to fix: the send-message success response contains the message ID, which we can record on the
OutboxMessageobject. Then we can drop the outbox message inreconcileMessages.