Commit graph

15 commits

Author SHA1 Message Date
igor
a70efdd296 Fix rendered-mode image uploads and save state
Some checks failed
Build and push Joplock image / build-and-push (push) Has been cancelled
2026-05-15 15:27:02 +12:00
igor
0698bbd78e Unify note title sanitization
Use the shared title sanitizer for both SSR and client-side title editing
so note titles are cleaned by one function. Also sanitize note titles on
create in the fragments route and add a regression test for formatted
titles.
2026-05-01 19:38:25 +12:00
igor
6652f8ddeb fix: re-init desktop UI when switching from mobile→desktop shell mode
Some checks failed
Build and push Joplock image / build-and-push (push) Has been cancelled
syncResponsiveMode already called redrawMobileUI() when crossing
desktop→mobile, but the reverse path only hid the mobile app. A session
that started narrow (mobile mode) never called initNavPanel/initEditorPanel
for the desktop form, leaving the preview and CM host with undefined
display states and stale scroll position.

Mirror the pattern: save wasMobile before clobbering _lastSyncWasMobile,
then call initNavPanel()+initEditorPanel() when wasMobile===true.
Both functions are idempotent (guarded by dataset flags) so a repeat
call on an already-initialised form is a no-op.
2026-05-01 13:47:30 +12:00
igor
1c236c9721 Replace hand-rolled markdown renderer with markdown-it; fix blank-line round-trip and editor UX
- Install markdown-it@14.1.1 as server-side renderer (renderMarkdown only)
- Preserve all Joplin extensions: underline (++..++), checkboxes,
  blank-line markers, softbreak→<br>, resource URIs, spellcheck attrs,
  hx-* strip, fence/code/image/link render overrides
- Fix blank-line round-trip: emptyDiv/emptyP Turndown rules now return
  the BL sentinel instead of '<br>' (which line 611 inflated to 4 newlines)
  or '' (which made blank-line edits never save)
- Disable CSS scroll anchoring in preview editor so images flow down
  naturally when text is typed above them
- Narrow the Notebook + button label and padding in the nav header
- Bump static asset version to 20260501a
2026-05-01 13:20:22 +12:00
igor
003dc817de Refactor mobile shell to state machine; enforce single-screen invariant
Some checks are pending
Build and push Joplock image / build-and-push (push) Waiting to run
Eliminates fragile ad-hoc DOM toggling that allowed two mobile screens to
render simultaneously. All transitions now go through setMobileState()
reducer; renderMobile() is the only function that writes
.mobile-screen-active. assertSingleActiveScreen() self-heals violations
and traces them. Test asserts the architectural invariant in source.

Also: DB session lookup fails closed on transient errors instead of
crashing; mobile back-save uses formHash (not UI badge); single-screen
CSS via display:none/flex (no transforms); resize debounced without
reload; aria-hidden warning fix.
2026-05-01 00:10:43 +12:00
igor
682e95dff3 fix mobile back save timing
Some checks are pending
Build and push Joplock image / build-and-push (push) Waiting to run
2026-04-30 13:12:07 +12:00
igor
af9a8fd2c0 fix rescale issues 2026-04-30 12:11:47 +12:00
igor
e3656f0185 fix mobile redraw restore: editor first, lists after settle 2026-04-30 10:22:20 +12:00
igor
00e1172121 fix mobile shell layout and add display mode setting 2026-04-30 09:13:46 +12:00
igor
3aff615878 Add vault/notebook encryption: client-side AES-256-GCM E2EE with SVG lock icons, mobile vault support, startup resume gate, and re-entry guard
Some checks failed
Build and push Joplock image / build-and-push (push) Has been cancelled
2026-04-28 22:25:46 +12:00
igor
2211238269 sync editor folder select on folder create/delete/rename
Some checks are pending
Build and push Joplock image / build-and-push (push) Waiting to run
2026-04-27 23:23:10 +12:00
igor
65b0c9c463 improve auto logoff 2026-04-27 22:51:54 +12:00
igor
3e30ad1b68 offline detection 2026-04-27 22:05:42 +12:00
igor
082eea707b fix trash 2026-04-27 17:50:48 +12:00
igor
b735224377 Refactor route rendering and harden editor session handling
Some checks are pending
Build and push Joplock image / build-and-push (push) Waiting to run
2026-04-27 00:24:23 +12:00