diet-guard/app/lib
Krzysztof kuhy Rudnicki 2231850bfc app: test the IndexedDB stores instead of shipping them unverified
The IndexedDB stores are the desktop device's primary copy of the food log and
the *only* copy of its photos -- photos never sync -- and their wrapper-mirror
fallback is what makes a wiped Chrome profile recoverable. All of that was
invisible to the suite: the files import `idb_browser.dart`, which cannot be
imported outside a web compile, so they were simply absent from the VM test
run rather than covered.

Splitting the store classes from the browser-factory `open…()` functions lets
them run against `idb_shim`'s in-memory backend on the plain VM, which is what
the flutter-desktop-to-chrome skill recommends the shim for. Twelve tests now
pin the round-trip, the mirror write, the recover-from-mirror path, and the
no-wrapper-running case (a plain browser tab, where the app must still work).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 16:56:15 +02:00
..
desktop app: add the desktop wrapper that serves the web build and fronts GitHub 2026-07-20 16:31:47 +02:00
models Add budget-adherence calendar, streaks, and freely-editable synced budget 2026-07-13 21:31:45 +02:00
screens app: run the companion app's desktop target as a web build 2026-07-20 16:31:32 +02:00
services app: test the IndexedDB stores instead of shipping them unverified 2026-07-20 16:56:15 +02:00
widgets app: run the companion app's desktop target as a web build 2026-07-20 16:31:32 +02:00
main.dart app: package the desktop app as the web build, and delete the Linux embedder 2026-07-20 16:32:24 +02:00