From ff7a5d85f7ae2b8db040a538dc9b537d0a4f035e Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Wed, 7 May 2025 11:15:25 -0400 Subject: [PATCH] chore: when user sets lemma emoji, if analytics doesn't exist, make it (#2707) --- .../constructs/construct_identifier.dart | 9 +++++--- lib/pangea/lemmas/lemma_emoji_row.dart | 21 +++++++------------ 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/lib/pangea/constructs/construct_identifier.dart b/lib/pangea/constructs/construct_identifier.dart index 341ff404c..5934117f3 100644 --- a/lib/pangea/constructs/construct_identifier.dart +++ b/lib/pangea/constructs/construct_identifier.dart @@ -176,11 +176,14 @@ class ConstructIdentifier { } Future setUserLemmaInfo(UserSetLemmaInfo newLemmaInfo) async { - final analyticsRoom = - MatrixState.pangeaController.matrixState.client.analyticsRoomLocal(); + final client = MatrixState.pangeaController.matrixState.client; + final l2 = MatrixState.pangeaController.languageController.userL2; + if (l2 == null) return; + + final analyticsRoom = await client.getMyAnalyticsRoom(l2); if (analyticsRoom == null) return; + try { - final client = MatrixState.pangeaController.matrixState.client; final syncFuture = client.onRoomState.stream.firstWhere((event) { return event.roomId == analyticsRoom.id && event.state.type == PangeaEventTypes.userSetLemmaInfo; diff --git a/lib/pangea/lemmas/lemma_emoji_row.dart b/lib/pangea/lemmas/lemma_emoji_row.dart index 23795ea1b..e4b5ab4fe 100644 --- a/lib/pangea/lemmas/lemma_emoji_row.dart +++ b/lib/pangea/lemmas/lemma_emoji_row.dart @@ -104,26 +104,19 @@ class LemmaEmojiRowState extends State { try { displayEmoji = emoji; - widget.cId - .setUserLemmaInfo( + await widget.cId.setUserLemmaInfo( UserSetLemmaInfo( emojis: [emoji], ), - ) - .catchError((e, s) { - debugger(when: kDebugMode); - ErrorHandler.logError(data: widget.cId.toJson(), e: e, s: s); - }).then((_) { - if (mounted) { - widget.emojiSetCallback?.call(); - setState(() {}); - } - }); + ); + + if (mounted) { + widget.emojiSetCallback?.call(); + setState(() {}); + } MatrixState.pAnyState.closeOverlay(); - widget.emojiSetCallback?.call(); - setState(() {}); } catch (e, s) { debugger(when: kDebugMode);