tane/apps/app_seeds/test
vjrj 9c449964fd feat(backup): add automatic weekly encrypted backups
A silent safety net against in-app data loss or DB corruption, with zero
friction. Driven off the app lifecycle (startup + when hidden), it writes a
sealed .tanemaki copy into the app's private storage once a week, keeping the
newest 3 (rotating). Reuses the manual backup's encryption via the extracted
ExportImportService.buildSealedBackup(); never throws, so a failed copy can't
crash startup or backgrounding. Not registered on web (no file storage).

Settings shows a quiet reassurance line with the date of the last automatic
copy (localised via intl), hidden where no automatic backup exists.
2026-07-10 10:17:36 +02:00
..
data feat(species): auto-classify variety species from its label 2026-07-10 02:23:32 +02:00
db style: dart format reflow (no behavior change) 2026-07-09 22:19:43 +02:00
domain feat(species): auto-classify variety species from its label 2026-07-10 02:23:32 +02:00
i18n feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
security feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
services feat(backup): add automatic weekly encrypted backups 2026-07-10 10:17:36 +02:00
state feat(block2): offers logic layer — OffersCubit + OfferMapper (no UI yet) 2026-07-10 02:49:06 +02:00
support i18n: RTL smoke tests, Portuguese locale and a translation guide 2026-07-09 23:06:49 +02:00
tool feat(species): expand catalog to ~1200 edible species from Wikidata 2026-07-10 02:00:47 +02:00
ui feat(backup): add automatic weekly encrypted backups 2026-07-10 10:17:36 +02:00
flutter_test_config.dart feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00