Commit Graph

  • 604a2458e9 fix(makefile): add non-systemd podman healthcheck workaround john-okeefe 2026-05-23 23:48:06 -04:00
  • 122038123c feat(router): cookie-aware SSR library resolution with resolveLibrary helper fix/library-switcher-all-libraries john-okeefe 2026-05-18 17:53:42 -04:00
  • 666b72c4fd feat(router): cookie-aware SSR library resolution with resolveLibrary helper john-okeefe 2026-05-18 17:53:42 -04:00
  • 19fc222fb3 feat(ts): centralized library storage with cookie-based SSR support john-okeefe 2026-05-18 17:53:27 -04:00
  • 7221906d53 feat(ts): centralized library storage with cookie-based SSR support john-okeefe 2026-05-18 17:53:27 -04:00
  • e047a627a8 chore(templates): regenerate all _templ.go files john-okeefe 2026-05-18 17:53:12 -04:00
  • 0a9cde0fc8 chore(templates): regenerate all _templ.go files john-okeefe 2026-05-18 17:53:12 -04:00
  • 668aee4e22 fix(templates): library switcher and bookshelf filter improvements john-okeefe 2026-05-18 17:52:49 -04:00
  • d3a510d2e0 fix(templates): library switcher and bookshelf filter improvements john-okeefe 2026-05-18 17:52:49 -04:00
  • 2e2121515e refactor(handlers): relax library_id validation for All Libraries john-okeefe 2026-05-18 17:52:37 -04:00
  • a6f5d8d693 refactor(handlers): relax library_id validation for All Libraries john-okeefe 2026-05-18 17:52:37 -04:00
  • 3c3f16ea1b refactor(services): accept optional libraryID for All Libraries support john-okeefe 2026-05-18 17:52:24 -04:00
  • 6a352a6afb refactor(services): accept optional libraryID for All Libraries support john-okeefe 2026-05-18 17:52:24 -04:00
  • 2d01ec52fe refactor(sql): use sqlc.narg() pattern for optional library_id in all library-filtered queries john-okeefe 2026-05-18 17:52:13 -04:00
  • e7a4f0f758 refactor(sql): use sqlc.narg() pattern for optional library_id in all library-filtered queries john-okeefe 2026-05-18 17:52:13 -04:00
  • 6e2d304b35 feat(frontend): integrate shared library switcher into all pages john-okeefe 2026-05-17 21:12:45 -04:00
  • 64d3e8d272 feat(frontend): integrate shared library switcher into all pages john-okeefe 2026-05-17 21:12:45 -04:00
  • 43d8afc6cd feat(templates): add library switcher to collections and dashboard pages john-okeefe 2026-05-17 21:12:26 -04:00
  • 8e48aa4334 feat(templates): add library switcher to collections and dashboard pages john-okeefe 2026-05-17 21:12:26 -04:00
  • 9b31dc6f68 feat(ssr): pass library data to collection page templates john-okeefe 2026-05-17 21:12:13 -04:00
  • 2fa3764df5 feat(ssr): pass library data to collection page templates john-okeefe 2026-05-17 21:12:13 -04:00
  • 0e8b11504e feat(api): add library_id filtering to collections endpoints john-okeefe 2026-05-17 21:12:01 -04:00
  • faef4d9fff feat(api): add library_id filtering to collections endpoints john-okeefe 2026-05-17 21:12:01 -04:00
  • 59cb0e3439 feat(library-switcher): add shared library switcher component and module john-okeefe 2026-05-17 21:11:47 -04:00
  • a2fc2613b4 feat(library-switcher): add shared library switcher component and module john-okeefe 2026-05-17 21:11:47 -04:00
  • 158fcb510b chore(templates): regenerate all templ Go files, add scan spinner to header feature/mtime-fast-polling john-okeefe 2026-05-16 19:31:52 -04:00
  • f23ee6e66a chore(templates): regenerate all templ Go files, add scan spinner to header john-okeefe 2026-05-16 19:31:52 -04:00
  • 8cc9f75a1a fix(tests): protect dev admin from test cleanup, use isolated test names john-okeefe 2026-05-16 19:31:46 -04:00
  • 73fc609d7b fix(tests): protect dev admin from test cleanup, use isolated test names john-okeefe 2026-05-16 19:31:46 -04:00
  • a6e6913ec4 fix(docker): exclude uploads/ from build context john-okeefe 2026-05-16 19:31:39 -04:00
  • 5dca78789d fix(docker): exclude uploads/ from build context john-okeefe 2026-05-16 19:31:39 -04:00
  • c41e4af8b0 feat(dashboard): dynamic scan-complete refresh without page reload john-okeefe 2026-05-16 19:31:34 -04:00
  • 37e092c2a8 feat(dashboard): dynamic scan-complete refresh without page reload john-okeefe 2026-05-16 19:31:34 -04:00
  • 55a299540c feat(header): add scan progress spinner and dispatch scan-complete event john-okeefe 2026-05-16 19:31:23 -04:00
  • 4f7794767d feat(header): add scan progress spinner and dispatch scan-complete event john-okeefe 2026-05-16 19:31:23 -04:00
  • c4f972aba1 refactor(websocket): convert to pub/sub pattern with addListener/removeListener john-okeefe 2026-05-16 19:31:16 -04:00
  • d61abb1be1 refactor(websocket): convert to pub/sub pattern with addListener/removeListener john-okeefe 2026-05-16 19:31:16 -04:00
  • da3287ef4d chore(server): call SyncAllowedExtensions on startup john-okeefe 2026-05-16 19:31:09 -04:00
  • 1afc202ba9 chore(server): call SyncAllowedExtensions on startup john-okeefe 2026-05-16 19:31:09 -04:00
  • 797726b68e feat(worker): broadcast scan_complete WebSocket message on scan job finish john-okeefe 2026-05-16 19:31:02 -04:00
  • 5caebcfe45 feat(worker): broadcast scan_complete WebSocket message on scan job finish john-okeefe 2026-05-16 19:31:02 -04:00
  • ec6844bed0 fix(auth): hand over library and media item ownership on admin deletion john-okeefe 2026-05-16 19:30:54 -04:00
  • b1e85dca79 fix(auth): hand over library and media item ownership on admin deletion john-okeefe 2026-05-16 19:30:54 -04:00
  • dea952020c fix(library): sync allowed extensions from Go source of truth to DB on startup john-okeefe 2026-05-16 19:30:46 -04:00
  • b8dc4e87d5 fix(library): sync allowed extensions from Go source of truth to DB on startup john-okeefe 2026-05-16 19:30:46 -04:00
  • 13bb2975f8 fix(scanner): replace mtime polling with recursive fsnotify watching john-okeefe 2026-05-16 19:30:39 -04:00
  • 0855dd7b3b fix(scanner): replace mtime polling with recursive fsnotify watching john-okeefe 2026-05-16 19:30:39 -04:00
  • 4b3433af7d feat(db): add imported_at column to media_items for accurate "Recently Added" sorting john-okeefe 2026-05-16 19:30:27 -04:00
  • d0460885ff feat(db): add imported_at column to media_items for accurate "Recently Added" sorting john-okeefe 2026-05-16 19:30:27 -04:00
  • d225e1dff4 feat(scanner): add directory mtime-based fast polling for container environments john-okeefe 2026-05-12 16:54:35 -04:00
  • ced90cd1f4 feat(scanner): add directory mtime-based fast polling for container environments john-okeefe 2026-05-12 16:54:35 -04:00
  • e57daed448 chore: regenerate templ files for v0.3.1001 john-okeefe 2026-05-12 16:54:14 -04:00
  • 4b43bd04ba chore: regenerate templ files for v0.3.1001 john-okeefe 2026-05-12 16:54:14 -04:00
  • 6782d7a741 refactor(reader): remove vendored pdfjs files from git, drop CJK cmaps john-okeefe 2026-05-11 14:57:22 -04:00
  • 553a1dc19b refactor(reader): remove vendored pdfjs files from git, drop CJK cmaps john-okeefe 2026-05-11 14:57:22 -04:00
  • fdf4c9ac35 fix(docker): relax healthcheck intervals and add start_period to postgres john-okeefe 2026-05-11 14:56:53 -04:00
  • f3cacd1b16 fix(docker): relax healthcheck intervals and add start_period to postgres john-okeefe 2026-05-11 14:56:53 -04:00
  • 413503b9b3 chore: regenerate all templ Go files for v0.3.1020 john-okeefe 2026-05-10 16:13:53 -04:00
  • b829b7fe22 chore: regenerate all templ Go files for v0.3.1020 john-okeefe 2026-05-10 16:13:53 -04:00
  • 37177516e0 chore: upgrade templ v0.3.1001 → v0.3.1020, pin in Dockerfile john-okeefe 2026-05-10 16:13:36 -04:00
  • d42d09b8db chore: upgrade templ v0.3.1001 → v0.3.1020, pin in Dockerfile john-okeefe 2026-05-10 16:13:36 -04:00
  • 5bdddc6538 fix(templates): fix ErrorToast rendering literal { message } instead of error text john-okeefe 2026-05-10 16:13:21 -04:00
  • 71832bee24 fix(templates): fix ErrorToast rendering literal { message } instead of error text john-okeefe 2026-05-10 16:13:21 -04:00
  • be1c373b19 feat(metadata-editor): replace tags text input with badge picker + autocomplete john-okeefe 2026-05-10 16:13:07 -04:00
  • 504f145f64 feat(metadata-editor): replace tags text input with badge picker + autocomplete john-okeefe 2026-05-10 16:13:07 -04:00
  • fb9c471959 feat(bookshelf): replace broken datalist tag filter with custom autocomplete john-okeefe 2026-05-10 16:12:44 -04:00
  • 46e0744802 feat(bookshelf): replace broken datalist tag filter with custom autocomplete john-okeefe 2026-05-10 16:12:44 -04:00
  • 3e5d3fe043 feat(book-detail): add tags and contributors display, fix series/tag links john-okeefe 2026-05-10 16:12:28 -04:00
  • a93be75408 feat(book-detail): add tags and contributors display, fix series/tag links john-okeefe 2026-05-10 16:12:28 -04:00
  • b741f4f32d fix(search): add json tags to FieldValue struct for correct API response john-okeefe 2026-05-10 16:12:10 -04:00
  • dc07a2f19f fix(search): add json tags to FieldValue struct for correct API response john-okeefe 2026-05-10 16:12:10 -04:00
  • 647dec676f feat(db): add GetBooksByTag query for tag detail page john-okeefe 2026-05-10 16:11:46 -04:00
  • fa38ca0d1b feat(db): add GetBooksByTag query for tag detail page john-okeefe 2026-05-10 16:11:46 -04:00
  • 0acacc1aa0 refactor(templates): generalize SeriesDetail into reusable BrowseDetail john-okeefe 2026-05-10 16:11:29 -04:00
  • ae2e03d499 refactor(templates): generalize SeriesDetail into reusable BrowseDetail john-okeefe 2026-05-10 16:11:29 -04:00
  • 1724bc0767 feat(frontend): wire metadata editor Alpine component in book-detail.ts john-okeefe 2026-05-10 11:53:50 -04:00
  • 65c08fb523 feat(frontend): wire metadata editor Alpine component in book-detail.ts john-okeefe 2026-05-10 11:53:50 -04:00
  • 2ef1f9580f feat(frontend): add client-side cover generator via dynamic foliate-js import john-okeefe 2026-05-10 11:53:31 -04:00
  • 0680e051c2 feat(frontend): add client-side cover generator via dynamic foliate-js import john-okeefe 2026-05-10 11:53:31 -04:00
  • 4a26e79a20 feat(book-detail): wire metadata editor button and add format-group data attr john-okeefe 2026-05-10 11:53:11 -04:00
  • 03156e7866 feat(book-detail): wire metadata editor button and add format-group data attr john-okeefe 2026-05-10 11:53:11 -04:00
  • 1ae9e08f43 feat(templates): add metadata editor modal with cover management john-okeefe 2026-05-10 11:52:53 -04:00
  • 4f2e1e36bf feat(templates): add metadata editor modal with cover management john-okeefe 2026-05-10 11:52:53 -04:00
  • e242ad3e00 feat(templates): add helper functions for metadata editor form rendering john-okeefe 2026-05-10 11:52:36 -04:00
  • 36b2afeed7 feat(templates): add helper functions for metadata editor form rendering john-okeefe 2026-05-10 11:52:36 -04:00
  • 0682d0a1cb fix(reader): add explicit PDF.js resource paths and pin foliate-js fork john-okeefe 2026-05-10 11:52:23 -04:00
  • b088ec97f6 fix(reader): add explicit PDF.js resource paths and pin foliate-js fork john-okeefe 2026-05-10 11:52:23 -04:00
  • 69872b48b5 fix(handlers): wire all 37 fields in UpdateMediaItem, add cover upload support john-okeefe 2026-05-10 11:52:04 -04:00
  • a92739d210 fix(handlers): wire all 37 fields in UpdateMediaItem, add cover upload support john-okeefe 2026-05-10 11:52:04 -04:00
  • 5f3b392168 fix(scanner): wire all metadata fields in updateMediaItem and skip image dupes john-okeefe 2026-05-10 11:51:43 -04:00
  • f199918775 fix(scanner): wire all metadata fields in updateMediaItem and skip image dupes john-okeefe 2026-05-10 11:51:43 -04:00
  • 7b9d3562ef fix(db): add 14 missing columns to UpdateMediaItem query john-okeefe 2026-05-10 11:51:27 -04:00
  • a3504f1ae5 fix(db): add 14 missing columns to UpdateMediaItem query john-okeefe 2026-05-10 11:51:27 -04:00
  • 93991dfb0a fix(series): remove library switcher from detail page, add title tooltips to BookCard john-okeefe 2026-05-08 20:58:43 -04:00
  • 355ae5f7a9 fix(series): remove library switcher from detail page, add title tooltips to BookCard john-okeefe 2026-05-08 20:58:43 -04:00
  • 52464581dc feat(series): add dedicated series detail page instead of bookshelf filter john-okeefe 2026-05-08 20:50:59 -04:00
  • ddc14e3314 feat(series): add dedicated series detail page instead of bookshelf filter john-okeefe 2026-05-08 20:50:59 -04:00
  • 9471c4a599 fix(tests): URL-encode series name in special characters test john-okeefe 2026-05-08 20:31:30 -04:00
  • a57694b738 fix(tests): URL-encode series name in special characters test john-okeefe 2026-05-08 20:31:30 -04:00
  • 905a5d769c docs: add series cover layout mockup for reference john-okeefe 2026-05-08 20:28:02 -04:00