aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/static/phone-sync-settings.js
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-10-10 17:09:12 +0200
committerChristophe Besson <cbesson@gmail.com>2026-10-10 17:09:12 +0200
commitb39e73cbb279ab0274e8cd0b84304a602fe1d5ef (patch)
tree91e86b70289f5c0252372f4f05b83b38f049c64f /packages/meshbay-hub/src/meshbay_hub/static/phone-sync-settings.js
parentff982773308d042e4ec68fae9cad5c5742bc7395 (diff)
downloadmeshbay-main.tar.gz
fix(android): what the first backup on a phone showedHEADmain
Slices are asked for in the address, not a Range header the WebView drops; a settings change runs at once; the notification is updated once a second; the SMS section says how to lift Android's restricted setting; the photo section says whether videos are included. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/phone-sync-settings.js')
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/phone-sync-settings.js12
1 files changed, 10 insertions, 2 deletions
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 2c1ebc0..998a3b2 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
@@ -20,6 +20,9 @@ const TEXT = {
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',
},
};
@@ -59,7 +62,7 @@ export function DocSyncSection({ kind, destination }) {
if (st.permission !== 'granted') st = await sync.permit();
if (st.permission !== 'granted') { setStatus(st); return; }
setStatus(await sync.configure({}));
- runDocSync(kind);
+ runDocSync(kind, { force: true });
} catch (e) {
setError(e.message);
} finally {
@@ -84,7 +87,12 @@ 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>`}
+ <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>`}`}
${destination && html`
<button class="admin-btn" disabled=${busy} onClick=${turnOn}>${t('phonesync.turn_on')}</button>`}
`}