Skip to content

Commit 0e6f43e

Browse files
authored
feat: onboarding backup choice + localized App Store metadata (13 locales) (#16)
* feat(onboarding): explicit iCloud backup choice with disaster explanation Adds a fourth onboarding slide (iOS only): one sentence on why backup matters - a lost iPad, a hard crash, a deleted app - with an explicit choice: 'Enable iCloud backup' or 'Continue without backup'. Skipping onboarding keeps the default (on). Automatic backup syncs are now gated on onboarding completion at the service level, so nothing is mirrored before a fresh user has answered the question (the catalog-persist trigger previously scheduled a sync during onboarding - caught by simulator E2E). An explicit choice syncs immediately; declining means never backed up, not backed-up-then- stopped. Verified on iPad simulator: no mirror during onboarding 12s+ past the sync debounce; Enable writes the flag and mirrors immediately; decline persists false with no sync. Claude-Session: https://claude.ai/code/session_01SC2VXhehZBBpXybNBsGqBs * chore(store): fastlane deliver metadata localized to 13 locales App Store metadata (name, subtitle, description, keywords, promotional text, release notes, URLs) for en-US, de-DE, fr-FR, es-ES, es-MX, it, pt-BR, ja, ko, zh-Hans, zh-Hant, nl-NL, ru, generated with hard character-limit validation. The en-US description is minimally updated: 'no cloud sync, notes never leave your device' becomes an honest description of optional backup to the user's own iCloud, matching the upcoming release. Deliverfile uploads metadata only (no binary, no screenshots). Upload requires an interactive 'fastlane deliver' sign-in or an App Store Connect API key. Claude-Session: https://claude.ai/code/session_01SC2VXhehZBBpXybNBsGqBs
1 parent 5b20809 commit 0e6f43e

122 files changed

Lines changed: 324 additions & 25 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app/index.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,13 @@ export default function LibraryScreen() {
9090
() => setAction({ kind: 'community' }),
9191
[],
9292
);
93-
const { backupSupported, backupEnabled, backupSubtitle, toggleBackup } =
94-
useBackup(refresh);
93+
const {
94+
backupSupported,
95+
backupEnabled,
96+
backupSubtitle,
97+
toggleBackup,
98+
setBackupPreference,
99+
} = useBackup(refresh, onboarding.ready && !onboarding.visible);
95100
const { dismissCommunity, joinCommunity, rateOpenNotes } = useLibrarySupport({
96101
canShowAutomaticPrompt:
97102
onboarding.ready && !onboarding.visible && action === null,
@@ -330,6 +335,8 @@ export default function LibraryScreen() {
330335
<OnboardingExperience
331336
visible={onboarding.ready && onboarding.visible}
332337
onComplete={onboarding.finish}
338+
showBackupSlide={backupSupported}
339+
onChooseBackup={setBackupPreference}
333340
/>
334341

335342
<ItemActionsMenu

fastlane/Deliverfile

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Uploads App Store metadata (all locales under fastlane/metadata/).
2+
# Usage: fastlane deliver
3+
# First run will ask you to sign in to App Store Connect (2FA). To run
4+
# non-interactively later, create an App Store Connect API key and set
5+
# api_key_path here (https://docs.fastlane.tools/app-store-connect-api/).
6+
7+
app_identifier "com.builderpro.opennotes"
8+
team_id "U2CPXQV7AJ"
9+
10+
# Metadata only: never touch the binary or screenshots from this config.
11+
skip_binary_upload true
12+
skip_screenshots true
13+
skip_app_version_update true
14+
15+
# Metadata is reviewed locally in git; precheck mostly duplicates that.
16+
precheck_include_in_app_purchases false
17+
18+
force true
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
OpenNotes ist eine einfache, kostenlose Open-Source-Notizen-App für Handschrift, PDFs und klare Organisation. Erstelle Notizbücher, importiere PDFs, schreibe mit dem Apple Pencil, füge Bilder oder Text hinzu, ordne Notizen in Ordnern und exportiere deine Arbeit, wann immer du sie brauchst.
2+
3+
OpenNotes ist local-first und auf Privatsphäre ausgelegt. Keine Konten, keine Analyse, kein Tracking. Deine Notizen bleiben auf deinem Gerät — mit optionalem Backup in deine eigene iCloud, damit sie ein verlorenes iPad oder eine gelöschte App überstehen. Nichts wird an uns gesendet: Deine Notizen bleiben in deinem Apple-Account und sind für niemanden sonst lesbar.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
notizen,handschrift,pdf,markieren,apple pencil,notizbuch,studium,zeichnen,privatsphäre
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
https://github.com/mathnotes-app/OpenNotes

fastlane/metadata/de-DE/name.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
OpenNotes: Notizen & PDF
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
https://mathnotes-app.github.io/OpenNotes/privacy/
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Kostenlose Open-Source-Notizen von Hand. Neu: optionales Backup in deine eigene iCloud — deine Notizen überstehen ein verlorenes Gerät oder eine gelöschte App.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
- Optionales iCloud-Backup: Deine Notizen liegen in deiner eigenen iCloud und überstehen ein verlorenes Gerät oder eine gelöschte App
2+
- Backup beim neuen Onboarding-Schritt oder jederzeit im Support-Menü ein- und ausschalten
3+
- Deutlich zuverlässigeres Speichern, Wiederherstellen und Retten von Notizen
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Handschrift, PDFs, ohne Konto

0 commit comments

Comments
 (0)