diff options
author | Timo Kösters <timo@koesters.xyz> | 2022-10-15 09:56:55 +0000 |
---|---|---|
committer | Timo Kösters <timo@koesters.xyz> | 2022-10-15 09:56:55 +0000 |
commit | b1991c8f4fff27557cc0b465c10a6d1b98d98714 (patch) | |
tree | 0afa144023bb49c5f78ce34fe82f3802b38098e4 /src/api/client_server | |
parent | 6f7f2820ce140ef14907f83a369580cfc2385bb9 (diff) | |
parent | 3b0aa23fdfb0106add15df4f80e68e33b5ff5de7 (diff) | |
download | conduit-b1991c8f4fff27557cc0b465c10a6d1b98d98714.zip |
Merge branch 'Nyaaori/rejoin-fix' into 'next'
Rejoin over federation if we are not participating
See merge request famedly/conduit!399
Diffstat (limited to 'src/api/client_server')
-rw-r--r-- | src/api/client_server/membership.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/api/client_server/membership.rs b/src/api/client_server/membership.rs index 975d1a5..7142b8e 100644 --- a/src/api/client_server/membership.rs +++ b/src/api/client_server/membership.rs @@ -474,8 +474,12 @@ async fn join_room_by_id_helper( ); let state_lock = mutex_state.lock().await; - // Ask a remote server if we don't have this room - if !services().rooms.metadata.exists(room_id)? { + // Ask a remote server if we are not participating in this room + if !services() + .rooms + .state_cache + .server_in_room(services().globals.server_name(), room_id)? + { let mut make_join_response_and_server = Err(Error::BadServerResponse( "No server available to assist in joining.", )); |