igor
a36949aab5
Add recovery backups and fix theme/title edge cases
2026-05-18 19:34:06 +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
Build and push Joplock image / build-and-push (push) Has been cancelled
2026-04-28 22:25:46 +12:00
igor
65b0c9c463
improve auto logoff
2026-04-27 22:51:54 +12:00
igor
082eea707b
fix trash
2026-04-27 17:50:48 +12:00
igor
b735224377
Refactor route rendering and harden editor session handling
Build and push Joplock image / build-and-push (push) Waiting to run
2026-04-27 00:24:23 +12:00
igor
909484b1ae
Fix All Notes showing empty: normalize __all_notes__ to __all__ in folder-notes endpoint
2026-04-26 17:04:10 +12:00
igor
8e83712353
Revert resource caching to no-store for maximum security
2026-04-26 16:47:40 +12:00
igor
8adc4f2ab9
Cache resources with immutable header to eliminate repeated image fetches from DB
2026-04-26 16:43:02 +12:00
igor
c4e1eac6fb
Add gzip compression for HTML responses and sanitize hx-* attrs from rendered markdown
2026-04-26 16:39:40 +12:00
igor
01eccb973a
implement phase 6: search pagination + pg_trgm trigram index
...
- ensureIndexes: CREATE EXTENSION pg_trgm + GIN index on extracted title+body
- searchNotes: add limit/offset params (default 50/0)
- /fragments/search: read offset param, detect hasMore, paginate
- /fragments/mobile/search: same, target #mobile-search-results
- searchResultsFragment: Load more button when hasMore (hx-swap=beforeend)
- mobileSearchFragment: Load more button when hasMore
- Tests: 137/137 passing (8 new search pagination tests)
2026-04-26 12:38:09 +12:00
igor
fd468fe3e3
implement lazy folder expansion and paginated note loading for large databases
...
- Add DB index on (owner_id, jop_type, jop_parent_id, jop_updated_time DESC)
- New folderNoteCountsByUserId query: GROUP BY folder, no row data fetched
- New noteHeadersByFolder query: paginated per folder (LIMIT 100)
- navData() now fetches only folders + counts (no note rows on page load)
- navigationFragment: lazy mode renders empty note lists, lazy-loaded on expand
- toggleNavFolder / initNavPanel: htmx fetch on first expand, data-loaded guard
- Add /fragments/folder-notes endpoint for lazy per-folder note pages
- Add folderNotesPageFragment with Load more button for pagination
- Mobile: folders use counts Map, notes use paginated noteHeadersByFolder
- Tests: 129/129 passing
2026-04-26 12:22:05 +12:00
igor
91fb055c75
improve mobile search and editor state
...
Build and push Joplock image / build-and-push (push) Waiting to run
Keep search context when opening notes and make in-note search behave consistently across desktop, mobile, markdown, and render modes.
2026-04-26 00:55:23 +12:00
igor
d606ecf60f
fix mobile resume startup and editor targeting
2026-04-25 20:51:37 +12:00