From a0793dd37030f7213ecb07a018b11e6a8adf9238 Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Sat, 10 Oct 2026 12:56:26 +0200 Subject: feat(android): back the phone's contacts up to a group of one's own A Contacts backup section on the Android Sync page sends a dated .vcf into /-contacts once a day when the address book changed, only to a group the account is alone in, checked again at every run. Co-Authored-By: Claude Opus 5.5 --- .../app/src/main/AndroidManifest.xml | 2 + .../app/src/main/assets/bridge/meshbay-bridge.js | 13 + .../main/kotlin/org/meshbay/client/MainActivity.kt | 15 +- .../kotlin/org/meshbay/client/bridge/Channels.kt | 5 +- .../org/meshbay/client/phonesync/ContactSource.kt | 51 ++++ .../org/meshbay/client/phonesync/DocChannels.kt | 179 ++++++++++++++ .../kotlin/org/meshbay/client/phonesync/DocPlan.kt | 91 +++++++ .../org/meshbay/client/photos/PhotoChannels.kt | 36 +-- .../test/kotlin/org/meshbay/client/DocSyncTest.kt | 55 +++++ .../src/meshbay_hub/static/android-sync-page.js | 11 +- packages/meshbay-hub/src/meshbay_hub/static/app.js | 31 ++- .../src/meshbay_hub/static/locales/de.js | 21 ++ .../src/meshbay_hub/static/locales/en.js | 21 ++ .../src/meshbay_hub/static/locales/es.js | 21 ++ .../src/meshbay_hub/static/locales/fr.js | 21 ++ .../src/meshbay_hub/static/locales/it.js | 21 ++ .../src/meshbay_hub/static/locales/ja.js | 21 ++ .../src/meshbay_hub/static/locales/nl.js | 21 ++ .../src/meshbay_hub/static/locales/pl.js | 21 ++ .../src/meshbay_hub/static/locales/pt-BR.js | 21 ++ .../src/meshbay_hub/static/locales/zh-CN.js | 21 ++ .../src/meshbay_hub/static/phone-sync-settings.js | 210 ++++++++++++++++ .../src/meshbay_hub/static/phone-sync.js | 249 +++++++++++++++++++ .../src/meshbay_hub/static/photo-sync.js | 13 +- .../meshbay-hub/src/meshbay_hub/static/platform.js | 27 +++ packages/meshbay-hub/tests/test_android_shell.py | 10 +- .../meshbay-hub/tests/test_first_load_is_lean.py | 3 +- packages/meshbay-hub/tests/test_hook_ordering.py | 3 +- packages/meshbay-hub/tests/test_phone_sync.py | 266 +++++++++++++++++++++ 29 files changed, 1443 insertions(+), 37 deletions(-) create mode 100644 packages/meshbay-android/app/src/main/kotlin/org/meshbay/client/phonesync/ContactSource.kt create mode 100644 packages/meshbay-android/app/src/main/kotlin/org/meshbay/client/phonesync/DocChannels.kt create mode 100644 packages/meshbay-android/app/src/main/kotlin/org/meshbay/client/phonesync/DocPlan.kt create mode 100644 packages/meshbay-android/app/src/test/kotlin/org/meshbay/client/DocSyncTest.kt create mode 100644 packages/meshbay-hub/src/meshbay_hub/static/phone-sync-settings.js create mode 100644 packages/meshbay-hub/src/meshbay_hub/static/phone-sync.js create mode 100644 packages/meshbay-hub/tests/test_phone_sync.py (limited to 'packages') diff --git a/packages/meshbay-android/app/src/main/AndroidManifest.xml b/packages/meshbay-android/app/src/main/AndroidManifest.xml index 37c18c7..48a69ea 100644 --- a/packages/meshbay-android/app/src/main/AndroidManifest.xml +++ b/packages/meshbay-android/app/src/main/AndroidManifest.xml @@ -21,6 +21,8 @@ + +