Problem
When uploading multiple images or files in succession, the current implementation processes and posts them asynchronously based on when each individual file finishes uploading.
This causes a frustrating user experience in certain cases. if a user uploads a large image first and a smaller image immediately after, the smaller image finishes processing faster and appears out of order in the chat. This disrupts chronological storytelling, sharing step-by-step screenshots, or sending sequential media. The traditional solution has been to wait until each upload finishes before uploading the next one, but in a fast paced environment, it can be unideal.
Proposal
Introduce a mechanism (ideally via a toggle in the advanced settings menu) that allows users to enforce sequential uploads.
How it should work: When this mode is enabled, the client-side upload queue should process files in the exact order they were sent by the user. Even if a smaller file finishes uploading ahead of a larger one, it should wait to be officially sent until all preceding files in the queue have successfully completed. Ideally for speed, upload of subsequent files should not be blocked, files should still upload asynchronously but send in the correct order.
UI Suggestion: Add a toggle under Settings > Media/Advanced named "Send Uploads Sequentially" or "Maintain Upload Order."
Notes
Trade-offs: Enforcing sequential uploads may slightly increase the perceived total wait time for subsequent smaller files, as they are blocked by larger files ahead of them. This is why making it an optional advanced toggle is the ideal approach, leaving the default behaviour as asynchronous for speed.
Constraints: The queue management should handle network timeouts gracefully. If file 1 fails, file 2 shouldn't be blocked indefinitely; the UI should prompt a retry for file 1 or skip it after a timeout.
1 comment
Comment by @mizarc
616817646-c14bb9cd-1fbb-4f95-a7e5-f31679020aa6.png
936×957 | 775 kB