-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: add multiplatform backup module [WPB-10575] #3279
Conversation
This commit introduces a new cross-platform backup module to the project with support for iOS, Web, and Android. Additionally, it enables JavaScript multiplatform support in existing `kalium/network-model` and `kalium/data` projects.
Co-authored-by: Yamil Medina <yamilmedina@users.noreply.github.com>
…droid [WPB-10575] (#3228)
Refactored the backup import process to improve error handling by introducing more granular failure types and modularized the logic for decrypting and unzipping archives. Added comprehensive test coverage, including tests for edge cases in decryption, parsing, and unzipping.
…ulation (#3257) Introduced `BackupExportResult` and `ExportResult` to encapsulate and represent export operation outcomes, including success and specific failure types (`IOError`, `ZipError`). Refactored relevant methods to use these types, added coroutine support annotations, and implemented error handling for zipping and I/O operations. Added unit tests to ensure correct error handling behavior.
Introduced `peekBackup` and related methods to retrieve backup metadata such as version, encryption status, and original creator. Also added unit tests to validate behavior for various cases, including unsupported versions and mismatched user IDs.
Consolidated handling of paginated backup data into the new `BackupPage` concept to improve clarity and support pagination for users, conversations, and messages during import. Added tests to validate the refactored `BackupImportPager`.
…ion (#3269) Introduced examples showcasing `MPBackupImporter` and `MPBackupExporter` usage for different platforms. Updated documentation, README, and build configurations to support multiplatform samples, including JS and non-JS targets.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #3279 +/- ##
===========================================
+ Coverage 50.82% 50.83% +0.01%
===========================================
Files 1606 1607 +1
Lines 57243 58052 +809
Branches 5109 5203 +94
===========================================
+ Hits 29094 29513 +419
- Misses 26134 26523 +389
- Partials 2015 2016 +1 see 6 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
Datadog ReportBranch report: ✅ 0 Failed, 3405 Passed, 108 Skipped, 1m 2.76s Total Time |
Quality Gate passedIssues Measures |
Bencher Report
Click to view all benchmark results
|
PR Submission Checklist for internal contributors
The PR Title
SQPIT-764
The PR Description
What's new in this PR?
This PR squashes all commits from the
epic/multiplatform-backup
branch intodevelop
.The goals is to keep it alongside the current development until we decide to use it. Avoid making it stale.
Important
This does not change any behaviour. The "old" backup is still being used, and nothing of the new backup library is being actually used.
If we want to actually use it,
:logic
still needs to be changed, and we need to start using:backup
for that.Dependencies
This PR is just all these PRs combined:
Testing
Test Coverage
PR Post Merge Checklist for internal contributors
References
feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764
.