summaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src
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 /packages/meshbay-hub/src
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 'packages/meshbay-hub/src')
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/app.js7
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/de.js5
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/en.js5
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/es.js5
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js5
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/it.js5
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js5
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js5
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js5
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js5
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js5
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/phone-sync-settings.js16
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/phone-sync.js6
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/photo-sync.js2
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/platform.js5
15 files changed, 9 insertions, 77 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/app.js b/packages/meshbay-hub/src/meshbay_hub/static/app.js
index 195660c..5fcd6e7 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/app.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/app.js
@@ -714,7 +714,7 @@ const SearchPage = lazy(() => import('./search-page.js'), 'SearchPage',
// ── Lazy-loaded Android Sync page ────────────────────────────────────────────
//
-// The Android application's backups of its photos, contacts and messages
+// The Android application's backups of its photos, contacts, calendar and files
// (docs/MESHBAY_DESIGN.md §9.12, §9.13): no browser or desktop ever fetches it.
const PHONE_SYNC = platform.phoneSync.available;
const AndroidSyncPage = lazy(() => import('./android-sync-page.js'), 'AndroidSyncPage',
@@ -962,10 +962,9 @@ function App() {
return () => { gone = true; if (stop) stop(); };
}, [syncAccount]);
- // Contacts, calendar and messages backup (§9.13), the same way.
+ // Contacts and calendar backup (§9.13), the same way.
useEffect(() => {
- if (!syncAccount || !(platform.contactSync.available || platform.calendarSync.available
- || platform.messageSync.available)) {
+ if (!syncAccount || !(platform.contactSync.available || platform.calendarSync.available)) {
return undefined;
}
let stop = null;
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
index 7bd3528..0489b95 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
@@ -1369,10 +1369,6 @@ export default {
'calendarsync.heading': "Kalender-Sicherung",
'calendarsync.intro': "Einmal täglich, wenn sie sich geändert haben, eine Kopie der Kalender dieses Telefons senden: die, die du bearbeiten kannst, nicht die nur abonnierten. Jede Kopie ist eine .ics-Datei, die jeder Kalender importieren kann.",
'calendarsync.permission_needed': "MeshBay braucht Zugriff auf die Kalender dieses Telefons.",
- 'messagesync.heading': "SMS-Sicherung",
- 'messagesync.intro': "Die SMS dieses Telefons einmal täglich senden: Die erste Kopie enthält alle, jede weitere nur die neuen. Die Dateien sind im XML-Format, das SMS-Sicherungs-Apps wiederherstellen können. MMS sind nicht enthalten.",
- 'messagesync.permission_needed': "MeshBay braucht Zugriff auf die SMS dieses Telefons.",
- 'messagesync.restricted_hint': "Wenn Android von einer eingeschränkten Einstellung spricht: Öffne die App-Einstellungen, tippe oben auf ⋮, „Eingeschränkte Einstellungen zulassen“, und schalte es dann hier wieder ein. Android verlangt das von Apps, die nicht aus einem Store installiert wurden.",
'phonesync.state_sending': "Wird gesendet…",
'phonesync.summary': "{group} → {dir}",
'phonesync.copies_sent': "Gesendete Kopien: {n}",
@@ -1389,7 +1385,6 @@ export default {
'phonesync.fail_not_private': "Gestoppt: Jemand anderes ist der Gruppe beigetreten.",
'phonesync.fail_permission': "Gestoppt: MeshBay hat keinen Zugriff mehr.",
'phonesync.fail_other': "Gestoppt.",
- 'phonesync.open_settings': "App-Einstellungen öffnen",
'drivesync.heading': "Datei-Sicherung",
'drivesync.intro': "Die Dateien der Ordner, die du auf diesem Telefon auswählst, einmal täglich über WLAN senden. Eine auf dem Telefon geänderte Datei wird neben der früheren Kopie erneut gesendet; nichts wird je ersetzt.",
'drivesync.folders': "Gesicherte Ordner",
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
index 1ba570a..cb74f18 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
@@ -1354,10 +1354,6 @@ export default {
'calendarsync.heading': "Calendar backup",
'calendarsync.intro': "Send a copy of this phone's calendars once a day when they have changed: the ones you can edit, not those you only subscribe to. Each copy is an .ics file any calendar can import.",
'calendarsync.permission_needed': "MeshBay needs access to this phone's calendars.",
- 'messagesync.heading': "Messages backup",
- 'messagesync.intro': "Send the text messages on this phone once a day: the first copy holds them all, each next one only the new ones. The files are in the XML format SMS backup applications restore. Multimedia messages are not included.",
- 'messagesync.permission_needed': "MeshBay needs access to this phone's text messages.",
- 'messagesync.restricted_hint': "If Android says this is a restricted setting: open the application's settings, tap ⋮ at the top, “Allow restricted settings”, then come back and turn this on again. Android asks this of applications installed outside a store.",
'phonesync.state_sending': "Sending…",
'phonesync.summary': "{group} → {dir}",
'phonesync.copies_sent': "Copies sent: {n}",
@@ -1374,7 +1370,6 @@ export default {
'phonesync.fail_not_private': "Stopped: somebody else has joined the group.",
'phonesync.fail_permission': "Stopped: MeshBay no longer has access.",
'phonesync.fail_other': "Stopped.",
- 'phonesync.open_settings': "Open the application's settings",
'drivesync.heading': "Files backup",
'drivesync.intro': "Send the files of folders you choose on this phone, once a day, on Wi-Fi. A file changed on the phone is sent again beside the earlier copy; nothing is ever replaced.",
'drivesync.folders': "Folders backed up",
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
index e04d09d..b8d1b89 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
@@ -1364,10 +1364,6 @@ export default {
'calendarsync.heading': "Copia de seguridad del calendario",
'calendarsync.intro': "Enviar una copia de los calendarios de este teléfono una vez al día si han cambiado: los que puedes editar, no aquellos a los que solo estás suscrito. Cada copia es un archivo .ics que cualquier calendario puede importar.",
'calendarsync.permission_needed': "MeshBay necesita acceso a los calendarios de este teléfono.",
- 'messagesync.heading': "Copia de seguridad de SMS",
- 'messagesync.intro': "Enviar los SMS de este teléfono una vez al día: la primera copia los contiene todos y cada una de las siguientes solo los nuevos. Los archivos están en el formato XML que restauran las aplicaciones de copia de seguridad de SMS. Los MMS no se incluyen.",
- 'messagesync.permission_needed': "MeshBay necesita acceso a los SMS de este teléfono.",
- 'messagesync.restricted_hint': "Si Android habla de un ajuste restringido: abre los ajustes de la aplicación, toca ⋮ arriba, «Permitir ajustes restringidos» y vuelve para activarlo. Android lo exige a las aplicaciones instaladas fuera de una tienda.",
'phonesync.state_sending': "Enviando…",
'phonesync.summary': "{group} → {dir}",
'phonesync.copies_sent': "Copias enviadas: {n}",
@@ -1384,7 +1380,6 @@ export default {
'phonesync.fail_not_private': "Detenida: otra persona se ha unido al grupo.",
'phonesync.fail_permission': "Detenida: MeshBay ya no tiene acceso.",
'phonesync.fail_other': "Detenida.",
- 'phonesync.open_settings': "Abrir los ajustes de la aplicación",
'drivesync.heading': "Copia de seguridad de archivos",
'drivesync.intro': "Enviar los archivos de las carpetas que elijas en este teléfono, una vez al día, por Wi-Fi. Un archivo modificado en el teléfono se envía de nuevo junto a la copia anterior; nunca se reemplaza nada.",
'drivesync.folders': "Carpetas con copia",
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
index 9165d6d..c895b63 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
@@ -1379,10 +1379,6 @@ export default {
'calendarsync.heading': "Sauvegarde de l'agenda",
'calendarsync.intro': "Envoyer une copie des agendas de ce téléphone une fois par jour s'ils ont changé : ceux que vous pouvez modifier, pas ceux auxquels vous êtes seulement abonné. Chaque copie est un fichier .ics que tout agenda sait importer.",
'calendarsync.permission_needed': "MeshBay a besoin d'accéder aux agendas de ce téléphone.",
- 'messagesync.heading': "Sauvegarde des SMS",
- 'messagesync.intro': "Envoyer les SMS de ce téléphone une fois par jour : la première copie les contient tous, les suivantes seulement les nouveaux. Les fichiers sont au format XML que les applis de sauvegarde SMS savent restaurer. Les MMS ne sont pas inclus.",
- 'messagesync.permission_needed': "MeshBay a besoin d'accéder aux SMS de ce téléphone.",
- 'messagesync.restricted_hint': "Si Android parle d'un paramètre restreint : ouvrez les réglages de l'appli, touchez ⋮ en haut, « Autoriser les paramètres restreints », puis revenez l'activer. Android l'exige des applis installées hors d'un store.",
'phonesync.state_sending': "Envoi…",
'phonesync.summary': "{group} → {dir}",
'phonesync.copies_sent': "Copies envoyées : {n}",
@@ -1399,7 +1395,6 @@ export default {
'phonesync.fail_not_private': "Arrêtée : quelqu'un d'autre a rejoint le groupe.",
'phonesync.fail_permission': "Arrêtée : MeshBay n'y a plus accès.",
'phonesync.fail_other': "Arrêtée.",
- 'phonesync.open_settings': "Ouvrir les réglages de l'appli",
'drivesync.heading': "Sauvegarde des fichiers",
'drivesync.intro': "Envoyer les fichiers des dossiers que vous choisissez sur ce téléphone, une fois par jour, en Wi-Fi. Un fichier modifié sur le téléphone est renvoyé à côté de la copie précédente ; rien n'est jamais remplacé.",
'drivesync.folders': "Dossiers sauvegardés",
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
index b7ae9e9..8da2953 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
@@ -1378,10 +1378,6 @@ export default {
'calendarsync.heading': "Backup del calendario",
'calendarsync.intro': "Invia una copia dei calendari di questo telefono una volta al giorno se sono cambiati: quelli che puoi modificare, non quelli a cui sei solo iscritto. Ogni copia è un file .ics che qualsiasi calendario può importare.",
'calendarsync.permission_needed': "MeshBay ha bisogno di accedere ai calendari di questo telefono.",
- 'messagesync.heading': "Backup degli SMS",
- 'messagesync.intro': "Invia gli SMS di questo telefono una volta al giorno: la prima copia li contiene tutti, le successive solo quelli nuovi. I file sono nel formato XML che le app di backup degli SMS sanno ripristinare. Gli MMS non sono inclusi.",
- 'messagesync.permission_needed': "MeshBay ha bisogno di accedere agli SMS di questo telefono.",
- 'messagesync.restricted_hint': "Se Android parla di un'impostazione con restrizioni: apri le impostazioni dell'app, tocca ⋮ in alto, «Consenti impostazioni con restrizioni», poi torna qui ad attivarlo. Android lo richiede alle app installate fuori da uno store.",
'phonesync.state_sending': "Invio…",
'phonesync.summary': "{group} → {dir}",
'phonesync.copies_sent': "Copie inviate: {n}",
@@ -1398,7 +1394,6 @@ export default {
'phonesync.fail_not_private': "Interrotto: qualcun altro si è unito al gruppo.",
'phonesync.fail_permission': "Interrotto: MeshBay non ha più accesso.",
'phonesync.fail_other': "Interrotto.",
- 'phonesync.open_settings': "Apri le impostazioni dell'app",
'drivesync.heading': "Backup dei file",
'drivesync.intro': "Invia i file delle cartelle che scegli su questo telefono, una volta al giorno, in Wi-Fi. Un file modificato sul telefono viene inviato di nuovo accanto alla copia precedente; non viene mai sostituito nulla.",
'drivesync.folders': "Cartelle salvate",
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
index 286051e..c1f9523 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
@@ -1362,10 +1362,6 @@ export default {
'calendarsync.heading': "カレンダーのバックアップ",
'calendarsync.intro': "このスマートフォンのカレンダーのコピーを、変更があった日に1日1回送ります。対象は編集できるカレンダーで、購読しているだけのものは含みません。各コピーはどのカレンダーでも読み込める .ics ファイルです。",
'calendarsync.permission_needed': "MeshBay にこのスマートフォンのカレンダーへのアクセスを許可してください。",
- 'messagesync.heading': "SMS のバックアップ",
- 'messagesync.intro': "このスマートフォンの SMS を1日1回送ります。最初のコピーにはすべてが含まれ、以降は新しいものだけが含まれます。ファイルは SMS バックアップアプリで復元できる XML 形式です。MMS は含まれません。",
- 'messagesync.permission_needed': "MeshBay にこのスマートフォンの SMS へのアクセスを許可してください。",
- 'messagesync.restricted_hint': "Android が制限付き設定と表示した場合は、アプリの設定を開き、上部の ⋮ から「制限付き設定を許可」を選び、ここに戻ってもう一度オンにしてください。ストア以外からインストールしたアプリには Android がこれを求めます。",
'phonesync.state_sending': "送信中…",
'phonesync.summary': "{group} → {dir}",
'phonesync.copies_sent': "送信したコピー: {n}",
@@ -1382,7 +1378,6 @@ export default {
'phonesync.fail_not_private': "停止しました: 他の人がグループに参加しました。",
'phonesync.fail_permission': "停止しました: MeshBay はアクセスできなくなりました。",
'phonesync.fail_other': "停止しました。",
- 'phonesync.open_settings': "アプリの設定を開く",
'drivesync.heading': "ファイルのバックアップ",
'drivesync.intro': "このスマートフォンで選んだフォルダーのファイルを、1日1回 Wi-Fi で送ります。スマートフォンで変更したファイルは、以前のコピーの横にもう一度送られます。何も置き換えられません。",
'drivesync.folders': "バックアップするフォルダー",
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
index 5bf1a3b..66505da 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
@@ -1380,10 +1380,6 @@ export default {
'calendarsync.heading': "Back-up van de agenda",
'calendarsync.intro': "Stuur eenmaal per dag, als ze veranderd zijn, een kopie van de agenda's op deze telefoon: de agenda's die je kunt bewerken, niet de agenda's waarop je alleen geabonneerd bent. Elke kopie is een .ics-bestand dat elke agenda kan importeren.",
'calendarsync.permission_needed': "MeshBay heeft toegang nodig tot de agenda's op deze telefoon.",
- 'messagesync.heading': "Back-up van sms'jes",
- 'messagesync.intro': "Stuur de sms'jes op deze telefoon eenmaal per dag: de eerste kopie bevat ze allemaal, elke volgende alleen de nieuwe. De bestanden zijn in het XML-formaat dat sms-back-upapps kunnen terugzetten. Mms'jes zijn niet inbegrepen.",
- 'messagesync.permission_needed': "MeshBay heeft toegang nodig tot de sms'jes op deze telefoon.",
- 'messagesync.restricted_hint': "Als Android het over een beperkte instelling heeft: open de instellingen van de app, tik bovenaan op ⋮, ‘Beperkte instellingen toestaan’, en zet het daarna hier weer aan. Android vraagt dit van apps die buiten een winkel zijn geïnstalleerd.",
'phonesync.state_sending': "Bezig met verzenden…",
'phonesync.summary': "{group} → {dir}",
'phonesync.copies_sent': "Verzonden kopieën: {n}",
@@ -1400,7 +1396,6 @@ export default {
'phonesync.fail_not_private': "Gestopt: iemand anders is lid geworden van de groep.",
'phonesync.fail_permission': "Gestopt: MeshBay heeft geen toegang meer.",
'phonesync.fail_other': "Gestopt.",
- 'phonesync.open_settings': "Instellingen van de app openen",
'drivesync.heading': "Back-up van bestanden",
'drivesync.intro': "Stuur de bestanden van mappen die je op deze telefoon kiest, eenmaal per dag, via wifi. Een bestand dat op de telefoon is gewijzigd, wordt opnieuw verstuurd naast de eerdere kopie; er wordt nooit iets vervangen.",
'drivesync.folders': "Geback-upte mappen",
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
index e5bc31a..e4fbda8 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
@@ -1408,10 +1408,6 @@ export default {
'calendarsync.heading': "Kopia kalendarza",
'calendarsync.intro': "Wysyłaj kopię kalendarzy z tego telefonu raz dziennie, jeśli się zmieniły: tych, które możesz edytować, a nie tylko subskrybowanych. Każda kopia to plik .ics, który zaimportuje każdy kalendarz.",
'calendarsync.permission_needed': "MeshBay potrzebuje dostępu do kalendarzy w tym telefonie.",
- 'messagesync.heading': "Kopia SMS-ów",
- 'messagesync.intro': "Wysyłaj SMS-y z tego telefonu raz dziennie: pierwsza kopia zawiera wszystkie, każda kolejna tylko nowe. Pliki są w formacie XML, który przywracają aplikacje do kopii SMS-ów. MMS-y nie są uwzględniane.",
- 'messagesync.permission_needed': "MeshBay potrzebuje dostępu do SMS-ów w tym telefonie.",
- 'messagesync.restricted_hint': "Jeśli Android mówi o ustawieniu z ograniczeniami: otwórz ustawienia aplikacji, dotknij ⋮ u góry, „Zezwól na ustawienia z ograniczeniami”, a potem wróć i włącz to ponownie. Android wymaga tego od aplikacji zainstalowanych spoza sklepu.",
'phonesync.state_sending': "Wysyłanie…",
'phonesync.summary': "{group} → {dir}",
'phonesync.copies_sent': "Wysłane kopie: {n}",
@@ -1428,7 +1424,6 @@ export default {
'phonesync.fail_not_private': "Zatrzymano: ktoś inny dołączył do grupy.",
'phonesync.fail_permission': "Zatrzymano: MeshBay nie ma już dostępu.",
'phonesync.fail_other': "Zatrzymano.",
- 'phonesync.open_settings': "Otwórz ustawienia aplikacji",
'drivesync.heading': "Kopia plików",
'drivesync.intro': "Wysyłaj pliki z folderów wybranych w tym telefonie raz dziennie przez Wi-Fi. Plik zmieniony w telefonie jest wysyłany ponownie obok wcześniejszej kopii; nic nie jest nigdy zastępowane.",
'drivesync.folders': "Kopiowane foldery",
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
index f21997b..bb7271c 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
@@ -1365,10 +1365,6 @@ export default {
'calendarsync.heading': "Backup da agenda",
'calendarsync.intro': "Enviar uma cópia das agendas deste celular uma vez por dia se tiverem mudado: as que você pode editar, não as que você só assina. Cada cópia é um arquivo .ics que qualquer agenda consegue importar.",
'calendarsync.permission_needed': "O MeshBay precisa de acesso às agendas deste celular.",
- 'messagesync.heading': "Backup de SMS",
- 'messagesync.intro': "Enviar os SMS deste celular uma vez por dia: a primeira cópia contém todos, cada uma das seguintes só os novos. Os arquivos estão no formato XML que os apps de backup de SMS conseguem restaurar. MMS não são incluídos.",
- 'messagesync.permission_needed': "O MeshBay precisa de acesso aos SMS deste celular.",
- 'messagesync.restricted_hint': "Se o Android falar de uma configuração restrita: abra as configurações do app, toque em ⋮ no alto, “Permitir configurações restritas” e volte para ativar. O Android exige isso de apps instalados fora de uma loja.",
'phonesync.state_sending': "Enviando…",
'phonesync.summary': "{group} → {dir}",
'phonesync.copies_sent': "Cópias enviadas: {n}",
@@ -1385,7 +1381,6 @@ export default {
'phonesync.fail_not_private': "Parado: outra pessoa entrou no grupo.",
'phonesync.fail_permission': "Parado: o MeshBay não tem mais acesso.",
'phonesync.fail_other': "Parado.",
- 'phonesync.open_settings': "Abrir as configurações do app",
'drivesync.heading': "Backup de arquivos",
'drivesync.intro': "Enviar os arquivos das pastas que você escolher neste celular, uma vez por dia, pelo Wi-Fi. Um arquivo alterado no celular é enviado de novo ao lado da cópia anterior; nada é substituído.",
'drivesync.folders': "Pastas com backup",
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
index 1d07025..9d922fe 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
@@ -1351,10 +1351,6 @@ export default {
'calendarsync.heading': "日历备份",
'calendarsync.intro': "在日历有变动的日子里,每天一次发送本机日历的副本:包括你可以编辑的日历,不包括仅订阅的日历。每份副本都是任何日历都能导入的 .ics 文件。",
'calendarsync.permission_needed': "MeshBay 需要访问本机的日历。",
- 'messagesync.heading': "短信备份",
- 'messagesync.intro': "每天一次发送本机的短信:第一份副本包含全部短信,之后每份只包含新短信。文件采用短信备份应用可以恢复的 XML 格式。不包括彩信。",
- 'messagesync.permission_needed': "MeshBay 需要访问本机的短信。",
- 'messagesync.restricted_hint': "如果 Android 提示这是受限设置:打开应用设置,点按顶部的 ⋮,选择“允许受限设置”,然后回到这里再次开启。Android 对不是从应用商店安装的应用有此要求。",
'phonesync.state_sending': "正在发送…",
'phonesync.summary': "{group} → {dir}",
'phonesync.copies_sent': "已发送副本:{n}",
@@ -1371,7 +1367,6 @@ export default {
'phonesync.fail_not_private': "已停止:有其他人加入了群组。",
'phonesync.fail_permission': "已停止:MeshBay 已无法访问。",
'phonesync.fail_other': "已停止。",
- 'phonesync.open_settings': "打开应用设置",
'drivesync.heading': "文件备份",
'drivesync.intro': "每天一次通过 Wi-Fi 发送你在本机选择的文件夹中的文件。在手机上修改过的文件会在之前的副本旁边再次发送;不会替换任何内容。",
'drivesync.folders': "已备份的文件夹",
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/phone-sync-settings.js b/packages/meshbay-hub/src/meshbay_hub/static/phone-sync-settings.js
index 998a3b2..9ee8b2b 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/phone-sync-settings.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/phone-sync-settings.js
@@ -1,4 +1,4 @@
-// The contacts, calendar and messages sections of the Android Sync page, on
+// The contacts and calendar sections of the Android Sync page, on
// the Android application only (docs/MESHBAY_DESIGN.md §9.13). Loaded on
// demand: no other client has it. Where the copies go is the page's destination section; these
// only turn each backup on or off.
@@ -17,13 +17,6 @@ const TEXT = {
intro: 'calendarsync.intro',
permission: 'calendarsync.permission_needed',
},
- messages: {
- intro: 'messagesync.intro',
- permission: 'messagesync.permission_needed',
- // Android keeps text messages behind "restricted settings" for an
- // application installed outside a store: said, with the way to lift it.
- restricted: 'messagesync.restricted_hint',
- },
};
function stateLine(st, status) {
@@ -87,12 +80,7 @@ export function DocSyncSection({ kind, destination }) {
<p class="settings-hint">${t(TEXT[kind].intro)}</p>
${!destination && html`<p class="settings-hint">${t('androidsync.dest_needed')}</p>`}
${destination && status.permission !== 'granted' && html`
- <p class="settings-hint">${t(TEXT[kind].permission)}</p>
- ${TEXT[kind].restricted && html`
- <p class="settings-hint">${t(TEXT[kind].restricted)}</p>
- <button class="btn-secondary" style="margin-bottom:8px"
- onClick=${() => sync.openSettings().catch((e) => setError(e.message))}>
- ${t('phonesync.open_settings')}</button>`}`}
+ <p class="settings-hint">${t(TEXT[kind].permission)}</p>`}
${destination && html`
<button class="admin-btn" disabled=${busy} onClick=${turnOn}>${t('phonesync.turn_on')}</button>`}
`}
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/phone-sync.js b/packages/meshbay-hub/src/meshbay_hub/static/phone-sync.js
index dcfb6f9..26334a8 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/phone-sync.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/phone-sync.js
@@ -1,6 +1,5 @@
-// Contacts, calendar and messages backup: a copy of this phone's address book
-// and calendars, and the text messages added since the last copy, sent to
-// `<folder>/<account>-contacts`, `-calendar` and `-messages` of the destination
+// Contacts and calendar backup: a copy of this phone's address book and
+// calendars, sent to `<folder>/<account>-contacts` and `-calendar` of the destination
// every backup shares (sync-destination.js), once a day when there is
// something new (docs/MESHBAY_DESIGN.md §9.13).
//
@@ -32,7 +31,6 @@ const RETRY_MS = 15 * 60 * 1000;
export const KINDS = {
contacts: { sync: platform.contactSync, heading: 'contactsync.heading', suffix: 'contacts' },
calendar: { sync: platform.calendarSync, heading: 'calendarsync.heading', suffix: 'calendar' },
- messages: { sync: platform.messageSync, heading: 'messagesync.heading', suffix: 'messages' },
};
// Refusals that will hold at the next run too: said once (a notification,
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/photo-sync.js b/packages/meshbay-hub/src/meshbay_hub/static/photo-sync.js
index 9a45cf8..3cee220 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/photo-sync.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/photo-sync.js
@@ -303,7 +303,7 @@ export const isDue = (status, now) => photos.isDue(status, now);
/**
* One photo, under a slot the node granted: the backup queues like anyone.
- * `file` is how its bytes come from the phone; contacts and messages pass theirs.
+ * `file` is how its bytes come from the phone; contacts and the calendar pass theirs.
*/
export async function upload(transport, item, file = platform.photoSync.file) {
const lease = transport.openTransfer({ kind: 'upload', bytes: item.size });
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/platform.js b/packages/meshbay-hub/src/meshbay_hub/static/platform.js
index cf2acf3..3a91417 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/platform.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/platform.js
@@ -356,7 +356,7 @@ export const phoneSync = {
};
/**
- * Backing up one kind of this phone's data (contacts, calendar, messages) to the destination
+ * Backing up one kind of this phone's data (contacts, calendar) to the destination
* every kind shares (docs/MESHBAY_DESIGN.md §9.13). Android only, like
* `photoSync`. See phone-sync.js.
*/
@@ -371,7 +371,6 @@ function docSync(name) {
sent(token, dir, n) { return b.sent(token, dir, n); },
completed() { return b.completed(); },
failed(code, text) { return b.failed(code, text); },
- openSettings() { return b.openSettings(); },
/** The file the last plan wrote, as a File named for the node. */
async file(token, fileName) {
const r = await fetch(`/phonesync/${encodeURIComponent(token)}`, { cache: 'no-store' });
@@ -383,8 +382,6 @@ function docSync(name) {
export const contactSync = docSync('contactSync');
export const calendarSync = docSync('calendarSync');
-/** Absent from the Play build, whose policy keeps text messages from it. */
-export const messageSync = docSync('messageSync');
/** Pick a directory to add as a group root. Returns { path, name } or null. */
export const rootPicker = {