@@ -22,9 +22,8 @@ use futures_util::future::join_all;
2222use matrix_sdk_base:: { RoomHero , RoomInfo , RoomState } ;
2323use ruma:: {
2424 api:: client:: { membership:: joined_members, state:: get_state_events} ,
25- events:: room:: { history_visibility:: HistoryVisibility , join_rules:: JoinRule } ,
26- room:: RoomType ,
27- space:: SpaceRoomJoinRule ,
25+ events:: room:: history_visibility:: HistoryVisibility ,
26+ room:: { JoinRuleSummary , RoomType } ,
2827 OwnedMxcUri , OwnedRoomAliasId , OwnedRoomId , OwnedServerName , RoomId , RoomOrAliasId , ServerName ,
2928} ;
3029use tokio:: try_join;
@@ -63,7 +62,7 @@ pub struct RoomPreview {
6362 pub room_type : Option < RoomType > ,
6463
6564 /// What's the join rule for this room?
66- pub join_rule : Option < SpaceRoomJoinRule > ,
65+ pub join_rule : Option < JoinRuleSummary > ,
6766
6867 /// Is the room world-readable (i.e. is its history_visibility set to
6968 /// world_readable)?
@@ -101,19 +100,7 @@ impl RoomPreview {
101100 topic : room_info. topic ( ) . map ( ToOwned :: to_owned) ,
102101 avatar_url : room_info. avatar_url ( ) . map ( ToOwned :: to_owned) ,
103102 room_type : room_info. room_type ( ) . cloned ( ) ,
104- join_rule : room_info. join_rule ( ) . map ( |rule| match rule {
105- JoinRule :: Invite => SpaceRoomJoinRule :: Invite ,
106- JoinRule :: Knock => SpaceRoomJoinRule :: Knock ,
107- JoinRule :: Private => SpaceRoomJoinRule :: Private ,
108- JoinRule :: Restricted ( _) => SpaceRoomJoinRule :: Restricted ,
109- JoinRule :: KnockRestricted ( _) => SpaceRoomJoinRule :: KnockRestricted ,
110- JoinRule :: Public => SpaceRoomJoinRule :: Public ,
111- _ => {
112- // The JoinRule enum is non-exhaustive. Let's do a white lie and pretend it's
113- // private (a cautious choice).
114- SpaceRoomJoinRule :: Private
115- }
116- } ) ,
103+ join_rule : room_info. join_rule ( ) . cloned ( ) . map ( Into :: into) ,
117104 is_world_readable : room_info
118105 . history_visibility ( )
119106 . map ( |vis| * vis == HistoryVisibility :: WorldReadable ) ,
@@ -288,7 +275,7 @@ impl RoomPreview {
288275 num_joined_members : summary. num_joined_members . into ( ) ,
289276 num_active_members,
290277 room_type : summary. room_type ,
291- join_rule : Some ( summary. join_rule . into ( ) ) ,
278+ join_rule : Some ( summary. join_rule ) ,
292279 is_world_readable : Some ( summary. world_readable ) ,
293280 state,
294281 is_direct,
0 commit comments