-
Notifications
You must be signed in to change notification settings - Fork 129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sending a message when offline may silently lose the message #1726
Comments
Is this still reproducible? (I think it shouldn't be) Though keeping unsent messages across app restarts is still TODO. |
@jplatte 100% reproducible for me:
|
When you say the messages vanished, do you mean no messages are displayed at all anymore? If yes, a rageshake would be helpful. |
@jplatte The two messages I tried to send from iOS went from being displayed as failed messages while I was in airplane mode to no longer being shown in the timeline at all once I switched off airplane mode. All other historical messages are still shown in the timeline. I can do a screen recording if that would be helpful? |
No, I don't think a screencast helps. Have you checked that the failed messages haven't "just" moved higher up though? |
@jplatte they move higher on Android, but on iOS, I cannot see them higher up |
That's even more confusing 🥲 I'll look at the rageshake soon. |
Rageshakes didn't contain that much info, matrix-org/matrix-rust-sdk#2887 should help for future rageshakes. |
I cannot reproduce this on Android with the latest nightly, the messages stay where they are. Can you still reproduce it @kittykat ? |
EIX 1.5.2 nightly is also better for handling network retries when network is back. It also keeps the messages and moves it into sent failure after the timeout. So, I cannot reproduce anymore the bug in the scenario described at #1726 (comment). |
i just reproduced the 100% vanish bug. The app wasn't showing as offline and i was on 3 bars of 5G:
Have rageshaked. |
to be clear, on iOS there is also the related-but-not-the-same bug that unsent messages can end up 'stuck' 20 msgs higher in the timeline: #1279 |
Does Android actually store the timeline/room instance even after the room is dismissed? @bmarty |
I tried to reproduce it with this patch, but it looks fine on Android. If someone wants to reproduce it on iOS, try this: diff --git a/crates/matrix-sdk/src/room/futures.rs b/crates/matrix-sdk/src/room/futures.rs
index ebe2b6f05..8c2297c1f 100644
--- a/crates/matrix-sdk/src/room/futures.rs
+++ b/crates/matrix-sdk/src/room/futures.rs
@@ -36,7 +36,7 @@ use tracing::{debug, Instrument, Span};
use super::Room;
use crate::{
- attachment::AttachmentConfig, utils::IntoRawMessageLikeEventContent, Result,
+ attachment::AttachmentConfig, utils::IntoRawMessageLikeEventContent, Error, Result,
TransmissionProgress,
};
#[cfg(feature = "image-proc")]
@@ -200,8 +200,9 @@ impl<'a> IntoFuture for SendRawMessageLikeEvent<'a> {
content,
);
- let response = room.client.send(request, None).await?;
- Ok(response)
+ Err(Error::NoOlmMachine) // Trigger an error
};
Box::pin(fut.instrument(tracing_span))
|
I'll give it a quick try, thanks |
I investigate the issue a bit and this seems to be caused by the fact that we call the |
@manuroe @timokoesters This should fix the issue on iOS, and also fix the issue on both platforms that happens when we have unsent messages in the room, but we scroll down in the room list, removing the room from the SS window, which when re-entering deletes the unsent messages |
I believe this has been fixed with introduction of the new message sending queue. Please reopen if you see it again. |
Steps to reproduce
Outcome
What did you expect?
App should never lose msgs
What happened instead?
Bad queueing; lost msg.
https://github.com/vector-im/element-x-ios-rageshakes/issues/888
Your phone model
No response
Operating system version
No response
Application version
385
Homeserver
No response
Will you send logs?
Yes
The text was updated successfully, but these errors were encountered: