From 9715b07b38b7058fbc0a75081c1077e6c9b1fb7f Mon Sep 17 00:00:00 2001
From: strawberry <strawberry@puppygock.gay>
Date: Wed, 20 Mar 2024 18:09:07 -0400
Subject: [PATCH] skip rooms we have not joined before for auto-join

Signed-off-by: strawberry <strawberry@puppygock.gay>
---
 src/api/client_server/account.rs | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/api/client_server/account.rs b/src/api/client_server/account.rs
index 295a08e3a..ce2bd733f 100644
--- a/src/api/client_server/account.rs
+++ b/src/api/client_server/account.rs
@@ -290,12 +290,17 @@ pub async fn register_route(body: Ruma<register::v3::Request>) -> Result<registe
 
 	if !services().globals.config.auto_join_rooms.is_empty() {
 		for room in &services().globals.config.auto_join_rooms {
+			if !services().rooms.state_cache.server_in_room(services().globals.server_name(), room)? {
+				warn!("Skipping room {room} to automatically join as we have never joined before.");
+				continue;
+			}
+
 			if let Some(room_id_server_name) = room.server_name() {
 				match join_room_by_id_helper(
 					Some(&user_id),
 					room,
-					Some("Automatically joining this room".to_owned()),
-					&[room_id_server_name.to_owned()],
+					Some("Automatically joining this room upon registration".to_owned()),
+					&[room_id_server_name.to_owned(), services().globals.server_name().to_owned()],
 					None,
 				)
 				.await
-- 
GitLab