From 9dd12f1cbf5083665a8b98ecde9fe673f7d11ace Mon Sep 17 00:00:00 2001 From: Matthias Nehlsen Date: Thu, 18 Apr 2024 01:58:22 +0200 Subject: [PATCH] feat: handle event not found --- .gitignore | 1 + lib/pages/settings/advanced_settings_page.dart | 4 ---- lib/sync/matrix/room.dart | 6 ++++++ lib/sync/matrix/timeline.dart | 9 +++++++-- pubspec.lock | 12 ++++++++++-- pubspec.yaml | 10 ++-------- 6 files changed, 26 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index ba66f92da..0592e3e5f 100644 --- a/.gitignore +++ b/.gitignore @@ -81,3 +81,4 @@ whisper.cpp/whisper.cpp-*/ integration_test/docker/config/jetstream/ integration_test/docker/config/logs/ +integration_test/docker/config/media_store/ diff --git a/lib/pages/settings/advanced_settings_page.dart b/lib/pages/settings/advanced_settings_page.dart index 03ba7595a..bdc88e282 100644 --- a/lib/pages/settings/advanced_settings_page.dart +++ b/lib/pages/settings/advanced_settings_page.dart @@ -28,10 +28,6 @@ class AdvancedSettingsPage extends StatelessWidget { title: localizations.settingsSyncCfgTitle, path: '/settings/advanced/sync_settings', ), - SettingsNavCard( - title: localizations.settingsMatrixTitle, - path: '/settings/advanced/matrix_settings', - ), const MatrixSettingsCard(), SettingsNavCard( trailing: OutboxBadgeIcon( diff --git a/lib/sync/matrix/room.dart b/lib/sync/matrix/room.dart index a7191e026..eacdba7bd 100644 --- a/lib/sync/matrix/room.dart +++ b/lib/sync/matrix/room.dart @@ -35,6 +35,12 @@ Future joinMatrixRoom({ ..syncRoom = syncRoom ..syncRoomId = roomId; + loggingDb.captureEvent( + 'joined $roomId $joinRes', + domain: 'MATRIX_SERVICE', + subDomain: 'joinRoom', + ); + return joinRes; } catch (e, stackTrace) { debugPrint('$e'); diff --git a/lib/sync/matrix/timeline.dart b/lib/sync/matrix/timeline.dart index c6be8b357..cf4e696a3 100644 --- a/lib/sync/matrix/timeline.dart +++ b/lib/sync/matrix/timeline.dart @@ -61,8 +61,13 @@ Future processNewTimelineEvents({ try { final lastReadEventContextId = service.lastReadEventContextId; + await service.client.sync(); + final hasMessage = await service.syncRoom + ?.getEventById(lastReadEventContextId.toString()) != + null; + final timeline = await service.syncRoom?.getTimeline( - eventContextId: lastReadEventContextId, + eventContextId: hasMessage ? lastReadEventContextId : null, ); if (timeline == null) { @@ -102,10 +107,10 @@ Future processNewTimelineEvents({ try { if (eventId.startsWith(r'$')) { service.lastReadEventContextId = eventId; + await setLastReadMatrixEventId(eventId); } await timeline.setReadMarker(eventId: eventId); - await setLastReadMatrixEventId(eventId); } catch (e) { debugPrint('$e'); } diff --git a/pubspec.lock b/pubspec.lock index db881f667..0f2d665de 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1675,10 +1675,18 @@ packages: dependency: "direct main" description: name: matrix - sha256: "36c7e13d5d7420898f2597d6f5f0611a9da8114a0fde11f41b9e54cd1140b05f" + sha256: f829dd542f354e5073e3b43aaed3adc2829e762a9ec50a3f186ffd7dddc36d5e url: "https://pub.dev" source: hosted - version: "0.27.0" + version: "0.26.1" + matrix_api_lite: + dependency: transitive + description: + name: matrix_api_lite + sha256: e78b333f49733f3ec4c014532ddcb5e9c68639b9b6ff0d89c094a6c284b80b74 + url: "https://pub.dev" + source: hosted + version: "1.7.4" media_kit: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index c6756b705..6c469c82b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: lotti description: Achieve your goals and keep your data private with Lotti. publish_to: 'none' -version: 0.9.448+2458 +version: 0.9.448+2459 msix_config: display_name: LottiApp @@ -110,13 +110,7 @@ dependencies: location: ^6.0.1 lottie: ^3.0.0 material_design_icons_flutter: ^7.0.7096 - - matrix: ^0.27.0 -# matrix: -# git: -# url: https://github.com/matthiasn/matrix-dart-sdk -# ref: 1816235c - + matrix: ^0.26.1 media_kit: ^1.0.2 media_kit_libs_android_audio: ^1.0.3 media_kit_libs_ios_audio: ^1.0.4