From 857131e9592875497ea3d5f0730a75fb1259798a Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Mon, 3 Jun 2024 19:54:03 -0700 Subject: [PATCH] allow seeing state from visibility=shared left rooms --- src/service/rooms/state_accessor.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/service/rooms/state_accessor.rs b/src/service/rooms/state_accessor.rs index 8582feb2..8963f90e 100644 --- a/src/service/rooms/state_accessor.rs +++ b/src/service/rooms/state_accessor.rs @@ -280,6 +280,8 @@ impl Service { ) -> Result { let currently_member = services().rooms.state_cache.is_joined(user_id, room_id)?; + let once_member = + services().rooms.state_cache.once_joined(user_id, room_id)?; let history_visibility = self .room_state_get( @@ -299,8 +301,11 @@ impl Service { }) })?; - Ok(currently_member - || history_visibility == HistoryVisibility::WorldReadable) + Ok(match history_visibility { + HistoryVisibility::WorldReadable => true, + HistoryVisibility::Shared => once_member, + _ => currently_member, + }) } /// Returns the state hash for this pdu.