Commit Graph

  • e09c55cecc feat(devices): reform Add Device modal with KOReader plugin instructions john-okeefe 2026-08-06 14:48:48 -04:00
  • 6f1c13998c fix(ui): populate Last Updated and Synced From fields on progress page john-okeefe 2026-08-06 14:06:47 -04:00
  • 0a0caa9533 fix(ui): round progress percentage to 2 decimals on progress page john-okeefe 2026-08-06 13:25:54 -04:00
  • 4716790564 fix: OPDS base_url placeholder bug + setup gate requires base_url john-okeefe 2026-08-06 13:02:35 -04:00
  • 8e2c1a4b3a fix(ui): make icon and color selection work in collection modal john-okeefe 2026-08-06 11:35:14 -04:00
  • 4a870a7f18 fix(ui): keep search filter visible on system collections john-okeefe 2026-08-06 11:22:26 -04:00
  • 40dabfd788 feat(ui): hide management controls for system collections john-okeefe 2026-08-06 11:08:29 -04:00
  • ef3c05714a fix(ui): custom confirm dialog, picker visibility, remove wiring john-okeefe 2026-08-06 10:55:37 -04:00
  • 816ee0ec80 fix(ui): wire up collection detail page interactions john-okeefe 2026-08-06 10:40:18 -04:00
  • 73a2852ee3 fix(reader): back button remembers the page you came from john-okeefe 2026-08-06 09:51:04 -04:00
  • f67232a20b fix(ui): show read action on JS-rendered dashboard cards john-okeefe 2026-08-06 08:40:06 -04:00
  • 7b465ac97e fix(ui): use a grid icon for Customize Dashboard john-okeefe 2026-08-06 08:24:54 -04:00
  • 033a012069 feat(ui): group sidebar footer menus into distinct panels john-okeefe 2026-08-06 08:14:10 -04:00
  • 9165c4eb3f feat(ui): use a book-open icon for the card read action john-okeefe 2026-08-06 08:01:33 -04:00
  • 9ef6c5b6ed feat(ui): split book-card play action into reader/detail routing john-okeefe 2026-08-06 07:52:20 -04:00
  • 987ece38f0 fix(reader): keep footer compact on mobile and clear text under chrome john-okeefe 2026-08-05 21:48:28 -04:00
  • 86bcdf878b fix(reader): keep footer compact on mobile and clear text under chrome v0.5.2-tighten tighten-ui john-okeefe 2026-08-05 21:48:28 -04:00
  • c5c2270007 fix(reader): keep footer compact on mobile and clear text under chrome v0.5.1 john-okeefe 2026-08-05 21:48:28 -04:00
  • b23f6b0bab build: regenerate stylesheet for sidebar app shell john-okeefe 2026-08-05 16:45:28 -04:00
  • 8ea70ea7f8 feat(ui): migrate remaining pages to the new shell john-okeefe 2026-08-05 16:45:02 -04:00
  • 07578e0206 feat(ui): redesign dashboard, bookshelf, book detail, and auth pages john-okeefe 2026-08-05 16:44:52 -04:00
  • f402a3ee03 feat(ui): sidebar app shell and bold design system john-okeefe 2026-08-05 16:44:42 -04:00
  • f3f908eb7e feat(ui): design system foundation john-okeefe 2026-08-05 16:00:50 -04:00
  • a075a5061f feat(ui): refresh auth, entry, admin, and secondary pages john-okeefe 2026-08-05 16:01:22 -04:00
  • 28e40e302c feat(ui): rebuild shared chrome and core browse/read pages john-okeefe 2026-08-05 16:01:09 -04:00
  • 6f271d624f feat(ui): design system foundation john-okeefe 2026-08-05 16:00:50 -04:00
  • 94a4facc6c chore(deps): promote golang.org/x/net to direct dependency v0.5.0 john-okeefe 2026-08-05 15:31:48 -04:00
  • 11617c1860 fix(reader): tighten mobile header/footer and add safe-area margins john-okeefe 2026-08-05 15:31:40 -04:00
  • d0040fe428 chore(deploy): add restart: unless-stopped to app container v0.4.0 john-okeefe 2026-07-31 10:45:53 -04:00
  • 59d5de3607 fix(scanner): eliminate fsnotify watcher leak and harden worker against panics john-okeefe 2026-07-31 10:45:41 -04:00
  • fffe0b17e6 ci(release): name Actions runs 'Release <tag>' instead of the commit message v0.3.0 john-okeefe 2026-07-30 15:50:02 -04:00
  • 451aa48aec ci(release): auto-generate release notes via git-cliff john-okeefe 2026-07-30 15:40:27 -04:00
  • 5ac407057e fix(search): link results to book detail page and add cover thumbnails john-okeefe 2026-07-30 14:55:00 -04:00
  • bf83492bf7 feat(book-detail): add Mark as Read / Unread toggle button john-okeefe 2026-07-30 13:31:18 -04:00
  • 33c69e7c71 chore(templates): regenerate stale book_detail_modals templ output john-okeefe 2026-07-30 13:08:25 -04:00
  • c2f72ca785 docs(bruno): correct rating scale and endpoint paths john-okeefe 2026-07-30 13:08:14 -04:00
  • ca8c592496 feat(book-detail): add interactive half-star rating widget john-okeefe 2026-07-30 13:08:00 -04:00
  • 1f5b0d0164 docs(api): document OPDS pagination links and OpenSearch search john-okeefe 2026-07-30 12:12:58 -04:00
  • 13cc689bff fix(opds): wire up catalog pagination links and OpenSearch search john-okeefe 2026-07-30 12:12:51 -04:00
  • 9920fd47b9 feat(opds): add OpenSearch pagination metadata and search description john-okeefe 2026-07-30 12:12:33 -04:00
  • 26f695f480 fix(opds): correct feed tests referencing non-existent entry fields john-okeefe 2026-07-30 12:12:18 -04:00
  • 05370d236a feat(ui): display media counts in library switcher john-okeefe 2026-07-30 11:41:13 -04:00
  • 114a4574b0 feat(db): add query to count media items per visible library john-okeefe 2026-07-30 11:41:05 -04:00
  • 3c9e4d8126 fix(ci): use REGISTRY_TOKEN PAT secret for registry login john-okeefe 2026-07-29 17:07:00 -04:00
  • e7c4c931ee ci(release): add tag-triggered image build & push to Gitea registry v0.2.0 john-okeefe 2026-07-29 16:53:43 -04:00
  • bac84e24ec docs(env): document DB_PORT, SERVER_PORT, BASE_URL, COOKIE_SECURE, IMAGE_TAG in .env.example john-okeefe 2026-07-29 16:12:21 -04:00
  • de8f71b2be refactor(compose): make app/db ports configurable via DB_PORT and SERVER_PORT john-okeefe 2026-07-29 16:11:01 -04:00
  • 1129fcae6f fix(compose): make BASE_URL/COOKIE_SECURE configurable, drop obsolete version john-okeefe 2026-07-29 16:02:32 -04:00
  • 76c6826920 feat(deploy): split compose into prod base + dev override john-okeefe 2026-07-29 15:47:40 -04:00
  • 75b33fdae6 feat(sync): wire annotation sync into all device and web handlers john-okeefe 2026-07-29 14:49:19 -04:00
  • 635a9439cb feat(sync): implement annotation support in sync queue processor john-okeefe 2026-07-29 14:49:01 -04:00
  • 3b15766149 feat(sync): add AnnotationService with dedup, LWW, and tombstone management john-okeefe 2026-07-29 14:48:47 -04:00
  • 2a15effc3e feat(db): add annotation sync schema, queries, and tombstone support john-okeefe 2026-07-29 14:48:30 -04:00
  • 78176c57a5 chore(compose): quote numeric env var values john-okeefe 2026-07-29 11:08:25 -04:00
  • 980aaee0d9 refactor(setup): derive setup-complete status from admin user count john-okeefe 2026-07-29 11:08:18 -04:00
  • acfb298b74 Add missing btn-secondary CSS class definition john-okeefe 2026-06-08 21:19:18 -04:00
  • ce3ab8bcbc Fix invalid templ conditional syntax in metadata editor modal john-okeefe 2026-06-08 21:19:06 -04:00
  • 6d44ae884c chore(tests): remove debug tests that depend on local file paths john-okeefe 2026-06-08 19:45:12 -04:00
  • f6d98dd7cc feat(sync): convert KEPUB CFI to standard and extract context_text on Kobo push john-okeefe 2026-06-08 19:45:01 -04:00
  • e584200369 feat(reader): send context_text with progress for reflowable EPUBs john-okeefe 2026-06-07 11:45:33 -04:00
  • 9bd23fc1d7 fix(reader): stop sending epubcfi for fixed-layout documents john-okeefe 2026-06-07 00:27:04 -04:00
  • 762181c123 fix(sync): treat page index as sole locator for fixed-layout pull path john-okeefe 2026-06-07 00:26:53 -04:00
  • d11a623f9f fix(sync): skip CRE->CFI conversion for image-based fixed formats john-okeefe 2026-06-07 00:04:03 -04:00
  • caaf27427e feat(reader): apply RTL reading direction for fixed-layout manga/comics john-okeefe 2026-06-07 00:03:54 -04:00
  • 423a1c0bf7 feat(sync): use page index as canonical locator for fixed-layout & comic formats john-okeefe 2026-06-07 00:03:46 -04:00
  • b1d2ccc87c feat(opds): serve comic archives in native format with correct mime types john-okeefe 2026-06-07 00:03:18 -04:00
  • 3170aa6b77 feat(setup): collect server base URL during first-run wizard john-okeefe 2026-06-07 00:03:01 -04:00
  • f75d68bf66 feat(ui): add first-run setup wizard with 4 guided steps john-okeefe 2026-06-06 00:04:09 -04:00
  • f37de6c07c feat(router): add setup redirect middleware and setup routes john-okeefe 2026-06-06 00:04:00 -04:00
  • cea8e64da2 feat(api): add setup_complete system setting and status handlers john-okeefe 2026-06-06 00:03:52 -04:00
  • 307a43f6b0 test(sync): add cross-element matching tests, enable <em> KEPUB conversion test john-okeefe 2026-06-03 20:00:54 -04:00
  • d5018936a0 refactor(sync): rewrite extractSurroundingText to use block-parent text collection john-okeefe 2026-06-03 20:00:40 -04:00
  • 3a54dda5c5 feat(sync): transparently cross inline formatting elements in text search john-okeefe 2026-06-03 20:00:26 -04:00
  • 3c2a504747 test(sync): add comprehensive tests for KEPUB CFI converter john-okeefe 2026-06-02 21:21:56 -04:00
  • b0dc0c591e feat(sync): add KEPUB <-> standard EPUBCFI bidirectional converter john-okeefe 2026-06-02 21:21:28 -04:00
  • 0f225c39b9 fix(templ): correct @click attribute interpolation syntax john-okeefe 2026-06-02 19:46:29 -04:00
  • bc59159cde feat(ui): inline conflict resolution with Keep This button john-okeefe 2026-06-02 19:46:17 -04:00
  • f57d64563b fix(reader): scale percentage correctly, add 5s init guard john-okeefe 2026-06-02 19:46:03 -04:00
  • 1f8c3c21ae fix(admin): cascade base_url to opds/api URLs, fix pending registration time format john-okeefe 2026-06-02 19:45:39 -04:00
  • 5d22021e8e fix(opds): epubcfi Atom compatibility, path deduplication, auth tokens john-okeefe 2026-06-02 19:45:21 -04:00
  • 8e4412544d fix(devices): move device creation from CheckRegistration to ApproveDevice john-okeefe 2026-06-02 19:45:14 -04:00
  • d764f820b2 fix(conflicts): use winner's source name instead of 'manual' john-okeefe 2026-06-02 19:45:07 -04:00
  • 39a2829cc8 feat(media): accept context_text from web reader progress saves john-okeefe 2026-06-02 19:45:00 -04:00
  • 795f10d2af feat(server): wire libraryService to KOReader handler john-okeefe 2026-06-02 19:44:53 -04:00
  • 44f38803dc feat(koreader): bidirectional CFI conversion in sync pipeline john-okeefe 2026-06-02 19:44:47 -04:00
  • b2b1804aa3 feat(sync): plumb context_text through SaveProgress and sync queue john-okeefe 2026-06-02 19:44:38 -04:00
  • c82f20c3f2 feat(db): add context_text column to reading_progress john-okeefe 2026-06-02 19:44:31 -04:00
  • 5a76fed099 feat(sync): add CFI converter for CREngine XPointer to standard epubcfi john-okeefe 2026-06-02 19:44:05 -04:00
  • 342c2f88b2 chore(deps): update htmx.min.js to latest from npm john-okeefe 2026-05-27 11:22:20 -04:00
  • 854a888306 fix(toast): show success toast for HTMX JSON responses john-okeefe 2026-05-27 11:22:13 -04:00
  • a4b91393a6 chore: remove completed TIMEZONE_PLAN.md john-okeefe 2026-05-27 11:22:04 -04:00
  • 0af2ee4951 fix(scanner): replace golang.org/x/text/cases.Title with manual titlecase to prevent panic on Unicode expansion john-okeefe 2026-05-27 11:10:28 -04:00
  • d78a182f0d feat(header): add responsive mobile hamburger menu with slide-down panel john-okeefe 2026-05-24 21:20:36 -04:00
  • 13260d8c1f chore(templates): regenerate all _templ.go files with templ v0.3.1020 john-okeefe 2026-05-24 21:20:24 -04:00
  • 6fcd7f4400 fix(docker): add Go build cache mount and remove unnecessary -a flag john-okeefe 2026-05-24 21:20:12 -04:00
  • 6e8986bea5 fix(docker): use npm install instead of npm ci for self-contained builds john-okeefe 2026-05-24 20:23:57 -04:00
  • 87da5c3cf5 fix(reader): fix PDF rendering broken by Vite bundling of foliate-js john-okeefe 2026-05-24 20:23:41 -04:00
  • fb9427a864 refactor(makefile): auto-detect container runtime, remove systemd workarounds john-okeefe 2026-05-24 20:23:23 -04:00
  • 0af940c7b3 chore(database): regenerate with sqlc v1.31.1 john-okeefe 2026-05-24 20:23:08 -04:00
  • f8745da6b2 chore(deps): update htmx.min.js john-okeefe 2026-05-23 23:48:13 -04:00