kalium
kalium copied to clipboard
fix: recover mls group after pending commit [WPB-17076]
|
|
PR Submission Checklist for internal contributors
-
The PR Title
- [ ] conforms to the style of semantic commits messagesΒΉ supported in Wire's Github WorkflowΒ²
- [ ] contains a reference JIRA issue number like
SQPIT-764 - [ ] answers the question: If merged, this PR will: ... Β³
-
The PR Description
- [ ] is free of optional paragraphs and you have filled the relevant parts to the best of your ability
What's new in this PR?
Added recovery path in case when client before update to cc 5 had some pending commits
Test Results
3β168 testsβ β-β515βββ3β158 β β-β416βββ4m 56s β±οΈ - 1m 37s ββββ4 suites β-β625ββββββ10 π€ β-ββ99β ββββ4 filesββ β-β625βββββββ0 β Β±ββ0β
Results for commit 92599b20.βΒ± Comparison against base commit 12685908.
This pull request removes 3683 and adds 3168 tests. Note that renamed tests count towards both.
PocIntegrationTest β givenApiWhenGettingACMEDirectoriesThenReturnAsExpectedBasedOnNetworkState
PocIntegrationTest β givenEmailAndPasswordWhenLoggingInThenRegisterClientAndLogout
PocIntegrationTest β givenUserWhenHandlingTextMessagesThenProcessShouldSucceed
QualifiedIdTest β givenIdsWithDifferentDomains_whenEqualsIgnoringBlankDomain_thenReturnsFalse[jvm]
QualifiedIdTest β givenIdsWithDifferentValues_whenEqualsIgnoringBlankDomain_thenReturnsFalse[jvm]
QualifiedIdTest β givenIdsWithSameDomains_whenEqualsIgnoringBlankDomain_thenReturnsTrue[jvm]
QualifiedIdTest β givenIdsWithoutDomains_whenEqualsIgnoringBlankDomain_thenReturnsTrue[jvm]
QualifiedIdTest β givenOneIdWithoutDomain_whenEqualsIgnoringBlankDomain_thenReturnsTrue[jvm]
com.wire.backup.BackupEndToEndTest β givenBackedUpAssetMessage_whenRestoring_thenShouldReadTheSameContent[js, browser]
com.wire.backup.BackupEndToEndTest β givenBackedUpAssetMessage_whenRestoring_thenShouldReadTheSameContent[jvm]
β¦
.QualifiedIdTest β givenIdsWithDifferentDomains_whenEqualsIgnoringBlankDomain_thenReturnsFalse
.QualifiedIdTest β givenIdsWithDifferentValues_whenEqualsIgnoringBlankDomain_thenReturnsFalse
.QualifiedIdTest β givenIdsWithSameDomains_whenEqualsIgnoringBlankDomain_thenReturnsTrue
.QualifiedIdTest β givenIdsWithoutDomains_whenEqualsIgnoringBlankDomain_thenReturnsTrue
.QualifiedIdTest β givenOneIdWithoutDomain_whenEqualsIgnoringBlankDomain_thenReturnsTrue
com.wire.backup.BackupEndToEndTest β givenBackedUpAssetMessage_whenRestoring_thenShouldReadTheSameContent
com.wire.backup.BackupEndToEndTest β givenBackedUpLocationMessage_whenRestoring_thenShouldReadTheSameContent
com.wire.backup.BackupEndToEndTest β givenBackedUpTextMessages_whenRestoring_thenShouldReadTheSameContent
com.wire.backup.BackupEndToEndTest β givenBackupWithPassword_whenPeeking_thenShouldBeEncrypted
com.wire.backup.BackupEndToEndTest β givenBackupWithoutPassword_whenPeeking_thenShouldNotBeEncrypted
β¦
This pull request removes 109 skipped tests and adds 10 skipped tests. Note that renamed tests count towards both.
PocIntegrationTest β givenApiWhenGettingACMEDirectoriesThenReturnAsExpectedBasedOnNetworkState
com.wire.kalium.api.common.ACMEApiTest β whenCallingGeTrustAnchorsApi_theResponseShouldBeConfigureCorrectly[jvm]
com.wire.kalium.api.common.ACMEApiTest β whenCallingSendChallengeRequestApi_theResponseShouldBeConfigureCorrectly[jvm]
com.wire.kalium.api.v0.user.register.RegisterApiV0Test β givenAValidEmail_whenActivationEmailWIthCode_theRequestShouldBeConfiguredCorrectly[jvm]
com.wire.kalium.api.v0.user.register.RegisterApiV0Test β givenAValidEmail_whenRegisteringAccountWithEMail_theRequestShouldBeConfiguredCorrectly[jvm]
com.wire.kalium.api.v0.user.register.RegisterApiV0Test β givenAValidEmail_whenSendingActivationEmail_theRequestShouldBeConfiguredCorrectly[jvm]
com.wire.kalium.api.v0.user.register.RegisterApiV0Test β givenActivationCodeFail_thenErrorIsPropagated[jvm]
com.wire.kalium.api.v0.user.register.RegisterApiV0Test β givenRegistrationFail_whenRegisteringAccountWithEMMail_thenErrorIsPropagated[jvm]
com.wire.kalium.api.v0.user.register.RegisterApiV0Test β givenSendActivationCodeFail_thenErrorIsPropagated[jvm]
com.wire.kalium.cryptography.CryptoUtilsTest β givenDummyText_whenEncryptedAndDecryptedWithAES256_returnsOriginalText[js, browser]
β¦
com.wire.kalium.logic.data.conversation.ConversationRepositoryTest β givenAGroupConversationHasNotNewMessages_whenGettingConversationDetails_ThenReturnZeroUnreadMessageCount
com.wire.kalium.logic.feature.backup.RestoreBackupUseCaseTest β givenACorrectlyEncryptedBackup_whenRestoringWithWrongPassword_thenTheRightErrorIsThrown
com.wire.kalium.logic.feature.backup.RestoreBackupUseCaseTest β givenAnEncryptedBackupFileFromDifferentUserID_whenRestoring_thenTheRightErrorIsThrown
com.wire.kalium.logic.feature.call.CallManagerTest β givenCallManager_whenCallingMessageIsReceived_then_wcall_recv_msg_IsCalled
com.wire.kalium.logic.feature.conversation.ObserveConversationInteractionAvailabilityUseCaseTest β givenProteusConversationAndUserSupportsOnlyMLS_whenObserving_thenShouldReturnUnsupportedProtocol
com.wire.kalium.logic.feature.conversation.ObserveConversationListDetailsUseCaseTest β null
com.wire.kalium.logic.feature.session.DeleteSessionUseCaseTest β givenSuccess_WhenDeletingSessionLocally_thenSuccessAndResourcesAreFreed
com.wire.kalium.logic.sync.incremental.EventProcessingHistoryTest β measureContainsTimeOverLargeAmountOfEvents
com.wire.kalium.persistence.dao.message.MessageDAOBenchmarkTest β null
com.wire.kalium.persistence.kmmSettings.EncryptedSettingsBuilderTest β givenShouldEncryptDataIsTrue_whenEncryptingData_thenShouldEncryptWithoutFailing
:recycle: This comment has been updated with latest results.
Datadog Report
Branch report: fix/recover-mls-group-after-pending-commit
Commit report: 15436e4
Test service: kalium-jvm
:white_check_mark: 0 Failed, 3575 Passed, 109 Skipped, 45.96s Total Time
Bencher Report
| Branch | fix/recover-mls-group-after-pending-commit |
| Testbed | ubuntu-latest |
β οΈ WARNING: No Threshold found!
Without a Threshold, no Alerts will ever be generated.
Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the--ci-only-thresholdsflag.
Click to view all benchmark results
| Benchmark | Latency | microseconds (Β΅s) |
|---|---|---|
| com.wire.kalium.benchmarks.logic.CoreLogicBenchmark.createObjectInFiles | π view plot β οΈ NO THRESHOLD | 696.77 Β΅s |
| com.wire.kalium.benchmarks.logic.CoreLogicBenchmark.createObjectInMemory | π view plot β οΈ NO THRESHOLD | 344,681.01 Β΅s |
| com.wire.kalium.benchmarks.persistence.MessagesNoPragmaTuneBenchmark.messageInsertionBenchmark | π view plot β οΈ NO THRESHOLD | 1,482,626.94 Β΅s |
| com.wire.kalium.benchmarks.persistence.MessagesNoPragmaTuneBenchmark.queryMessagesBenchmark | π view plot β οΈ NO THRESHOLD | 29,479.47 Β΅s |
Quality Gate passed
Issues
0 New issues
0 Accepted issues
Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code
Codecov Report
Attention: Patch coverage is 69.09091% with 17 lines in your changes missing coverage. Please review.
Project coverage is 50.38%. Comparing base (
1268590) to head (92599b2).
Additional details and impacted files
@@ Coverage Diff @@
## develop #3428 +/- ##
=============================================
+ Coverage 50.36% 50.38% +0.01%
Complexity 27 27
=============================================
Files 1537 1539 +2
Lines 59780 59827 +47
Branches 5618 5621 +3
=============================================
+ Hits 30110 30144 +34
- Misses 27583 27595 +12
- Partials 2087 2088 +1
| Files with missing lines | Coverage Ξ | |
|---|---|---|
| ...kotlin/com/wire/kalium/common/error/CoreFailure.kt | 0.00% <ΓΈ> (ΓΈ) |
|
| ...ersation/keyingmaterials/KeyingMaterialsManager.kt | 100.00% <100.00%> (ΓΈ) |
|
| ...um/persistence/dao/conversation/ConversationDAO.kt | 100.00% <ΓΈ> (ΓΈ) |
|
| .../dao/conversation/ConversationIdWithGroupEntity.kt | 100.00% <100.00%> (ΓΈ) |
|
| .../logic/data/conversation/ConversationRepository.kt | 60.50% <0.00%> (-0.11%) |
:arrow_down: |
| ...r/conversation/message/MLSMessageFailureHandler.kt | 21.42% <0.00%> (-0.53%) |
:arrow_down: |
| ...ersistence/dao/conversation/ConversationDAOImpl.kt | 69.38% <88.88%> (+0.30%) |
:arrow_up: |
| ...on/keyingmaterials/UpdateKeyingMaterialsUseCase.kt | 93.75% <92.85%> (-6.25%) |
:arrow_down: |
| ...otlin/com/wire/kalium/logic/data/id/QualifiedId.kt | 0.00% <0.00%> (ΓΈ) |
|
| ...um/logic/feature/conversation/ConversationScope.kt | 0.00% <0.00%> (ΓΈ) |
|
| ... and 1 more |
... and 4 files with indirect coverage changes
Continue to review full report in Codecov by Sentry.
Legend - Click here to learn more
Ξ = absolute <relative> (impact),ΓΈ = not affected,? = missing dataPowered by Codecov. Last update 1268590...92599b2. Read the comment docs.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
Closed because core crypto 6 will solve this issue