diff --git a/lib/pangea/space_analytics/analytics_request_indicator.dart b/lib/pangea/space_analytics/analytics_request_indicator.dart index 87b269e80..180a0bc6f 100644 --- a/lib/pangea/space_analytics/analytics_request_indicator.dart +++ b/lib/pangea/space_analytics/analytics_request_indicator.dart @@ -54,12 +54,15 @@ class AnalyticsRequestIndicatorState extends State { .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); } } diff --git a/lib/pangea/space_analytics/space_analytics.dart b/lib/pangea/space_analytics/space_analytics.dart index 0bf8832ae..bef031cf5 100644 --- a/lib/pangea/space_analytics/space_analytics.dart +++ b/lib/pangea/space_analytics/space_analytics.dart @@ -296,6 +296,7 @@ class SpaceAnalyticsState extends State { (child) => child.roomId == roomId, ) ?.via, + reason: widget.roomId, ); status = RequestStatus.requested; } catch (e) {