From a83cef780757d899807fcee98a2ad76e9c349012 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Mon, 16 Feb 2026 12:25:31 -0500 Subject: [PATCH] chore: better logging when getting event by construct use (#5708) --- .../client_analytics_extension.dart | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/pangea/analytics_misc/client_analytics_extension.dart b/lib/pangea/analytics_misc/client_analytics_extension.dart index 4d171355c..dc783bdba 100644 --- a/lib/pangea/analytics_misc/client_analytics_extension.dart +++ b/lib/pangea/analytics_misc/client_analytics_extension.dart @@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart'; import 'package:collection/collection.dart'; import 'package:matrix/matrix.dart'; +import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:fluffychat/pangea/analytics_misc/constructs_model.dart'; import 'package:fluffychat/pangea/bot/utils/bot_name.dart'; @@ -177,12 +178,27 @@ extension AnalyticsClientExtension on Client { return null; } + // wait for all rooms to sync + if (prevBatch == null) { + await onSync.stream.first; + } + final room = getRoomById(use.metadata.roomId!); - if (room == null) return null; + if (room == null) { + Logs().i("Room not found for construct use ${use.toJson()}"); + return null; + } try { final event = await room.getEventById(use.metadata.eventId!); - if (event == null) return null; + if (event == null) { + ErrorHandler.logError( + e: "Event not found for construct use", + level: SentryLevel.warning, + data: use.toJson(), + ); + return null; + } final timeline = await room.getTimeline(); return PangeaMessageEvent(