-
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