mirage icon indicating copy to clipboard operation
mirage copied to clipboard

after wake-up from suspend-to-ram messages are missingd

Open chri2 opened this issue 3 years ago • 2 comments

Description

When I suspend my notebook to ram while running mirage it is fetching some messages after wake-up, but not all.

After waking up from suspend-to-ram the message history is incomplete.

Exiting mirage and starting it again fixes the problem.

Your environment

  • PureOS amber (Debian buster/sid)

  • x86 64bit)

  • GNOME 3.30 on X11

  • flatpak info io.github.mirukana.mirage Kennung: io.github.mirukana.mirage Ref: app/io.github.mirukana.mirage/x86_64/master Architektur: x86_64 Zweig: master Ursprung: mirage-origin Collection: Installation: user Installed: 75,4 MB Laufzeitumgebung: org.kde.Platform/x86_64/5.14 Sdk: org.kde.Sdk/x86_64/5.14

        Commit: 1333d4de45b7671f970be97069a4bb999993b65f94a42e93b78e261f16c725e6
       Subject: Export io.github.mirukana.mirage
          Date: 2020-09-16 12:40:40 +0000
    

Steps to reproduce

  • start mirage
  • join some conversation with regular messages
  • suspend your computer to ram
  • wait some messages going by in the conversation
  • wake up your computer
  • scroll up through the history
  • close mirage
  • start mirage
  • compare history to what you've seen directly after waking up your computer

Expected behavior

Mirage should download all the old message after the computer it is running on woke up from suspend-to-anything

Actual behavior

Some messages are missing in message history after waking up from suspend-to-ram.

chri2 avatar Oct 07 '20 07:10 chri2

Before suspend-to-ram

1_before_suspend

After waking up from suspend-to-ram

2_after_suspend

One page up I can see the end of history before suspend-to-ram

3_after_suspend_one_page_up

After closing mirage and starting it again:

4_after_suspend_after_restart_of_mirage

One page up one can see the differences between the history now and the history before closing and restarting mirage

5_after_suspend_after_restart_of_mirage_one_page_up-compare_to_no_3

Going further up there are more messages missing

6_after_suspend_after_restart_of_mirage_two_pages_up

chri2 avatar Oct 07 '20 07:10 chri2

I believe this is due to matrix-nio not handling gaps in the sync (CTRL+F gaps), so when too many messages happen between two syncs (which happens when hibernating), the server doesn't return everything and we have to manually fetch the missing stuff.

mirukana avatar Oct 10 '20 00:10 mirukana