Skip to content

fix: Refresh all conversations when deleted from one not active in#18129

Merged
Antreesy merged 1 commit into
mainfrom
refresh-all-conversations-when-deleted-from-one-not-active-in
May 28, 2026
Merged

fix: Refresh all conversations when deleted from one not active in#18129
Antreesy merged 1 commit into
mainfrom
refresh-all-conversations-when-deleted-from-one-not-active-in

Conversation

@danxuliu
Copy link
Copy Markdown
Member

This looks like a regression probably introduced in #8726 (so, by now, it could be just called a bug :-P )

When the HPB is used and a user is removed from a conversation that user receives a disinvite signaling message. This triggered a should-refresh-conversations event, but (unless it coincides with the periodical forced refresh) only those conversations modified since the last fetch will be got. As the deleted conversation is no longer accessible by the user it will not be returned in the modified since response, and the conversation list will not be properly updated. Due to that a disinvite message for a conversation that the user is not active in should trigger a forced refresh of all the conversations instead of a normal refresh.

Note that although found while reviewing #16759 it is unrelated, as disinvite messages will still be sent to users removed from a conversation.

How to test

  • Setup the HPB
  • Login as user A
  • Open Talk
  • Create a conversation
  • In a private window, login as user B
  • Open Talk
  • Enter in any conversation (as there is no signaling connection in the dashboard)
  • In the original window, add user B to the conversation
  • In the private window, check that the conversation is added to the sidebar
  • In the original window, remove user B from the conversation

Result with this pull request

In the private window the conversation is removed from the left sidebar

Result without this pull request

In the private window the conversation is not removed from the left sidebar until a few minutes have passed (at most 5, when all the conversations are force refreshed)

When the HPB is used and a user is removed from a conversation that user
receives a "disinvite" signaling message. This triggered a
"should-refresh-conversations" event, but (unless it coincides with the
periodical forced refresh) only those conversations modified since the
last fetch will be got. As the deleted conversation is no longer
accessible by the user it will not be returned in the "modified since"
response, and the conversation list will not be properly updated. Due to
that a "disinvite" message for a conversation that the user is not
active in should trigger a forced refresh of all the conversations
instead of a normal refresh.

Signed-off-by: Daniel CalviΓ±o SΓ‘nchez <danxuliu@gmail.com>
@danxuliu
Copy link
Copy Markdown
Member Author

/backport to stable34 please

@danxuliu
Copy link
Copy Markdown
Member Author

/backport to stable33 please

@danxuliu
Copy link
Copy Markdown
Member Author

/backport to stable32 please

@danxuliu danxuliu marked this pull request as ready for review May 28, 2026 06:25
@danxuliu danxuliu requested a review from Antreesy May 28, 2026 06:25
@Antreesy Antreesy merged commit bc18407 into main May 28, 2026
55 checks passed
@Antreesy Antreesy deleted the refresh-all-conversations-when-deleted-from-one-not-active-in branch May 28, 2026 09:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants