Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Faster joins: support sending messages from clients during the half-joined state #12997

Closed
3 tasks done
Tracked by #14030
richvdh opened this issue Jun 9, 2022 · 4 comments
Closed
3 tasks done
Tracked by #14030
Assignees
Labels
A-Federated-Join joins over federation generally suck T-Enhancement New features, changes in functionality, improvements in performance, or user-facing enhancements.

Comments

@richvdh
Copy link
Member

richvdh commented Jun 9, 2022

This is theoretically simple. Currently we are blocking on calculating whether there are remote servers we need to send to, but we have a separate list of servers, so we just need to update the code to use it

Subtasks

@squahtx squahtx added A-Federated-Join joins over federation generally suck T-Enhancement New features, changes in functionality, improvements in performance, or user-facing enhancements. labels Jun 9, 2022
@squahtx
Copy link
Contributor

squahtx commented Aug 15, 2022

We'll probably want to test that remote Synapse instances can accept the events sent out while half-joined too.

As Erik notes, we have to respond to get_missing_events, among other things. There are also paths where a remote Synapse instance will request /state_ids or /state (which the half-joined server cannot answer!) when receiving an event with unknown prev events.

@reivilibre
Copy link
Contributor

reivilibre commented Sep 6, 2022

As part of #13288 (comment), I've suggested that, whilst a room is partial-stated, we keep track of (or otherwise know how to find out) which servers we've sent some events to and then answer relevant /get_missing_events queries for the prev_events of the events that we send, otherwise the remote homeserver has reason to reject the event. I suggest that we then don't answer in other cases, as we don't definitively know the set of servers in the room and so we can't necessarily know if the server is allowed to fetch events from us.

@reivilibre
Copy link
Contributor

(assigning self because I have been thinking of ideas with Rich about some of the subtleties of sending PDUs and have some things to write up at the very least)

@MatMaul
Copy link
Contributor

MatMaul commented Nov 30, 2022

This has been successfully tested.

@MatMaul MatMaul closed this as completed Nov 30, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A-Federated-Join joins over federation generally suck T-Enhancement New features, changes in functionality, improvements in performance, or user-facing enhancements.
Projects
None yet
Development

No branches or pull requests

4 participants