summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-10-15 15:09:58 +0200
committerChristophe Besson <cbesson@gmail.com>2026-10-15 15:09:58 +0200
commit39cac2878de059992cb09a1ccf09b6bcece99fae (patch)
treec4686f00fdf40e90b4b74144c1e8fd8fb8b8ed0b /docs
parent7fc2fa04d7d88a1cdf0d290ddd2de3815a7d52a5 (diff)
downloadmeshbay-39cac2878de059992cb09a1ccf09b6bcece99fae.tar.gz
feat(android): no text messages backup, and one build again
READ_SMS sits behind restricted settings outside a store and Play keeps it for the default SMS application: not worth a second build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/MESHBAY_DESIGN.md40
-rw-r--r--docs/USERGUIDE.md16
2 files changed, 16 insertions, 40 deletions
diff --git a/docs/MESHBAY_DESIGN.md b/docs/MESHBAY_DESIGN.md
index ae7f8fc..d6240c7 100644
--- a/docs/MESHBAY_DESIGN.md
+++ b/docs/MESHBAY_DESIGN.md
@@ -3743,13 +3743,13 @@ object — absent, not refusing (§11.3).
under a **Phone** heading of the side menu (`android-sync-page.js`), shown only
where `platform.phoneSync` exists. Settings holds what the account prefers on
every client; this page holds what one phone sends: photos, contacts (§9.13),
-and the kinds to come (messages, calendar, files).
+the calendar, chosen folders and WhatsApp's.
**The personal profile only.** Every backup is of the phone's personal
profile, never of a work profile: a copy of the application installed inside
a work profile is offered none of them (`Profiles.kt`; the bridge objects are
absent, so the page shows no Android Sync). In the personal profile each
-source reads that profile alone, since MediaStore and the contacts, SMS and
+source reads that profile alone, since MediaStore and the contacts and
calendar providers answer for the profile they are asked from; none of the
cross-profile `ENTERPRISE_*` URIs is used. An account added to the personal
profile is part of it, whatever its use.
@@ -3833,7 +3833,7 @@ only once the node has that file, so a run cut short sends them with the next
one. Restoring puts each photo back into its album and each file back under
its own name and date; merging onto a phone that already has some of them
compares hashes without downloading anything. Photos, videos and files have
-one; contacts, calendars and messages are each one file that describes
+one; contacts and calendars are each one file that describes
itself. What the manifest cannot bring back is a photo's location, removed
before it left the phone.
@@ -3856,10 +3856,10 @@ foreground service (`BackupService`) and the WebView reported visible, like a
cast (§11.3). Android 15 limits that type to six hours a day; the service stops
when told and the run carries on at the next opening.
-### 9.13 Contacts, calendar, messages, files and WhatsApp backup (Android)
+### 9.13 Contacts, calendar, files and WhatsApp backup (Android)
-The Android application sends a copy of the phone's **contacts**, its
-**calendars** and its **text messages** to a folder of a group, on the photo backup's terms (§9.12): a client
+The Android application sends a copy of the phone's **contacts** and its
+**calendars** to a folder of a group, on the photo backup's terms (§9.12): a client
feature over the upload path, additive, once a day, the page doing the sending
and the phone handing one file over by token (`/phonesync/<token>`,
`phonesync/` in the Android package, `phone-sync.js` on the page). Each kind is
@@ -3889,16 +3889,6 @@ organizer and attendees come along; each event names its calendar in
`X-MESHBAY-CALENDAR`, which importers ignore. Like contacts it is sent when
its SHA-256, taken without the DTSTAMP lines, differs from the last copy.
-**Messages.** `<folder>/<account>-messages/YYYY/sms-2026-10-10-0900.xml`: the
-SMS added since the last file the node took (the marker is the highest
-provider `_id` sent; ids only grow, so a message restored onto the phone later
-is sent too), the first file holding the whole history. The format is the
-`<smses>` XML that SMS backup applications restore, so a copy goes back onto a
-phone with tools that exist; `SmsXml.kt` writes it, keeping line breaks as
-character references and leaving out the characters XML 1.0 cannot carry.
-A contact name is filled in only when the person also allowed contacts. MMS
-are not included.
-
**Files.** `<folder>/<account>-drive/<chosen folder>/…`: the files of the
folders the person chose through the system's picker
(`ACTION_OPEN_DOCUMENT_TREE`, a persisted read grant per folder, no storage
@@ -3934,17 +3924,15 @@ increments: once anything in that set was sent, the manifest gets a
`restore-set` line naming, for each file of the set as it is now, the copy
on the node that goes with it.
-**Two builds.** Play's policy gives `READ_SMS` to the default SMS application
-only, so the APK has a `store` dimension: `full`, distributed directly, and
-`play`, which has neither the permission (`src/full/AndroidManifest.xml`) nor
-the code that reads messages (`SmsSource.kt` is in `src/full`; `Flavor.kt`
-answers null in `src/play`). The bridge offers `messageSync` only where the
-shell has a message source (`MESSAGES` in its prelude), so the Play build shows
-no Messages section rather than one that refuses.
+**No text messages.** They are not backed up. Play gives `READ_SMS` to the
+default SMS application only, and Android keeps it behind "restricted
+settings" for an application installed outside a store, which the person must
+lift by hand in the system's settings; for an occasional restore that was not
+worth a second build of the application.
-**Unlike photos**, these run on any network: a contacts or calendar file is small, and a
-history of text messages is megabytes, not the gigabytes of a camera roll.
-`READ_CONTACTS`, `READ_CALENDAR` and `READ_SMS` are asked for when the person
+**Unlike photos**, contacts and calendar run on any network: their files are
+small, not the gigabytes of a camera roll. `READ_CONTACTS` and
+`READ_CALENDAR` are asked for when the person
turns each on, never at start.
## 10. Filesystem portability
diff --git a/docs/USERGUIDE.md b/docs/USERGUIDE.md
index 6035a1e..1808598 100644
--- a/docs/USERGUIDE.md
+++ b/docs/USERGUIDE.md
@@ -488,8 +488,8 @@ that matters to you.
### Backing up your phone
On the Android application, **Android Sync** in the menu under your avatar,
-top right, backs up your phone's photos, contacts, calendar, text messages and
-the files of folders you choose to a group.
+top right, backs up your phone's photos, contacts, calendar and the files of
+folders you choose to a group. Text messages are not backed up.
Only your **personal profile** is backed up. If your phone has a work profile,
nothing in it is sent, and MeshBay installed inside the work profile offers no
@@ -554,18 +554,6 @@ backup at all.
(`calendar-2026-10-10-0900.ics`). Any calendar application can import it;
repeating events, their exceptions and reminders come along.
-#### Text messages
-
-- **Turn on** asks for access to your text messages. The first copy holds them
- all; then, once a day, a new file holds only the ones that arrived or were
- sent since.
-- The files go by year (`alice-messages/2026/sms-2026-10-10-0900.xml`), in the
- XML format SMS backup applications can restore onto a phone. Senders are
- named when contacts backup is also allowed. Multimedia messages (MMS) are
- not included.
-- The version of the application from the Play Store has no text messages
- backup: Play allows reading them only to the phone's messaging application.
-
#### Files
- **Add a folder** opens Android's folder picker: choose `Documents`, a folder