Skip to content

v1.1.3

Latest

Choose a tag to compare

@github-actions github-actions released this 23 Jun 14:59
d312b68
Make the notes editor a fluent, gold-standard writing surface (#10)

The Windows desktop editor felt laggy, formatting looked rough, and Markdown
editing was clumsy. This reworks the editor across performance, input, and
live styling so typing stays smooth even in very large notes.

Performance:
- Debounce note-body persistence in NotesViewModel: keystrokes update a
  lightweight draft and only fold into the in-memory list + disk after a short
  idle, so typing no longer re-allocates the whole note list and recomposes the
  sidebar/tree on every key. Pending edits flush on note switch / trash / quit
  (main.kt onCloseRequest awaits the final write).
- Memoize MarkdownVisualTransformation.filter by raw text (Compose calls it on
  every layout pass, not just edits) and skip the inline regex passes above a
  50k-char guard so huge documents stay responsive.
- Move outline + word-count off the composition hot path: a single
  snapshotFlow + collectLatest collector recomputes them on Dispatchers.Default
  a beat after typing pauses instead of re-parsing every keystroke.

Editing:
- Smart Enter continues bullet / ordered / task / blockquote lists (empty item
  exits the list); Tab / Shift+Tab indent / outdent the selection. Tag
  autocomplete still owns nav keys while its popup is open.

Live styling:
- Task checkboxes render a length-preserving glyph for done items (tinted +
  struck), ordered markers and horizontal rules are styled, all without
  changing the on-disk .md (identity offset mapping preserved).

235 desktop tests green (+16: smart-enter / indent / outdent, checkbox /
ordered / HR decoration).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>