Migrate the Timeline/Saved history state module to idiomatic Svelte 5
runes and wire up type-checking.
- Rename history.ts -> historyState.svelte.ts and replace the Svelte
stores with $state-backed reactive values, removing the get() calls
(the only remaining one reads the external inputStateStore). A small
localStorage-backed `persisted()` helper keeps the same keys, so user
data is preserved. Consumers read via the reactive `historyState`
getter object instead of store auto-subscriptions.
- The gist loader now replaces the in-memory revisions in one call
(setLoaderEntries) instead of appending, so loading a new gist no
longer accumulates stale revisions.
- Add svelte-check: new `check` script, a "Type check" step in the
unit-tests CI workflow, and skipLibCheck so the check passes on the
dependency .d.ts files. svelte-check reports 0 errors / 0 warnings.
- Add accessible labels to the History toggle and the per-item
Restore/Delete buttons (a11y + testability).
- Unskip tests/history.spec.ts and rewrite it against the new UI:
load-from-localStorage + restore, tab-highlight follows the mode,
save/dedupe, auto-vs-manual isolation, and delete/clear. All pass.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bump the full dependency tree (Vite 8, Vitest 4, ESLint 10, Svelte 5.56,
mode-watcher 1.x, etc.) and adapt code for breaking API changes. Upgrade
Playwright CI image to v1.60 for Node 24 compatibility.
Co-authored-by: Cursor <cursoragent@cursor.com>
Playwright <1.60 hangs on browser extraction under Node 24.16.0; bump
the test dependency and CI container image to unblock e2e.
Co-authored-by: Cursor <cursoragent@cursor.com>
* develop: (32 commits)
feat: Support jsonSchema to validate config
link: live version
fix: Fallback page
chore(deps): update dependency vite to v5.4.18 [security]
fix: Fallback to sveltekit on 404 in GH pages
chore(deps): update all non-major dependencies
fix: New diagram link
chore(deps): update dependency @sveltejs/kit to v2.20.6 [security]
feat: Wait for fontawesome to load
chore(deps): update all non-major dependencies
feat: Support pan while zooming
Update src/lib/util/panZoom.ts
chore: Track PWA install device type
chore: Track PWA installs
chore: Add analytics for mobileViewToggle
fix: Reduce gap in mobile
fix: SVG size to avoid
chore: Unify code update logic
chore: Cleanup deps
feat: Add syntax highlighting
...