diff --git a/lib/pangea/space_analytics/space_analytics.dart b/lib/pangea/space_analytics/space_analytics.dart index de7b7c3b0..0bf8832ae 100644 --- a/lib/pangea/space_analytics/space_analytics.dart +++ b/lib/pangea/space_analytics/space_analytics.dart @@ -289,7 +289,14 @@ class SpaceAnalyticsState extends State { try { final roomId = _analyticsRoomIdOfUser(user); if (roomId == null) return; - await Matrix.of(context).client.knockRoom(roomId); + await Matrix.of(context).client.knockRoom( + roomId, + via: room?.spaceChildren + .firstWhereOrNull( + (child) => child.roomId == roomId, + ) + ?.via, + ); status = RequestStatus.requested; } catch (e) { status = RequestStatus.unavailable; diff --git a/lib/pangea/user/analytics_profile_model.dart b/lib/pangea/user/analytics_profile_model.dart index d20aa1841..36cbb2c45 100644 --- a/lib/pangea/user/analytics_profile_model.dart +++ b/lib/pangea/user/analytics_profile_model.dart @@ -108,7 +108,7 @@ class AnalyticsProfileModel { } final currentRoomId = analyticsRoomIdByLanguage(language); - if (currentRoomId == null) { + if (currentRoomId != analyticsRoomId) { languageAnalytics![language]!.analyticsRoomId = analyticsRoomId; } languageAnalytics![language]!.level = level;