hide server ACL events from timeline by default, introduce setting to show them

This commit is contained in:
Henry Hiles 2026-10-23 14:29:37 -04:00
commit 9e6951818a
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs

View file

@ -90,12 +90,13 @@ class const EventRenderer(
if (event == null) return SizedBox.shrink();
final hideMembershipEvents = (ref
final (hideMembershipEvents, hideServerAclEvents) = ref
.watch(SettingsController.provider)
.maybeWhen(
orElse: () => false,
data: (settings) => settings.hideMembershipEvents,
));
orElse: () => (false, true),
data: (settings) =>
(settings.hideMembershipEvents, settings.hideServerAclEvents),
);
// Knocks and their outcomes stay visible, as moderators need to act on them
if (hideMembershipEvents &&
@ -106,6 +107,10 @@ class const EventRenderer(
return SizedBox.shrink();
}
if (hideServerAclEvents && event.content is ServerACLContent) {
return SizedBox.shrink();
}
final isGrouped =
(previousEvent?.isShownAsMessage ?? false) &&
event.sender == previousEvent?.sender &&