Commit Graph

124 Commits

Author SHA1 Message Date
Mike Conley
c38ff72c4c Bug 1890427 - Part 8: Use an observer to regenerate backups on permission removal. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D218878
2024-09-18 13:32:10 +00:00
Mike Conley
1e876ebf64 Bug 1890427 - Part 7: Use an observer to regenerate backups on data sanitization. r=backup-reviewers,kpatenio
This also reorganizes things a bit in BackupService so that uninitBackupScheduler
also disarms the debouncer and any queued debounced jobs end up being inert.

Differential Revision: https://phabricator.services.mozilla.com/D218877
2024-09-18 13:32:10 +00:00
Mike Conley
d811f82945 Bug 1890427 - Part 6: Use an observer to regenerate backups when an address is deleted. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D218876
2024-09-18 13:32:10 +00:00
Mike Conley
051850805e Bug 1890427 - Part 5: Use an observer to regenerate backups when a payment method is deleted. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D218875
2024-09-18 13:32:09 +00:00
Mike Conley
89ce1cb51b Bug 1890427 - Part 4: Use an AddonListener to regenerate backups when an addon is uninstalled. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D218874
2024-09-18 13:32:09 +00:00
Mike Conley
5e0572f68f Bug 1890427 - Part 3: Use a PlacesObserver to regenerate backups when a bookmark is deleted. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D218886
2024-09-18 13:32:08 +00:00
Mike Conley
67293d208f Bug 1890427 - Part 2: Use an observer to regenerate backups when a password is deleted. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D218873
2024-09-18 13:32:08 +00:00
Mike Conley
9570092c28 Bug 1890427 - Part 1: Use a PlacesObserver to regenerate backups when pages are removed or history is cleared. r=backup-reviewers,kpatenio
This debounces backup regenerations using a DeferredTask.

Differential Revision: https://phabricator.services.mozilla.com/D218872
2024-09-18 13:32:07 +00:00
Butkovits Atila
9095b72df7 Backed out 10 changesets (bug 1890427) for causing failures at LateWriteChecks.cpp. CLOSED TREE
Backed out changeset b3ea334a7968 (bug 1890427)
Backed out changeset 8534805fac67 (bug 1890427)
Backed out changeset 2b31d978a116 (bug 1890427)
Backed out changeset f1db7acebebe (bug 1890427)
Backed out changeset 57b90c2b57be (bug 1890427)
Backed out changeset c72168ca8f99 (bug 1890427)
Backed out changeset 6ccf8483a0c1 (bug 1890427)
Backed out changeset 76ac3e81db91 (bug 1890427)
Backed out changeset 6599f4c9d1cb (bug 1890427)
Backed out changeset 054da7263696 (bug 1890427)
2024-09-05 01:05:36 +03:00
Mike Conley
51225be16e Bug 1890427 - Part 10: Use an observer to regenerate backups on newtab links being blocked. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D218880
2024-09-04 17:56:59 +00:00
Mike Conley
4887d56637 Bug 1890427 - Part 9: Use an observer to regenerate backups on cookie removal. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D218879
2024-09-04 17:56:59 +00:00
Mike Conley
b9636f86f1 Bug 1890427 - Part 8: Use an observer to regenerate backups on permission removal. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D218878
2024-09-04 17:56:58 +00:00
Mike Conley
7ca5c1c77a Bug 1890427 - Part 7: Use an observer to regenerate backups on data sanitization. r=backup-reviewers,kpatenio
This also reorganizes things a bit in BackupService so that uninitBackupScheduler
also disarms the debouncer and any queued debounced jobs end up being inert.

Differential Revision: https://phabricator.services.mozilla.com/D218877
2024-09-04 17:56:58 +00:00
Mike Conley
2d3cbfc487 Bug 1890427 - Part 6: Use an observer to regenerate backups when an address is deleted. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D218876
2024-09-04 17:56:57 +00:00
Mike Conley
01d75928e9 Bug 1890427 - Part 5: Use an observer to regenerate backups when a payment method is deleted. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D218875
2024-09-04 17:56:57 +00:00
Mike Conley
a0f2bc1d52 Bug 1890427 - Part 4: Use an AddonListener to regenerate backups when an addon is uninstalled. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D218874
2024-09-04 17:56:57 +00:00
Mike Conley
b54ccf35a1 Bug 1890427 - Part 3: Use a PlacesObserver to regenerate backups when a bookmark is deleted. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D218886
2024-09-04 17:56:56 +00:00
Mike Conley
a534022f9b Bug 1890427 - Part 2: Use an observer to regenerate backups when a password is deleted. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D218873
2024-09-04 17:56:56 +00:00
Mike Conley
5c50c56a5d Bug 1890427 - Part 1: Use a PlacesObserver to regenerate backups when pages are removed or history is cleared. r=backup-reviewers,kpatenio
This debounces backup regenerations using a DeferredTask.

Differential Revision: https://phabricator.services.mozilla.com/D218872
2024-09-04 17:56:55 +00:00
Mike Conley
d23cddd9e6 Bug 1893485 - Add the profileGroupID to the backup manifest. r=backup-reviewers,kpatenio
This is a BackupManifest schema change that will break recovering from
any backups created before this change. However, considering that we
haven't released this feature yet, I figured it wasn't worth the
effort of doing a schema version bump or handling of the prior
version.

I'm making the field optional in the BackupManifest because in the
event that we decide to backport the backup component to ESR 115,
we need to handle the fact that ESR 115 has no notion of a profile
group ID (and is unlikely to ever have such a notion).

Differential Revision: https://phabricator.services.mozilla.com/D218976
2024-09-04 17:39:33 +00:00
Stephen Thompson
ac28601c38 Bug 1901308 - Show profile backup errors and keep modals open r=backup-reviewers,fluent-reviewers,firefox-desktop-core-reviewers ,mconley,bolsson
Currently, clicking "confirm" buttons on modals in the profile backup settings menu will always close the modals regardless of whether the operation succeeded or failed. In the case of errors, users don't know that something went wrong. It's better to keep the modals open and display an error so that the user knows what to do next and can try to fix the issue, if applicable.

Differential Revision: https://phabricator.services.mozilla.com/D218358
2024-08-06 18:21:16 +00:00
Narcis Beleuzu
e69542173f Backed out changeset bd72ed21a114 (bug 1901308) for Doc failure on BackupUIChild.sys . CLOSED TREE 2024-08-06 20:46:23 +03:00
Stephen Thompson
1b8f32ff12 Bug 1901308 - Show profile backup errors and keep modals open r=backup-reviewers,fluent-reviewers,firefox-desktop-core-reviewers ,mconley,bolsson
Currently, clicking "confirm" buttons on modals in the profile backup settings menu will always close the modals regardless of whether the operation succeeded or failed. In the case of errors, users don't know that something went wrong. It's better to keep the modals open and display an error so that the user knows what to do next and can try to fix the issue, if applicable.

Differential Revision: https://phabricator.services.mozilla.com/D218358
2024-08-06 14:56:53 +00:00
Mike Conley
acf9e6ac1f Bug 1910953 - Use a Web Lock to sequence deletions and creations of backups. r=backup-reviewers,fchasen
This allows us to avoid creating a backup while we're in the middle of deleting
one, and deleting a backup when we're in the middle of creating one.

An AbortController is used to clear the lock's request queue on shutdown
in the (unlikely) event that a whole slew of backup creation and deletion
requests have queued up.

Differential Revision: https://phabricator.services.mozilla.com/D218240
2024-08-06 13:54:35 +00:00
Stephen Thompson
ac06904751 Bug 1905157 - Display profile recovery error messages in UI r=backup-reviewers,fluent-reviewers,mconley,bolsson,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D216090
2024-07-26 16:41:40 +00:00
kpatenio
b5fb94df79 Bug 1896772 - verify and display password rules r=backup-reviewers,fluent-reviewers,sthompson
Differential Revision: https://phabricator.services.mozilla.com/D216617
2024-07-25 22:23:34 +00:00
Norisz Fay
47349b3029 Backed out changeset 898c9afa27d2 (bug 1905157) for causing build bustages CLOSED TREE 2024-07-23 19:28:00 +03:00
Stephen Thompson
89c71a4a58 Bug 1905157 - Display profile recovery error messages in UI r=backup-reviewers,fluent-reviewers,mconley,bolsson
Differential Revision: https://phabricator.services.mozilla.com/D216090
2024-07-23 15:54:15 +00:00
Stephen Thompson
98746465d5 Bug 1907625 - Measure final backup archive size r=backup-reviewers,mconley
Measure final backup archive size to nearest mebibyte in order to understand how much disk space we are using on users' computers in order to back up their data

Differential Revision: https://phabricator.services.mozilla.com/D216708
2024-07-22 16:00:16 +00:00
Mike Conley
65f281083c Bug 1906912 - Make parseArchiveHeader resilient to partial Unicode characters in the buffer. r=mconley,backup-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D216849
2024-07-18 15:59:46 +00:00
Fred Chasen
96c11a71e5 Bug 1905154: Restore dialog should remain open while a backup recovery is in progress. r=backup-reviewers,fluent-reviewers,flod,sthompson
- Adds a #recoveryInProgress member to BackupService to limit to one recovery at a time
- Adds recoveryInProgress and recoveryErrorCode properties to the BackupSettings component
- Has BackupUIChild set recoveryInProgress / recoveryErrorCode while a recovery is underway.
- Keeps the restore dialog open while the recovery is underway, disables the confirm button and updates it's text to "Restoring..."
- Has BackupUIChild close the recovery dialog if recovery is successful.

Figma: https://www.figma.com/design/vNbX4c0ws0L1qr0mxpKvsW/Fx-Backup?node-id=147-4568&t=rmWErO2I6lpY3Vz7-0

Differential Revision: https://phabricator.services.mozilla.com/D215677
2024-07-15 16:29:48 +00:00
Stanca Serban
d4e8f2284a Backed out changeset d98136b45ed4 (bug 1905154) for causing mozilla::dom::PathUtils::InitFileWithPath related mochitests failures. CLOSED TREE 2024-07-13 02:15:07 +03:00
Fred Chasen
f740c2596e Bug 1905154: Restore dialog should remain open while a backup recovery is in progress. r=backup-reviewers,fluent-reviewers,flod,sthompson
- Adds a #recoveryInProgress member to BackupService to limit to one recovery at a time
- Adds recoveryInProgress and recoveryErrorCode properties to the BackupSettings component
- Has BackupUIChild set recoveryInProgress / recoveryErrorCode while a recovery is underway.
- Keeps the restore dialog open while the recovery is underway, disables the confirm button and updates it's text to "Restoring..."
- Has BackupUIChild close the recovery dialog if recovery is successful.

Figma: https://www.figma.com/design/vNbX4c0ws0L1qr0mxpKvsW/Fx-Backup?node-id=147-4568&t=rmWErO2I6lpY3Vz7-0

Differential Revision: https://phabricator.services.mozilla.com/D215677
2024-07-12 20:36:27 +00:00
Mike Conley
0bb93129cd Bug 1902336 - Make sure to properly re-encrypt payment methods with the local OSKeyStore after backup recovery. r=backup-reviewers,sthompson
This also adds a fake nsIOSKeyStore implementation for our xpcshell tests. This
should allow us to run these tests on apple_silicon in automation.

Differential Revision: https://phabricator.services.mozilla.com/D215707
2024-07-12 17:48:04 +00:00
Stephen Thompson
323750a60a Bug 1891146 - Measure places, favicons, and total profile backup time r=places-reviewers,Standard8,mconley
Differential Revision: https://phabricator.services.mozilla.com/D214983
2024-07-11 16:48:15 +00:00
Mike Conley
fb791f4457 Bug 1907136 - Don't forget to clear the last backup filename / timestamp preference caches when deleting the last backup. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D216201
2024-07-11 14:11:47 +00:00
Norisz Fay
3ef4a25161 Backed out changeset da52483d6274 (bug 1891146) for causing xpcshell failures on test_BackupService.js CLOSED TREE 2024-07-11 00:54:17 +03:00
Stephen Thompson
5afc105b07 Bug 1891146 - Measure places, favicons, and total profile backup time r=places-reviewers,Standard8,mconley
Differential Revision: https://phabricator.services.mozilla.com/D214983
2024-07-10 20:25:10 +00:00
Mike Conley
a44f7c8ceb Bug 1904925 - Fill out more of the backup-settings reusable component. r=backup-reviewers,fluent-reviewers,firefox-desktop-core-reviewers ,flod,kpatenio
This exposes some UI to show the most recent backup timestamp
and location (if a recent backup exists), and buttons to show
that location, and to edit the location.

Differential Revision: https://phabricator.services.mozilla.com/D215543
2024-07-10 15:38:46 +00:00
Mike Conley
a3b982afa5 Bug 1903117 - Make the download link in the single-file archive work. r=backup-reviewers,desktop-theme-reviewers,dao,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D215503
2024-07-08 19:18:58 +00:00
Stephen Thompson
ad5c1d8ebf Bug 1906169 - Error plumbing for profile backup web worker r=backup-reviewers,mconley
Some of the Firefox profile backup code is executed within a web worker, so errors thrown in the worker do not automatically maintain their full context when caught in the main process.

This change creates a BackupError for throwing errors with causes specific to Firefox profile backup. The new error type is configured to work with the PromiseWorker machinery in the Firefox codebase in order to serialize and deserialize error details across the worker boundary.

Differential Revision: https://phabricator.services.mozilla.com/D215920
2024-07-08 17:49:45 +00:00
Stephen Thompson
6e5f4652be Bug 1901758 - Remove intermediate artifacts during backup r=backup-reviewers,mconley
Clean up intermediate artifacts in order to be kind to users' disk space:
- remove staging folder after compressing the staging folder into a new single ZIP file
- remove that single ZIP file after embedding its contents into the backup HTML file

Differential Revision: https://phabricator.services.mozilla.com/D215542
2024-07-08 15:52:28 +00:00
Stanca Serban
8ce85d1221 Backed out changeset f35d254c77a2 (bug 1903117) as requested for causing Bug 1906460. 2024-07-05 20:07:05 +03:00
Mike Conley
e1725482b4 Bug 1903117 - Make the download link in the single-file archive work. r=backup-reviewers,desktop-theme-reviewers,dao,kpatenio
Depends on D214451

Differential Revision: https://phabricator.services.mozilla.com/D215503
2024-07-04 19:25:17 +00:00
Mike Conley
23cb6c5aa8 Bug 1903127 - Move the single-file archive into the configured destination folder. r=backup-reviewers,fluent-reviewers,sthompson,flod,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D214451
2024-07-04 19:25:16 +00:00
Sandor Molnar
09fd2b89b8 Backed out 2 changesets (bug 1903117, bug 1903127) for causing xpc failures @ test_BackupService_resolveArchiveDestFolderPath.js CLOSED TREE
Backed out changeset 3d272e8ab369 (bug 1903117)
Backed out changeset afbf6e3d4145 (bug 1903127)
2024-07-04 21:16:44 +03:00
Mike Conley
7bfd959b85 Bug 1903117 - Make the download link in the single-file archive work. r=backup-reviewers,desktop-theme-reviewers,dao,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D215503
2024-07-04 17:30:41 +00:00
Mike Conley
5bd3c3fb5f Bug 1903127 - Move the single-file archive into the configured destination folder. r=backup-reviewers,fluent-reviewers,sthompson,flod,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D214451
2024-07-04 17:30:41 +00:00
Stephen Thompson
0bdfadda55 Bug 1904949 - Add cause error codes to backup service r=backup-reviewers,mconley
This introduces error code causes that can be used by UI components to present context-relevant error text. This starts throwing errors with cause error codes in parts of the backup codebase, but there are still areas (especially at the boundary with web workers) where cause codes need to be introduced and handled.

Differential Revision: https://phabricator.services.mozilla.com/D215535
2024-07-04 14:03:21 +00:00
Fred Chasen
4080afa4ce Bug 1904146 - Add getBackupFileInfo method to BackupService to handle GetBackupFileInfo events. r=mconley
This implements getting the information needed to show the date of a backup in the restore component and showing the password input if that backup is encrypted.

- Adds a `getBackupFileInfo` method to `BackupService` that will call `sampleArchive` for a passed backup file and update the `backupFileInfo` in the state with a subset of that info.
- Update the `GetBackupFileInfo` event handler in `BackupUIParent` to use the new `getBackupFileInfo` method.

Differential Revision: https://phabricator.services.mozilla.com/D214899
2024-07-03 19:53:34 +00:00