chore: use knock reason to restrict which spaces analytics request indicator is shown in (#5195)
This commit is contained in:
parent
a96e767595
commit
3be47ab6b0
2 changed files with 8 additions and 4 deletions
|
|
@ -54,12 +54,15 @@ class AnalyticsRequestIndicatorState extends State<AnalyticsRequestIndicator> {
|
|||
.where((u) => u.powerLevel >= 100);
|
||||
|
||||
for (final analyticsRoom in widget.room.client.allMyAnalyticsRooms) {
|
||||
final knocking =
|
||||
await analyticsRoom.requestParticipants([Membership.knock]);
|
||||
if (knocking.isEmpty) continue;
|
||||
final knocking = await analyticsRoom.requestParticipants(
|
||||
[Membership.knock],
|
||||
);
|
||||
final knockingSpace =
|
||||
knocking.where((u) => u.content['reason'] == widget.room.id).toList();
|
||||
if (knockingSpace.isEmpty) continue;
|
||||
|
||||
for (final admin in admins) {
|
||||
if (knocking.any((u) => u.id == admin.id)) {
|
||||
if (knockingSpace.any((u) => u.id == admin.id)) {
|
||||
_knockingAdmins.putIfAbsent(admin, () => []).add(analyticsRoom);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -296,6 +296,7 @@ class SpaceAnalyticsState extends State<SpaceAnalytics> {
|
|||
(child) => child.roomId == roomId,
|
||||
)
|
||||
?.via,
|
||||
reason: widget.roomId,
|
||||
);
|
||||
status = RequestStatus.requested;
|
||||
} catch (e) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue