A4A: Add backups to the agency site detail view#112205
Conversation
Jetpack Cloud Live (direct link)
Automattic for Agencies Live (direct link)
Dashboard Live (dotcom) (direct link)
|
|
Looks like one of the E2E tests has failed. You can fix them following these steps:
|
78cceaf to
1914c58
Compare
c304ff8 to
e18ce4d
Compare
53ef448 to
71b5d87
Compare
jkguidaven
left a comment
There was a problem hiding this comment.
Left minor comments. Feel free to address them.
e18ce4d to
add48e7
Compare
71b5d87 to
eaeab36
Compare
ee18a14 to
58a456e
Compare
eaeab36 to
8691e4a
Compare
|
Thanks for the review @jkguidaven 🙏 — addressed all three by extracting shared page shells ( |
58a456e to
b8355a1
Compare
8691e4a to
4b75bb0
Compare
b8355a1 to
e63973e
Compare
4b75bb0 to
7a63181
Compare
Adds the full Backups experience (list, detail with file browser, Download, and Restore) to the A4A agency site detail, reusing the multi-site dashboard's backup components. Shared, route-agnostic pieces used by both dotcom and A4A: - BackupsBrowser (list + detail grid + selection + activity log) - BackupRestoreFlow / BackupDownloadFlow (step machines) - BackupDetails (navigation injected via callbacks) - BackupCardContent (parameterized by siteId + backupUrl) The dotcom pages become thin shells over those shared components; A4A adds its own thin shells + routes (/sites/$siteSlug/backups[/$rewindId[/restore|/download]]), gated on the agency site's has_backup flag. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* Add the "Back up now" button (with useBackupState and the BackupNotices progress banner) to the agency backups list page. * Forward searchParams to BackupsBrowser so the DataView hydrates page/search state from the URL, matching dotcom. * Add a loader on the backups route to prefetch site settings and backups in parallel, removing the site → settings suspense waterfall. * Fix stale $siteId route comments to $siteSlug. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the duplicated agency backup shells with the shared components extracted in the base branch, addressing the review feedback: * backups-list-page renders <BackupsPage> with agency-route navigation built via useBackupsNavigation * backups uses <BackupFileBrowserProvider> * backup-download renders <BackupDownloadPage> Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7a63181 to
54e0098
Compare
|
This Pull Request is now available for translation here: https://translate.wordpress.com/deliverables/34251814 Some locales (Hebrew) have been temporarily machine-translated due to translator availability. All other translations are usually ready within a few days. Untranslated and machine-translated strings will be sent for translation next Monday and are expected to be completed by the following Friday. Thank you @yashwin for including a screenshot in the description! This is really helpful for our translators. |
|
Here is how your PR affects size of JS and CSS bundles shipped to the user's browser: App Entrypoints (~2143 bytes added 📈 [gzipped]) DetailsCommon code that is always downloaded and parsed every time the app is loaded, no matter which route is used. Sections (~490 bytes added 📈 [gzipped]) DetailsSections contain code specific for a given set of routes. Is downloaded and parsed only when a particular route is navigated to. Async-loaded Components (~485 bytes added 📈 [gzipped]) DetailsReact components that are loaded lazily, when a certain part of UI is displayed for the first time. Legend What is parsed and gzip size?Parsed Size: Uncompressed size of the JS and CSS files. This much code needs to be parsed and stored in memory. Generated by performance advisor bot at iscalypsofastyet.com. |
This PR is built on top of #112208.
Part of A4A-2905
Resolves A4A-2915
This is PR 2 of 2. The shared, route-agnostic backup components it consumes were extracted in PR 1 (#112208); this PR contains only the A4A wiring (
client/dashboard/agency/**+ the agency router).Proposed Changes
/sites/$siteSlug/backups,.../$rewindId,.../restore,.../download, gated on the agency site'shas_backupflag.Why are these changes being made?
Testing Instructions
yarn start-dashboard) as an agency (non-client) user.Pre-merge Checklist