-
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(backup): improve backup export error handling [WPB-10575] #3257
chore(backup): improve backup export error handling [WPB-10575] #3257
Conversation
e07b61d
to
2ccb508
Compare
Test Results3 379 tests 3 272 ✅ 5m 30s ⏱️ Results for commit effdec9. ♻️ This comment has been updated with latest results. |
Datadog ReportBranch report: ✅ 0 Failed, 3272 Passed, 107 Skipped, 37.97s Total Time |
2ccb508
to
d208a25
Compare
…ulation 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.
d208a25
to
effdec9
Compare
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## epic/multiplatform-backup #3257 +/- ##
============================================================
Coverage ? 54.03%
============================================================
Files ? 1246
Lines ? 36152
Branches ? 3656
============================================================
Hits ? 19534
Misses ? 15208
Partials ? 1410 Continue to review full report in Codecov by Sentry.
|
…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.
* chore: create backup module (#3117) 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. * chore: create backup protobuf models (#3116) * feat: add initial crossplatform backup serialization [WPB-10575] (#3121) * feat: support other message types [WPB-10575] (#3122) Co-authored-by: Yamil Medina <[email protected]> * refactor(backup): make visibility modifier mandatory (#3153) * chore(backup): add encrypted stream [WPB-10575] (#3154) * chore(backup): read and write the backup header (#3159) * feat(backup): support export and import of backups on Web, iOS and Android [WPB-10575] (#3228) * refactor(backup): enhance error handling and test coverage (#3248) 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. * chore(backup): improve backup export error handling and result encapsulation (#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. * feat(backup): support file peeking [WPB-10575] (#3261) 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. * feat(backup): paginate different types of content (#3268) 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`. * docs(backup): add multiplatform sample implementations and documentation (#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. --------- Co-authored-by: Yamil Medina <[email protected]>
PR Submission Checklist for internal contributors
The PR Title
SQPIT-764
The PR Description
What's new in this PR?
Issues
Follow-up on:
but for exporting.
Solutions
Encapsulate and catch failures during the exporting process. Either ZIP or IO Errors can happen at this stage.
Testing
Test Coverage
PR Post Merge Checklist for internal contributors
References
feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764
.