0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-27 07:54:05 +01:00

modules/m_room_history_visibility: Massage the rules.

This commit is contained in:
Jason Volk 2019-04-22 17:38:55 -07:00
parent 6df0b72e21
commit d417c7779e

View file

@ -23,7 +23,7 @@ _visible_(const m::event &event,
const string_view &history_visibility) const string_view &history_visibility)
{ {
char membership_buf[32]; char membership_buf[32];
const string_view membership string_view membership
{ {
room.membership(membership_buf, user_id) room.membership(membership_buf, user_id)
}; };
@ -38,13 +38,16 @@ _visible_(const m::event &event,
return membership == "invite"; return membership == "invite";
assert(history_visibility == "shared"); assert(history_visibility == "shared");
if(membership == "invite")
return true;
// If the room is not at the present event then we have to run another // If the room is not at the present event then we have to run another
// test for membership here. Otherwise the "join" test already failed. // test for membership here. Otherwise the "join" test already failed.
if(room.event_id) if(room.event_id)
{ {
const m::room present{room.room_id}; const m::room present{room.room_id};
return present.membership(user_id, "join"); membership = present.membership(membership_buf, user_id);
return membership == "join" || membership == "invite";
} }
return false; return false;