Commit 0e6f43e
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_01SC2VXhehZBBpXybNBsGqBs1 parent 5b20809 commit 0e6f43e
122 files changed
Lines changed: 324 additions & 25 deletions
File tree
- app
- fastlane
- metadata
- de-DE
- en-US
- es-ES
- es-MX
- fr-FR
- it
- ja
- ko
- nl-NL
- pt-BR
- ru
- zh-Hans
- zh-Hant
- src
- components/onboarding
- hooks
- services
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | | - | |
94 | | - | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
95 | 100 | | |
96 | 101 | | |
97 | 102 | | |
| |||
330 | 335 | | |
331 | 336 | | |
332 | 337 | | |
| 338 | + | |
| 339 | + | |
333 | 340 | | |
334 | 341 | | |
335 | 342 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
0 commit comments