diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-10-10 16:29:20 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-10-10 16:29:20 +0200 |
| commit | 7957fa686eb6e8cf57bcb62ff4e6d2785693030b (patch) | |
| tree | 562195088fa40bc4db85193956bdd8aaf00e31f5 /packages/meshbay-hub/src/meshbay_hub/static/android-sync-page.js | |
| parent | 24547e4efd3a45b36b3bea8c29cfc687230a6d3a (diff) | |
| download | meshbay-7957fa686eb6e8cf57bcb62ff4e6d2785693030b.tar.gz | |
feat(android): back up WhatsApp's own chat backups, and its media if asked
A WhatsApp section takes WhatsApp's folder through the picker, sends its
encrypted Databases and Backups (not the dated copies of earlier weeks) into
<folder>/<account>-whatsapp, and names the restore set in the manifest.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/android-sync-page.js')
| -rw-r--r-- | packages/meshbay-hub/src/meshbay_hub/static/android-sync-page.js | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/android-sync-page.js b/packages/meshbay-hub/src/meshbay_hub/static/android-sync-page.js index af59605..631be50 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/android-sync-page.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/android-sync-page.js @@ -12,7 +12,8 @@ import * as platform from './platform.js'; import { PhotoSyncSection } from './photo-sync-settings.js'; import { DocSyncSection } from './phone-sync-settings.js'; import { DriveSyncSection } from './drive-sync-settings.js'; -import { runDriveSync } from './drive-sync.js'; +import { WhatsAppSyncSection } from './whatsapp-sync-settings.js'; +import { runDriveSync, runWhatsAppSync } from './drive-sync.js'; import { runPhotoSync } from './photo-sync.js'; import { runDocSync, KINDS } from './phone-sync.js'; import { @@ -25,6 +26,7 @@ function kindDirs(folder, account) { ...(platform.photoSync.available ? ['photos'] : []), ...Object.values(KINDS).filter((k) => k.sync.available).map((k) => k.suffix), ...(platform.driveSync.available ? ['drive'] : []), + ...(platform.whatsappSync.available ? ['whatsapp'] : []), ]; return suffixes.map((s) => `${folder}/${account}-${s}`); } @@ -46,6 +48,7 @@ export function AndroidSyncPage({ user, groups }) { if (platform.photoSync.available) runPhotoSync(); for (const kind of Object.keys(KINDS)) if (KINDS[kind].sync.available) runDocSync(kind); if (platform.driveSync.available) runDriveSync(); + if (platform.whatsappSync.available) runWhatsAppSync(); }; return html` @@ -58,6 +61,8 @@ export function AndroidSyncPage({ user, groups }) { <${DocSyncSection} key=${kind + place} kind=${kind} destination=${mine} />`)} ${platform.driveSync.available && html` <${DriveSyncSection} key=${'drive' + place} destination=${mine} />`} + ${platform.whatsappSync.available && html` + <${WhatsAppSyncSection} key=${'whatsapp' + place} destination=${mine} />`} </div> `; } |