From 61fa30dba50f26005a6c2262fb145b711141d085 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Mon, 29 Dec 2025 10:16:07 -0500 Subject: [PATCH] fix: update analytics profile room IDs on change, set via parameter in analytics room knock request (#4949) --- lib/pangea/space_analytics/space_analytics.dart | 9 ++++++++- lib/pangea/user/analytics_profile_model.dart | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) 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;