Skip to content

Don't remove loaded rooms and timelines if the room list service resets - #1362

Merged
kevinaboos merged 2 commits into
project-robius:mainfrom
kevinaboos:empty_rooms_list
Nov 12, 2026
Merged

kevinaboos merged 2 commits into
project-robius:mainfrom
kevinaboos:empty_rooms_list

Conversation

@kevinaboos

Copy link
Copy Markdown
Member

The sdk chooses to send full rooms list "Reset" signals whenever it falls behind on a sync operation, which theoretically makes it possible for the rooms list to appear empty. Usually this is just a split second and then it loads again, but it's possible for it to last longer.

now we only remove rooms that are actually gone. We make sure to preserve existing timelines and replace the display order all in one atomic step, such that open rooms aren't jeopardized if the rooms list resets.

We also ensure to update new metadata for invitations without messing with pending requests, room selection, or invite avatars.

Fixes #1355.

The sdk chooses to send full rooms list "Reset" signals whenever
it falls behind on a sync operation, which theoretically makes it
possible for the rooms list to appear empty. Usually this is just a
split second and then it loads again, but it's possible for it to last longer.

now we only remove rooms that are actually gone. We make sure to
preserve existing timelines and replace the display order all in one
atomic step, such that open rooms aren't jeopardized if the rooms list resets.

We also ensure to update new metadata for invitations without
messing with pending requests, room selection, or invite avatars.

Fixes project-robius#1355.
@kevinaboos kevinaboos closed this Nov 11, 2026
@kevinaboos kevinaboos reopened this Nov 11, 2026
A reset really only needs to check the rooms we alreayd have to see
if they have changed (just like other updates), it doesn't need to do
extraneous stuff like invites or room preview updates.

Also, when logging in for the first time after a login token
had expired, we clear the previous session's rooms list.

also make sure we remove joined rooms if we got re-invited to them.
@kevinaboos
kevinaboos merged commit 9196fe0 into project-robius:main Nov 12, 2026
12 checks passed
@kevinaboos
kevinaboos deleted the empty_rooms_list branch November 12, 2026 03:07
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

Successfully merging this pull request may close these issues.

(Bug) Room lists become empty once the account is verified from another Matrix client on first login

1 participant