This website requires JavaScript.
3bcae0abf5
chore: regenerate templ Go files (path reference update)
john-okeefe
2026-05-08 20:27:50 -04:00
9cc371572e
chore: regenerate templ Go files (path reference update)
john-okeefe
2026-05-08 20:27:50 -04:00
cce7ad4907
test(series): add unit and integration tests for series feature
john-okeefe
2026-05-08 20:27:40 -04:00
9c1c5a66ac
test(series): add unit and integration tests for series feature
john-okeefe
2026-05-08 20:27:40 -04:00
c5cda015b3
feat(series): add AJAX library switching and stacked-cascade CSS
john-okeefe
2026-05-08 20:27:27 -04:00
4cb72fc9ae
feat(series): add AJAX library switching and stacked-cascade CSS
john-okeefe
2026-05-08 20:27:27 -04:00
b83e319a34
feat(series): add series browse template, nav link, and clickable badge
john-okeefe
2026-05-08 20:27:15 -04:00
004416a009
feat(series): add series browse template, nav link, and clickable badge
john-okeefe
2026-05-08 20:27:15 -04:00
004b761381
feat(series): add SeriesHandler, API routes, and SSR browse page
john-okeefe
2026-05-08 20:27:01 -04:00
2fdc8751b4
feat(series): add SeriesHandler, API routes, and SSR browse page
john-okeefe
2026-05-08 20:27:01 -04:00
9405afa2c5
feat(series): add SeriesService and wire continue-series into dashboard
john-okeefe
2026-05-08 20:26:47 -04:00
81c1267dfa
feat(series): add SeriesService and wire continue-series into dashboard
john-okeefe
2026-05-08 20:26:47 -04:00
d48404e800
feat(series): add SQL queries for series browsing and continue-series
john-okeefe
2026-05-08 20:26:39 -04:00
864f2cc6b9
feat(series): add SQL queries for series browsing and continue-series
john-okeefe
2026-05-08 20:26:39 -04:00
ed68f92f4a
fix(tests): correct date format in analytics reading stats tests
john-okeefe
2026-05-01 16:59:49 -04:00
06985474d0
fix(tests): correct date format in analytics reading stats tests
john-okeefe
2026-05-01 16:59:49 -04:00
607ce8ce3a
Merge branch 'main' of ssh://git.linuxhg.com:2222/Bookhoard/bookhoard
john-okeefe
2026-05-01 14:31:54 -04:00
8c7266e93b
Merge branch 'main' of ssh://git.linuxhg.com:2222/Bookhoard/bookhoard
john-okeefe
2026-05-01 14:31:54 -04:00
ff0517d038
fix(library): sync allowed extensions across service, schema, and tests
john-okeefe
2026-05-01 14:31:17 -04:00
d22446d9b9
fix(library): sync allowed extensions across service, schema, and tests
john-okeefe
2026-05-01 14:31:17 -04:00
e14bbeabdd
chore: remove stale planning documents (PANEL_DETECTION_PLAN, PROGRESS_MIGRATION)
john-okeefe
2026-05-01 14:31:13 -04:00
ae61acf478
chore: remove stale planning documents (PANEL_DETECTION_PLAN, PROGRESS_MIGRATION)
john-okeefe
2026-05-01 14:31:13 -04:00
a9f8e23ddd
feat(ui): expand timezone dropdowns to cover all populated UTC offsets
john-okeefe
2026-04-29 20:47:11 -04:00
19a85a3390
feat(ui): expand timezone dropdowns to cover all populated UTC offsets
john-okeefe
2026-04-29 20:47:11 -04:00
540fb147d2
feat(config): add TZ environment variable for container timezone
john-okeefe
2026-04-29 20:33:13 -04:00
7534d7c30a
feat(config): add TZ environment variable for container timezone
john-okeefe
2026-04-29 20:33:13 -04:00
ffaa561cb7
chore: regenerate all templ Go files
john-okeefe
2026-04-29 20:33:08 -04:00
55e668079c
chore: regenerate all templ Go files
john-okeefe
2026-04-29 20:33:08 -04:00
4305c77df4
fix(profile): match timezone dropdown styling to rest of profile form
john-okeefe
2026-04-29 20:33:03 -04:00
be4ed15dad
fix(profile): match timezone dropdown styling to rest of profile form
john-okeefe
2026-04-29 20:33:03 -04:00
1da7765466
fix(admin): wire up default timezone setting in admin settings page
john-okeefe
2026-04-29 20:32:58 -04:00
ad0bfcac2c
fix(admin): wire up default timezone setting in admin settings page
john-okeefe
2026-04-29 20:32:58 -04:00
5da91b9c7c
feat(ui): use timezone-aware time formatting across all templates
john-okeefe
2026-04-29 20:32:51 -04:00
13edfdcf1a
feat(ui): use timezone-aware time formatting across all templates
john-okeefe
2026-04-29 20:32:51 -04:00
f87fc45377
feat(db): add timezone column to GetUser query
john-okeefe
2026-04-29 20:32:42 -04:00
6b958cab39
feat(db): add timezone column to GetUser query
john-okeefe
2026-04-29 20:32:42 -04:00
5be6fec408
fix(auth): resolve compile errors in timezone update handler
john-okeefe
2026-04-29 20:32:38 -04:00
df989d4c8c
fix(auth): resolve compile errors in timezone update handler
john-okeefe
2026-04-29 20:32:38 -04:00
55a9ec00e1
fix(ui): use timezone-aware formatting for Last Read timestamps in book detail and progress sync modal
john-okeefe
2026-04-28 21:12:01 -04:00
59d0389d45
fix(ui): use timezone-aware formatting for Last Read timestamps in book detail and progress sync modal
john-okeefe
2026-04-28 21:12:01 -04:00
c592c745c3
Update timezone plan: remove duplicate query, use 12-hour format
john-okeefe
2026-04-27 21:31:31 -04:00
f69479db44
Update timezone plan: remove duplicate query, use 12-hour format
john-okeefe
2026-04-27 21:31:31 -04:00
e5726e12be
Switch all user-facing time displays to 12-hour MM-DD-YYYY format
john-okeefe
2026-04-27 21:31:19 -04:00
17281e4ce7
Switch all user-facing time displays to 12-hour MM-DD-YYYY format
john-okeefe
2026-04-27 21:31:19 -04:00
f589bedad5
Add timezone dropdown to profile form and admin settings
john-okeefe
2026-04-27 21:31:04 -04:00
3b5af3beae
Add timezone dropdown to profile form and admin settings
john-okeefe
2026-04-27 21:31:04 -04:00
27e9a654bf
Add timezone backend support (handlers, utilities, user context)
john-okeefe
2026-04-27 21:30:53 -04:00
330df97cfd
Add timezone backend support (handlers, utilities, user context)
john-okeefe
2026-04-27 21:30:53 -04:00
caf50ade31
Add timezone support to database schema and queries
john-okeefe
2026-04-27 21:30:37 -04:00
19701dc659
Add timezone support to database schema and queries
john-okeefe
2026-04-27 21:30:37 -04:00
dd1ddff08d
Remove completed PROGRESS_MIGRATION.md
john-okeefe
2026-04-27 21:30:22 -04:00
c3d900512c
Remove completed PROGRESS_MIGRATION.md
john-okeefe
2026-04-27 21:30:22 -04:00
1863fb3380
docs: add TIMEZONE_PLAN.md with full timezone implementation plan
john-okeefe
2026-04-26 21:21:49 -04:00
d97b144ce9
docs: add TIMEZONE_PLAN.md with full timezone implementation plan
john-okeefe
2026-04-26 21:21:49 -04:00
bc58103c62
feat(ui): persist library selection across page navigation
john-okeefe
2026-04-26 21:21:40 -04:00
d222257797
feat(ui): persist library selection across page navigation
john-okeefe
2026-04-26 21:21:40 -04:00
37f84dd3ea
fix(tests): repair TestUnifiedSearch and TestWebSocketProgressBroadcast
john-okeefe
2026-04-25 21:34:58 -04:00
7f66a62d45
fix(tests): repair TestUnifiedSearch and TestWebSocketProgressBroadcast
john-okeefe
2026-04-25 21:34:58 -04:00
2736409a79
docs: add PROGRESS_MIGRATION.md with full plan, bug list, and execution order
john-okeefe
2026-04-25 21:17:19 -04:00
630283ab3f
docs: add PROGRESS_MIGRATION.md with full plan, bug list, and execution order
john-okeefe
2026-04-25 21:17:19 -04:00
94102af4d7
test(progress): add comprehensive integration tests for ProgressService
john-okeefe
2026-04-25 21:17:08 -04:00
9a32d89a9b
test(progress): add comprehensive integration tests for ProgressService
john-okeefe
2026-04-25 21:17:08 -04:00
cb214b16b2
feat(reader): send richer progress payload with chapter boundaries and zoom
john-okeefe
2026-04-25 21:16:52 -04:00
82d0d378a6
feat(reader): send richer progress payload with chapter boundaries and zoom
john-okeefe
2026-04-25 21:16:52 -04:00
4fe36ba0a5
refactor(router): remove duplicate progress routes, add ProgressService to config
john-okeefe
2026-04-25 21:16:39 -04:00
a635c6d46e
refactor(router): remove duplicate progress routes, add ProgressService to config
john-okeefe
2026-04-25 21:16:39 -04:00
283b2f2ed7
feat(handlers): integrate ProgressService into media, koreader, kobo, and queue
john-okeefe
2026-04-25 21:16:29 -04:00
1cda4e5191
feat(handlers): integrate ProgressService into media, koreader, kobo, and queue
john-okeefe
2026-04-25 21:16:29 -04:00
f699899408
feat(sync): add ProgressService with merge, enrichment, and conflict detection
john-okeefe
2026-04-25 21:16:15 -04:00
d8330e8d0a
feat(sync): add ProgressService with merge, enrichment, and conflict detection
john-okeefe
2026-04-25 21:16:15 -04:00
e87f481988
chore(templates): update FileName references to include templates/ path prefix in generated Go files
john-okeefe
2026-04-25 13:41:20 -04:00
9ac24a1eac
chore(templates): update FileName references to include templates/ path prefix in generated Go files
john-okeefe
2026-04-25 13:41:20 -04:00
d68f72f21b
feat(reader): wire up progress mode switching with four display modes
john-okeefe
2026-04-25 13:40:18 -04:00
e66308c323
feat(reader): wire up progress mode switching with four display modes
john-okeefe
2026-04-25 13:40:18 -04:00
d400377474
feat(types): add FoliateTocItem interface for foliate-js TOC entries
john-okeefe
2026-04-25 13:39:07 -04:00
f24e354549
feat(types): add FoliateTocItem interface for foliate-js TOC entries
john-okeefe
2026-04-25 13:39:07 -04:00
7cd88b6107
chore(templates): regenerate all templ generated Go files
john-okeefe
2026-04-24 14:03:16 -04:00
2a1ff77173
chore(templates): regenerate all templ generated Go files
john-okeefe
2026-04-24 14:03:16 -04:00
d38804e910
fix(progress): correct percentage display and add format-aware progress
john-okeefe
2026-04-24 14:03:03 -04:00
9863b2082c
fix(progress): correct percentage display and add format-aware progress
john-okeefe
2026-04-24 14:03:03 -04:00
192c978a38
feat(templates): expand reader and progress template types for format-aware display
john-okeefe
2026-04-24 14:02:43 -04:00
981911077b
feat(templates): expand reader and progress template types for format-aware display
john-okeefe
2026-04-24 14:02:43 -04:00
44ec2f496a
feat(sync): add estimated pages calculation for reflowable ebooks
john-okeefe
2026-04-24 14:02:28 -04:00
3bc6b0f477
feat(sync): add estimated pages calculation for reflowable ebooks
john-okeefe
2026-04-24 14:02:28 -04:00
d3ddecb840
fix(reader): persist chapter metadata cache to database
john-okeefe
2026-04-24 14:02:13 -04:00
be4f89fdd2
fix(reader): persist chapter metadata cache to database
john-okeefe
2026-04-24 14:02:13 -04:00
da1732285f
fix(scanner): populate page count and total characters during media scanning
john-okeefe
2026-04-24 14:01:57 -04:00
93197b2e31
fix(scanner): populate page count and total characters during media scanning
john-okeefe
2026-04-24 14:01:57 -04:00
0269403a5d
feat(reader): wire up reading progress save and restore
john-okeefe
2026-04-23 21:08:30 -04:00
163b3162b9
feat(reader): wire up reading progress save and restore
john-okeefe
2026-04-23 21:08:30 -04:00
a4962a87b2
fix: replace invalid new(expression) calls with proper pointer allocation
john-okeefe
2026-04-23 20:39:50 -04:00
2ee37c657c
fix: replace invalid new(expression) calls with proper pointer allocation
john-okeefe
2026-04-23 20:39:50 -04:00
35c8ffe33e
fix(reader): URL-encode file paths and JSON-encode init config to fix comics/manga loading
john-okeefe
2026-04-23 20:39:36 -04:00
065099cfc2
fix(reader): URL-encode file paths and JSON-encode init config to fix comics/manga loading
john-okeefe
2026-04-23 20:39:36 -04:00
70d8ffd528
build: regenerate CSS after dashboard changes
john-okeefe
2026-04-23 17:01:30 -04:00
dac7c03ce7
build: regenerate CSS after dashboard changes
john-okeefe
2026-04-23 17:01:30 -04:00
3a3fa8763e
fix(dashboard): use anchor tags for client-side rendered book cards
john-okeefe
2026-04-23 17:01:20 -04:00
abef40575f
fix(dashboard): use anchor tags for client-side rendered book cards
john-okeefe
2026-04-23 17:01:20 -04:00
4119a5e38e
fix(reader): use proper templ expression for back link href and clean up formatting
john-okeefe
2026-04-23 17:01:01 -04:00
5cdae6cc4b
fix(reader): use proper templ expression for back link href and clean up formatting
john-okeefe
2026-04-23 17:01:01 -04:00