tane/apps/app_seeds/test
vjrj f1aa8f8e66 feat(app): scan a printed seed label back into its record
Closes the physical↔digital loop the labels opened: the QR on a printed
envelope (tane://seed, already encoded by seed_label_codec) can now be
scanned from the inventory bar. A known label opens its variety; an
unknown one asks before adding anything, then creates the variety (species
linked by exact scientific name when bundled) with a lot carrying the
label's year and origin. Scanner is pure ZXing (zxing_barcode_scanner,
MIT) — no ML Kit, no Play Services, F-Droid-safe, the stack Ğ1nkgo ships.
Mobile-only; other platforms don't show the button (OCR precedent).
The post-scan flow is a plain function (handleScannedPayload) so it's
widget-tested without a camera.
2026-07-18 12:26:27 +02:00
..
data feat(app): ask 'how did it do?' when a harvest is noted (schema v13) 2026-07-18 12:18:25 +02:00
db feat(app): ask 'how did it do?' when a harvest is noted (schema v13) 2026-07-18 12:18:25 +02:00
domain feat(seed-saving): per-crop 'how to save this seed' guidance 2026-07-11 07:18:39 +02:00
i18n feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
screenshots feat(screenshots): localize sample variety & market names per shot language 2026-07-15 17:48:44 +02:00
security feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
services feat(app): scan a printed seed label back into its record 2026-07-18 12:26:27 +02:00
state feat(social): standard NIP-56 reporting — ReportTransport in commons_core, report sheet on offers and chats, local hide + optional block 2026-07-13 08:26:38 +02:00
support feat(chat): usable 1:1 chat — bottom-anchored, Drift-backed, dated 2026-07-11 06:40:50 +02:00
tool feat(species): expand catalog to ~1200 edible species from Wikidata 2026-07-10 02:00:47 +02:00
ui feat(app): scan a printed seed label back into its record 2026-07-18 12:26:27 +02:00
flutter_test_config.dart feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
no_stream_first_in_widget_tests_test.dart test(fix): stop handover widget test hanging on awaited stream .first 2026-07-12 08:17:12 +02:00