show uploading files in conversation聽#2375
Copy link
Copy link
Closed
Labels
1. to developAccepted and waiting to be taken care of (should be only set by nextcloud employees)Accepted and waiting to be taken care of (should be only set by nextcloud employees)enhancementNew feature or requestNew feature or requestfeature: conversations 馃搫feature: sharing 馃
Milestone
Description
uploading files should be shown in chat, including a progress indicator and a cancel button.
right now for files >1MB there is a notification with progress, for files <1MB there is no notification. for both big and small files, there should be a preview message in the chat while uploading.
maybe it makes sense to postpone this until #1552 is done.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
1. to developAccepted and waiting to be taken care of (should be only set by nextcloud employees)Accepted and waiting to be taken care of (should be only set by nextcloud employees)enhancementNew feature or requestNew feature or requestfeature: conversations 馃搫feature: sharing 馃
Activity
enakhala commentedon Mar 7, 2024
woolfg commentedon Aug 7, 2024
Fully agree, there is a progress bar in the native Android Notification Panel (if you swipe down) but this is not visible in the app by default. UX wise this is quite confusing if you send a message with an attachment and you don't see any response in the UI after clicking the send button.
woolfg commentedon Aug 7, 2024
May be fixed by #3443
ariedov commentedon Aug 2, 2025
I don't think that is fixed, my wife sent me 3 cute pictures of my son instead of 1 because she did not understand that the picture was already sent.
While I appreciate more cute pictures, it is also clear that a progress bar for uploads is missing.
AndyScherzinger commentedon Aug 2, 2025
Definitely still open, yes, @ariedov
ariedov commentedon Aug 4, 2025
I have looked into it, and there are a few things to consider. It's a big one.
We treat the upload as a message (Telegram style)
All uploads are a single popup.
One is not necessarily easier than the other, maybe a little, but they do have a very different feel. Not sure if I would be able to pull this off, it requires messing with a number of different systems of the app, potentially causing trouble. The app does feel incomplete without the feature though...
Implementing upload-as-message
I would do it as follows, mainly to avoid altering the existing data storage
UploadWorkermahibi commentedon Aug 19, 2025
Thanks to have a look @ariedov
Yes, it's a big one.
UI wise, the upload should be treated as a message (and additionally a notification)
On one hand, using a different DB table sounds good to sepeate things.
On the other hand, it might make sense to use the chat messages table and make use of the isTemporary attribute which indicates pending messages.
Then the same logic from OfflineFirstChatRepository#handleNewAndTempMessages could be applied to have the temporary upload messages sorted into the UI.
I don't have a final opinion on this yet..
If you are interested to delve deeper, just let us know and we can help out / discuss at any time.
Implementing would be a bit easier if we already removed chatkit and switched to Jetpack Compose, this is unfortunately not done yet..
mahibi commentedon Aug 19, 2025
As a side note:
I just had a look how Whatsapp and telegram do it when sending a video and also sending text messages before the upload finished:
Whatsapp on sender side:
the video is shown first, and after the text messages
Whatsapp on receiver side:
the text messages are shown first, and after the video
This order remains different for sender and receiver even after a reload! (which could lead to misunderstandings depending on what is written).
For Telegram it's the same but as soon the video uploaded, it's rearranged and also the sender side will see it below the sent messages. So the same order is seen for sender and receiver side.
With the isTemporary handling in OfflineFirstChatRepository#handleNewAndTempMessages, the talk app would always rearrange a "uploading-message" so it's always below the sent messages at any time.
ariedov commentedon Aug 19, 2025
I started a bit of an investigation and created a new table for the uploads. Nothing is too late to change, but I still feel like messing with the messages would make this too hard to finish in a reasonable time. I want to implement a basic system that does not show uploads as messages, just shows that something is uploaded, and show you guys how it looks, so we can decide if that's okay or not.
Life gets in the way though...
So far I have:
Needs to be done:
mahibi commentedon Aug 25, 2025
Thanks to have a further look @ariedov
Sure, feel free to bring this to a state where we can discuss how to more forward. Just let us know when you need input from our side.
codingPotato21 commentedon Aug 30, 2025
Completely agree. I am currently having issues with this because uploading a video/photo doesn't show and makes it difficult to keep track.
I think it is best to show it in the chat with a progress, the progress could be optional just status is really needed, to help with clarity as mentioned before the telegram/whatsapp may be the best style as people are used to it.
ariedov commentedon Sep 2, 2025
This is the draft PR I came up with. It doesn't really do much, and still took a ton of effort..
#5317
It just spits out all the updated files to a textview for the conversation, the progress update is not really implemented and there are no filters on the upload query, but it is a starting point still.
@mahibi I'd appreciate a look and some comments. Thank you!
mahibi commentedon Sep 2, 2025
I might need some time to review as I'm busy with features for the next release.
But it's no my list!
ariedov commentedon Sep 2, 2025
I would prefer having my previous contributions released to this, to be honest, so take your time. Thank you very much!
AceDenghar commentedon May 28, 2026
Hi,
Any chance to have this?
Thanks
mahibi commentedon Jun 5, 2026
Unfortunately this did not make it for 24.0.0.
I will take a closer look if #6047 can be continued. Maybe it could be available for 24.1.0