Skip to content
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

[Bug]: Sent message is show out-of-order for outdated channels #1232

Open
4 tasks done
WhyNotHugo opened this issue Sep 7, 2024 · 10 comments
Open
4 tasks done

[Bug]: Sent message is show out-of-order for outdated channels #1232

WhyNotHugo opened this issue Sep 7, 2024 · 10 comments

Comments

@WhyNotHugo
Copy link

What Monal Release channel are you using?

AppStore

iOS system version (if applicable)

18.0

macOS system version (if applicable)

No response

Monal version

6.1.1 (889)

Used XMPP server (domain)

whynothugo.nl

Which XMPP-Server software are you using?

Prosody

XMPP Server Software Version

0.12.4

How many accounts are you using in Monal?

1

What happened?

  • I opened Monal and sent a message to a channel
  • The channel was out-of-date and had over a week's worth of messages pending delivery.
  • All the old messages were loaded, and are shown beneath my new message.
  • My just-sent message is now show in the conversation completely out of chronological order; it's show before all the messages for the last weeks.

Anything else?

XEP-0357 is shown in red. I don't believe that this is relevant. All others are supported (purple).

FAQ

Considerations for XMPP users

XEP-Check

  • I have checked that at least XEP-198, XEP-0280, XEP-0352, XEP-0357, XEP-0313 and XEP-0163 are activated on my server and shown as 'green' under Settings --> Account--> (i) in advanced settings

Notifications-Menu

  • I have checked that all checkmarks are present under Settings --> Notifications
@FriedrichAltheide
Copy link
Contributor

Please update to the latest monal version. Your version is quite outdated.
Further, please configure your server appropriately to support XEP-0357 and ensure that your server can reach our push servers. Otherwise, push will not work (as expected)

@tmolitor-stud-tu
Copy link
Member

tmolitor-stud-tu commented Sep 7, 2024

The channel was out-of-date and had over a week's worth of messages pending delivery.

With XEP-0357 that would not have happened in the first place

All the old messages were loaded, and are shown beneath my new message.

That's intended behavior. The ordering of messages should reflect the context they were in when sending or receiving them, not some hypothetical chronological order they arrived in at the server.

@WhyNotHugo
Copy link
Author

That's intended behavior. The ordering of messages should reflect the context they were in when sending or receiving them, not some hypothetical chronological order they arrived in at the server.

The context in which the message was send was today's context, not the context of a few weeks ago. Every other participant in this conversation will see it in that same order.

@WhyNotHugo
Copy link
Author

With XEP-0357 that would not have happened in the first place

Isn't this related to push notifications and updating channels in the background? This seems like a presentational / UI issue, I don't see the correlation.

@lissine0
Copy link
Member

lissine0 commented Sep 7, 2024

Isn't this related to push notifications and updating channels in the background? This seems like a presentational / UI issue, I don't see the correlation.

The question is, how come the channel was out-of-date and had over a week's worth of messages pending delivery?
If you had push notifications, and the account was enabled during the week, you wouldn't have had that situation.

@WhyNotHugo
Copy link
Author

There's plenty of ways for an application to NOT download data:

  • Wifi was disabled on the device
  • Device was out of Wifi range
  • Low power mode was enabled
  • Background app refresh was disabled
  • Server had connectivity issues

Even after my device met none of the above conditions, it took several minutes to download messages.

@lissine0
Copy link
Member

So you want your message to stay in "pending delivery" state until history finished syncing.
Conversations does that by only considering a room as "online" (green send button) after finishing history sync.

@tmolitor-stud-tu
Copy link
Member

The context are the messages you were able to read when you wrote your message. That's intentional because it shows what messages were unknown to you when writing that message, even after the catchup was done.

All your plenty cases where retrieving messages is delayed are cases that normally don't last long. Especially in those cases, the context of the outgoing message is important.

The real problem is, that your push apparently isn't working as intended. And we should try to fix that. What do you get if you go to Settings --> General Settings --> Notifications --> Debug Notification Problems inside Monal?
Does every entry have a green checkmark there?

@WhyNotHugo
Copy link
Author

WhyNotHugo commented Oct 18, 2024

Using Push Notifications isn't really working out for me.

iOS reports that Monal is responsible for 26% of my battery usage (8h49m running in background during the last 24hs). It is the application which uses the most battery (the second one being Maps at 8%). But I this last week I've only used Monal twice.

It's a disproportionate amount of battery drain. Honestly, I don't want Monal to continuously pull messages in the background; I just want it to properly order messages when I do use it.

@lissine0
Copy link
Member

lissine0 commented Oct 18, 2024

It's a disproportionate amount of battery drain.

Read this wiki page: https://github.com/monal-im/Monal/wiki/Battery-consumption

I just want it to properly order messages when I do use it.

But the issue you described is that messages you sent while history is syncing are shown out-of-order. And the solution for that is simple: wait for history syncing to finish and then send the messages.

I don't want Monal to continuously pull messages in the background

If you still insist on that, you can go to settings -> general settings -> notifications -> notification debugging and set the push server to None. But I do not recommend it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants