• v0.3.12 352f75631b

    v0.3.12 Stable

    calum released this 2026-07-13 23:48:09 +01:00 | 168 commits to main since this release

    Test build (0.3.12): vocabulary delete + premature-push fix. Diagnosis before code: (a) AppShell's flush useEffect fires on MOUNT, and the router in App.tsx was recreated on every App re-render (createHashRouter called inline in the function body) — ambient App-level state changes remounted RouterProvider → AppShell → flush fired mid-tab. (b) delete_one was a hard DELETE regardless of push state; a pushed value's delete should soft-detach. Fixes: module-level g_lastFlushPathname survives remounts + useMemo on the router; migration 007 adds hidden_at; delete_one is two-mode (hard delete when pushed_at IS NULL, soft hide otherwise); list_all filters WHERE hidden_at IS NULL; upsert_one ON CONFLICT clears hidden_at so type-to-create re-selects.

    Downloads