summaryrefslogtreecommitdiff
path: root/src/api/client_server
diff options
context:
space:
mode:
authorTimo Kösters <timo@koesters.xyz>2022-10-15 09:56:55 +0000
committerTimo Kösters <timo@koesters.xyz>2022-10-15 09:56:55 +0000
commitb1991c8f4fff27557cc0b465c10a6d1b98d98714 (patch)
tree0afa144023bb49c5f78ce34fe82f3802b38098e4 /src/api/client_server
parent6f7f2820ce140ef14907f83a369580cfc2385bb9 (diff)
parent3b0aa23fdfb0106add15df4f80e68e33b5ff5de7 (diff)
downloadconduit-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.rs8
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.",
));