From 2bbb49bdd3e85f10844844309ad1bf333a226e18 Mon Sep 17 00:00:00 2001 From: Valere Date: Tue, 2 Apr 2024 09:33:10 +0200 Subject: [PATCH] Fix: should remember already reported events --- .../app/features/analytics/DecryptionFailureTracker.kt | 4 ++++ .../app/features/analytics/DecryptionFailureTrackerTest.kt | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/vector/src/main/java/im/vector/app/features/analytics/DecryptionFailureTracker.kt b/vector/src/main/java/im/vector/app/features/analytics/DecryptionFailureTracker.kt index 613daf3ded..fcbc67169e 100644 --- a/vector/src/main/java/im/vector/app/features/analytics/DecryptionFailureTracker.kt +++ b/vector/src/main/java/im/vector/app/features/analytics/DecryptionFailureTracker.kt @@ -201,6 +201,10 @@ class DecryptionFailureTracker @Inject constructor( // already tracked return } + if (alreadyReported.contains(eventId)) { + // already reported + return + } val isOwnIdentityTrusted = session.cryptoService().crossSigningService().isCrossSigningVerified() val userHS = MatrixPatterns.extractServerNameFromId(session.myUserId) val messageSenderHs = event.senderId?.let { MatrixPatterns.extractServerNameFromId(it) } diff --git a/vector/src/test/java/im/vector/app/features/analytics/DecryptionFailureTrackerTest.kt b/vector/src/test/java/im/vector/app/features/analytics/DecryptionFailureTrackerTest.kt index 3be9a6dd18..2f11d4c2eb 100644 --- a/vector/src/test/java/im/vector/app/features/analytics/DecryptionFailureTrackerTest.kt +++ b/vector/src/test/java/im/vector/app/features/analytics/DecryptionFailureTrackerTest.kt @@ -376,9 +376,12 @@ class DecryptionFailureTrackerTest { verify(exactly = 1) { fakeAnalyticsTracker.capture(any()) } decryptionFailureTracker.onEventDecryptionError(event, aUISIError) - runCurrent() + // advance time by 7 seconds, to be ahead of the grace period + currentFakeTime += 7_000 + fakeClock.givenEpoch(currentFakeTime) + decryptionFailureTracker.onEventDecrypted(event, emptyMap()) runCurrent()