Commit Graph
10 Commits
Author SHA1 Message Date
pj 258d5e5209 fix(persist): guard markSaved against in-flight edits
markSaved cleared dirty unconditionally, so an edit made while a save
was in flight had its dirty flag wiped and its follow-up save dropped.
Only clear dirty when the book reference is unchanged since the save
started (immutable updates give a fresh reference per edit).

Claude-Session: https://claude.ai/code/session_01RzTWrLiy4zGuw2hZSQGamk
2026-06-22 13:17:50 -04:00
pj c0da4c53db fix(editor): isolate undo history per chapter
Key the editor by chapter id so each chapter gets a fresh TipTap
instance with its own history. Previously a single instance was reused
across chapters, so the content swap entered the undo stack and Ctrl+Z
after switching restored the prior chapter's doc into the current one,
which autosave then persisted.

With remount, save the cursor/scroll position on unmount (from a ref,
not the editor, which is destroyed by then) and load it on mount,
replacing the in-place chapter-switch bookkeeping.

Claude-Session: https://claude.ai/code/session_01RzTWrLiy4zGuw2hZSQGamk
2026-06-22 13:13:12 -04:00
pj 8b83f80d52 fix(editor): persist per-chapter cursor and scroll across restarts
Positions were kept in an in-memory Map, so they were lost on quit and
the cursor jumped to the top on reopen. Store them in localStorage
(keyed by book + chapter, like theme/width) and restore on app open,
not just on in-session chapter switches. Also save the current chapter
continuously (debounced on selection + scroll) so closing the app
records where you left off, and re-apply scroll after fonts load.
2026-06-22 12:09:34 -04:00
pj 7cc36e3e40 changes 2026-06-22 09:56:20 -04:00
pj fa1c89af63 changes 2026-06-21 14:37:02 -04:00
pj 0e0d334f6a changes 2026-06-20 23:46:10 -04:00
pj c86d5a7d5c changes 2026-06-20 19:48:18 -04:00
pj 734ded73ac changes 2026-06-20 19:23:28 -04:00
pj 9991d318ba feat(theme): persistent light/dark toggle in the titlebar 2026-06-20 18:46:43 -04:00
pj 686c7768c7 refactor(app): route between library and editor with autosave 2026-06-20 15:09:13 -04:00