bug: Joining a new room sometimes does not correctly send its state or timeline down sync #779
Labels
No labels
Blocked
Bug
Changelog
Added
Changelog
Missing
Changelog
None
Cherry-picking
Database
Dependencies
Dependencies/Renovate
Difficulty
Easy
Difficulty
Hard
Difficulty
Medium
Documentation
Enhancement
Good first issue
Help wanted
Inherited
Matrix/Administration
Matrix/Appservices
Matrix/Auth
Matrix/Client
Matrix/Core
Matrix/E2EE
Matrix/Federation
Matrix/Hydra
Matrix/MSC
Matrix/Media
Matrix/T&S
Merge
Merge/Manual
Merge/Squash
Meta
Meta/CI
Meta/Packaging
Priority
Blocking
Priority
High
Priority
Low
Security
Status
Confirmed
Status
Duplicate
Status
Invalid
Status
Needs Investigation
Support
Wont fix
old/ci/cd
old/rust
No project
No assignees
8 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
continuwuation/continuwuity#779
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Sometimes, joining a room does not come down /sync immediately, and requires another event to be sent in the room before it makes its way down to clients. When this happens, the room state is additionally not sent down, only relevant memberships.
An initial sync does not have this issue.
Only appears to happen on sync v3 (client/v3/sync), SS & SSS are seemingly unaffected
Recategorising this issue as high priority instead of blocking, as the issue has both been improved by #840, and also hugely under-reported, so it doesn't seem to be affecting that many users.
Given the fix currently is "clear client cache", it seems silly to block the 0.5.0 release on this bug that not many people seem to experience [anymore].
Given the impact this bug has when it is run into though, it remains a high priority.
In addition to clearing the client cache, restarting the server also fixes this issue.
bug: joins do not come down sync appropriatelyto bug: membership changes do not come down sync appropriatelySeems to be being reported far more frequently now, I think it's worth bumping this to blocking again so that we dont miss this when we finally go for 0.5.0
This bug appears to also affect declining room invites -- yesterday I observed (in Cinny) the same behavior I've seen when trying to join or leave rooms, where the state event never appears but the invite vanishes after clearing client caches and reloading.
ginger referenced this issue2025-10-20 22:02:27 +00:00
demoting to high priority from blocking because a likely fix has been identified but will be implemented after 0.5.0's release due to scheduling issues.
bug: membership changes do not come down sync appropriatelyto bug: Joining a new room sometimes does not correctly send its state or timeline down syncNotes for people reffered to this issue:
gamesguru referenced this issue2026-02-25 11:32:41 +00:00
melogale referenced this issue2026-02-26 03:57:29 +00:00
Hi! So I was struggling from this a lot, in 100% cases joins are spinning, and still present on 0.5.6. And I did some dirty fix that solved it. Obviously, I don't propose to merge it, but it might be helpful for diagnosing and patching properly
github.com/dearkafka/continuwuity@b1e2aa7a54Basically I had 2 issues: Iterator misses room entirely and iterator finds room but delta is empty. The thing is I diagnosed second and patched it and then diagnosed first, core, I believe, in line with discussion here. so core dirty fix is mark_as_joined() now records the join in an in-memory HashMap. After building all sync sections, the handler checks this set for rooms that fell through and loads them directly.
Just wanted to help advocate for attention to this issue. Been getting rolling with continuwuity and matrix for the first time and when testing out user creation, rooms, spaces, etc, came across this issue and found the same "clear cache/refresh" "fix". See this everytime a v3/sync GET is called by a client for invites or joins. Been testing out with Cinny, Element, Fluffychat.
Agreed, this is an extremely common occurrence for our server and it makes it very hard to use especially for new users.
Guys, thanks for the additional details and observations. Your comments are incredibly helpful.
I'm gonna take another look at this!! No promises tho. It's only the most notorious unsolved problem, with so little progress made by anyone.
@gamesguru wrote in #779 (comment):
I think @Jade is working on smth
Just a progress update: we're hoping to have this fixed within a month or two now. The issue is now very well known, we've tried a lot of bandaid fixes and workarounds, and might finally be in the run-up to a real solution. Thanks to everyone for sticking with us despite this issue, we know it generates an incredible amount of friction and makes onboarding a real PITA.