Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
382 commits
Select commit Hold shift + click to select a range
48f0056
Fix: Add journal page to cache invalidation (#211)
masonfox Jan 4, 2026
44bbe7b
Add auto theme mode with Settings page control (#213)
masonfox Jan 4, 2026
01cca0e
Restyle toast notifications to match book-themed design (#214)
masonfox Jan 4, 2026
2480978
Fix focus ring theming to use themed accent colors (#212)
masonfox Jan 4, 2026
ec02980
Fix progress edit bug: incorrect pagesRead calculation (#217)
masonfox Jan 4, 2026
0db14d0
Fix: Remove decorative quotes from markdown blockquotes (#216)
masonfox Jan 4, 2026
cb84506
Fix modal scrim not spanning entire screen (#220)
masonfox Jan 4, 2026
b8afc72
Fix: Exclude orphaned books from tag operations to prevent Calibre sy…
masonfox Jan 4, 2026
29e370e
Add Check All/Uncheck All button for filtered tags (#224)
masonfox Jan 5, 2026
bf1f577
Fix: Update GHCR link in README badge
masonfox Jan 5, 2026
0bdeca8
add dark/light mode dashboard image
masonfox Jan 5, 2026
764ab15
add tag manager screenshot and add to readme.
masonfox Jan 5, 2026
c549c44
Add release notes for v0.4.0: Tag Management & Auto-Completion
masonfox Jan 5, 2026
18ce95f
chore: sync v0.4.0 release from main
masonfox Jan 5, 2026
791c718
Upgrade to Next.js 16 and React 19 (#207)
masonfox Jan 5, 2026
224d4a6
Fix pino module loading error during instrumentation (#227)
masonfox Jan 5, 2026
3587203
fix: remove pino logger from instrumentation phase to resolve Turbopa…
masonfox Jan 5, 2026
ae54c69
fix: update permission handling instructions in deployment guide
masonfox Jan 5, 2026
433d498
fix: remove pino-pretty transport to resolve Turbopack EISDIR bundlin…
masonfox Jan 5, 2026
118f6dd
fix: defer logger initialization in calibre.ts to prevent instrumenta…
masonfox Jan 5, 2026
373c801
fix: defer logger initialization in db modules to prevent pino loadin…
masonfox Jan 5, 2026
93cc748
workaround: switch to webpack to resolve Turbopack + Bun + pino compa…
masonfox Jan 5, 2026
0f954be
remove "Crimson Text" and "Lora" fonts
masonfox Jan 5, 2026
c48c01e
Optimize Calibre sync for large libraries (#221)
masonfox Jan 6, 2026
d48f4ac
Migrate from Bun Test to Vitest (#229)
masonfox Jan 6, 2026
fb85d0e
Migrate to Node.js everywhere, remove Bun runtime (#230)
masonfox Jan 6, 2026
a9f9f51
fix: use tsx to run TypeScript migration script in production
masonfox Jan 6, 2026
9d37966
fix: copy tsconfig.json to Docker image for tsx path resolution
masonfox Jan 6, 2026
d842bea
Add version display to settings page with update notifications (#232)
masonfox Jan 6, 2026
9613c96
add beads and centralize AI documentation
masonfox Jan 6, 2026
67007c8
Phase 2: API Client Architecture Migration (#233)
masonfox Jan 6, 2026
c39ae04
Refactor: Reorganize components into feature-focused subdirectories (…
masonfox Jan 6, 2026
21ca177
add CLAUDE.md back
masonfox Jan 6, 2026
4afde60
Add Goodreads-style shelf management system (#235)
masonfox Jan 7, 2026
7baaadc
Fix tsx migration script execution issues in production (#238)
masonfox Jan 7, 2026
8e0b318
Prevent shelf modals from closing on backdrop click
masonfox Jan 7, 2026
ac31a5a
Enhance shelf modals and UI polish (#240)
masonfox Jan 8, 2026
3eef0f4
feat: Add bulk add books to shelf feature (#239)
masonfox Jan 8, 2026
7560a84
Add bulk book addition feature to shelves (#242)
masonfox Jan 8, 2026
231e111
Multi-Select Bulk Delete for Shelf Books (#243)
masonfox Jan 8, 2026
09dcd6a
fix: correct date display timezone issue in Journal component (#245)
masonfox Jan 9, 2026
fd2101f
chore: bump version to 0.4.1
masonfox Jan 9, 2026
9c2f1f5
Add GitHub-style activity calendar to streak page (#246)
masonfox Jan 9, 2026
8b0f406
chore: bump package version
masonfox Jan 9, 2026
5656ecb
ignore planning folder
masonfox Jan 9, 2026
bed6b3d
remove beads
masonfox Jan 9, 2026
3db70bd
remove beads and up date instructions
masonfox Jan 9, 2026
b7a2cc8
Server-side date handling: Migrate to YYYY-MM-DD format (#251)
masonfox Jan 12, 2026
38d14c8
add bash to image
masonfox Jan 12, 2026
550a86d
fix: add missing date-fns dependencies to migration-deps
masonfox Jan 12, 2026
41b76fe
Add database-level author sorting for improved performance (#255)
masonfox Jan 12, 2026
aeb76d2
feat: add move and copy bulk actions for shelf management
masonfox Jan 12, 2026
a9b6cd4
fix: exclude current shelf from copy operation modal
masonfox Jan 12, 2026
8670f3b
Refactor: Consolidate BulkActionBar and shelf operations with DRY pri…
masonfox Jan 12, 2026
69f218f
Fix: DNF and read books persist status after page refresh (#260)
masonfox Jan 13, 2026
affe01d
feat: Add shelf seeding and fix progress log generation (#263)
masonfox Jan 13, 2026
650fb50
refresh documentation
masonfox Jan 13, 2026
4a24a15
feat: add option to add books to top of shelf (#267) (#269)
masonfox Jan 14, 2026
de9cdbb
feat: Calibre database lock handling with retry logic (#265)
masonfox Jan 14, 2026
b55cc1c
feat: Add Calibre database backup support (#261) (#266)
masonfox Jan 14, 2026
88e5d8e
feat: implement cache busting for book covers after Calibre sync (#270)
masonfox Jan 14, 2026
adcced1
bump max backup from 3 to 6
masonfox Jan 14, 2026
ed5ff82
Fix: Convert Docker entrypoint to TypeScript to eliminate sonic-boom …
masonfox Jan 14, 2026
95d0d5a
feat: Read Next Queue with Drag-and-Drop Ordering (#271) (#274)
masonfox Jan 15, 2026
e382047
Fix: Choppy drag-and-drop animations on mobile (#275)
masonfox Jan 15, 2026
f0a4032
Fix dashboard read-next sorting to use readNextOrder (#276)
masonfox Jan 15, 2026
f0c496f
Fix intermittent streak reset bug due to date type mismatch (#279)
masonfox Jan 15, 2026
b9e5c86
fix: companion migration detection for timestamp conversion
masonfox Jan 15, 2026
22e8155
remove (old) docker entrypoint
masonfox Jan 15, 2026
d042498
fix: force WAL checkpoint after migrations to ensure cross-process vi…
masonfox Jan 15, 2026
9f518e5
feat: Add 'Move to Top' dropdown menu for Read Next & Shelves (#281) …
masonfox Jan 16, 2026
f4b62b6
Add pull-to-refresh functionality for mobile PWA (#283)
masonfox Jan 16, 2026
8e82617
center actions button
masonfox Jan 16, 2026
52bf43b
Fix backup retention to use folder-based logic instead of file-based …
masonfox Jan 16, 2026
0f6fa92
Fix streak display positioning at sm breakpoint
masonfox Jan 16, 2026
4cb7bef
Reorganize test suite by test type (#287)
masonfox Jan 17, 2026
1845d82
Add 'Books Without Tags' filter to library page (#289)
masonfox Jan 17, 2026
8c68ed4
fix left alignment of booksactionsdropdown on mobile
masonfox Jan 20, 2026
ae818dc
Add session count to journal header on books page
masonfox Jan 20, 2026
57b7158
Add accessible shelf icons with WCAG-compliant color contrast (#291)
masonfox Jan 20, 2026
0c0e7b9
Fix tags API response format for tag search in Edit Tags modal (#293)
masonfox Jan 20, 2026
baeb7c2
Fix shelf cache invalidation when adding/removing books (#292)
masonfox Jan 20, 2026
448a3e2
fix: add missing sort options to shelf detail mobile dropdown
masonfox Jan 21, 2026
04f2480
fix: prevent FAB from overlapping bottom sheet menu on shelf detail page
masonfox Jan 21, 2026
0ad5056
feat: Add PUID/PGID support for Docker volume permissions (#237) (#280)
masonfox Jan 21, 2026
c8ccaec
Enhance deployment documentation with Docker options
masonfox Jan 21, 2026
898582c
make timezone input bg darker
masonfox Jan 21, 2026
5a3d49f
Add read-only demo site infrastructure (#294)
masonfox Jan 21, 2026
3bc45df
fix: run database migrations before seeding demo data
masonfox Jan 21, 2026
55d4165
fix: resolve Next.js cache permission errors with custom PUID/PGID (#…
masonfox Jan 21, 2026
c10ecff
remove "running as" in banner
masonfox Jan 21, 2026
0cbd492
fix: consolidate BookWithStatus types and add lastSynced for cache bu…
masonfox Jan 21, 2026
c68da87
refactor: simplify demo seeder to use standard seeder (#297)
masonfox Jan 21, 2026
57679c1
fix: render actions dropdown via portal to prevent overflow clipping …
masonfox Jan 21, 2026
4597601
fix: use correct addedAt field for Date Added column on shelf pages (…
masonfox Jan 21, 2026
49577c8
fix: consolidate to single Dockerfile with runtime demo mode (#298)
masonfox Jan 22, 2026
62eba95
chore: bump version to 0.5.0
masonfox Jan 22, 2026
5a3770f
Merge main into develop: incorporate v0.4.1 hotfix
masonfox Jan 22, 2026
7d14c06
test: remove version-specific test that depends on hardcoded version
masonfox Jan 22, 2026
8efa7a2
fix: force data refresh after Calibre sync
masonfox Jan 22, 2026
84d641a
test: improve coverage from 77% to 85%+ (#304)
masonfox Jan 22, 2026
d865a32
fix: set HOME=/tmp before privilege drop for npm cache
masonfox Jan 22, 2026
33cd3eb
Fix race condition in session edit modal (#308)
masonfox Jan 24, 2026
cef520b
fix: read-next page stale cache on status changes (#307)
masonfox Jan 24, 2026
1913aab
Optimize hybrid Docker entrypoint and refactor architecture (#305)
masonfox Jan 24, 2026
bbc0b71
Unify boot logging and fix companion migration compilation (#310)
masonfox Jan 24, 2026
d34ffc8
Fix CI: build companion migrations before running tests
masonfox Jan 24, 2026
fe65641
Remove runtime TypeScript compilation (#311)
masonfox Jan 25, 2026
2d23766
Fix demo mode environment variable and banner layout (#312)
masonfox Jan 25, 2026
7b2c913
Update README layout and enhance introductory content
masonfox Jan 25, 2026
00ff28d
Refactor README: streamline content and reposition badges for clarity
masonfox Jan 25, 2026
949d6a8
Fix README badge formatting for consistency
masonfox Jan 25, 2026
aa8396f
Add UI screenshots for Shelves and Shelf sections in README
masonfox Jan 25, 2026
1e16409
Remove demo banner and simplify demo mode detection (#314)
masonfox Jan 26, 2026
34fbc2e
Polish v0.5: Visual improvements and consistency updates (#315)
masonfox Jan 27, 2026
d1c17e4
docs: remove beads references from agent documentation
masonfox Jan 27, 2026
920d9e4
remove beads
masonfox Jan 27, 2026
9b9af5b
fix: restore Read Next status to library dropdown filter
masonfox Jan 27, 2026
439b744
style: add rounded corners to tag pills in library filters
masonfox Jan 27, 2026
661cfc1
fix: remove duplicate 'Log Progress' header in dashboard modal
masonfox Jan 27, 2026
8d70584
Add new BottomSheet size options and improve progress log UX
masonfox Jan 27, 2026
96b528a
style: update dashboard View All buttons to use rounded-lg for consis…
masonfox Jan 27, 2026
03ef6e8
style: reduce BookCard title/author spacing to space-y-1
masonfox Jan 27, 2026
7febb9d
fix: improve desktop sidebar skeleton and eliminate layout shifts
masonfox Jan 27, 2026
970942c
Enhance dashboard skeleton loaders with detailed structure
masonfox Jan 27, 2026
45c892a
Fix mobile content shift in StreakDisplaySkeleton
masonfox Jan 27, 2026
20baf4b
refactor: simplify StreakDisplaySkeleton structure
masonfox Jan 27, 2026
897ed27
refactor: hide pencil icon skeleton in CurrentlyReadingCardSkeleton
masonfox Jan 27, 2026
dd68074
refactor: reorder navigation menu items
masonfox Jan 27, 2026
d500ec5
fix: correct dark mode hover and active states in sidebar
masonfox Jan 27, 2026
a742d93
Revert "fix: correct dark mode hover and active states in sidebar"
masonfox Jan 27, 2026
e3fabe0
fix: update desktop sidebar active states for light/dark modes and re…
masonfox Jan 27, 2026
e2c3d52
Fix status flash on book detail page (#318)
masonfox Jan 28, 2026
b13cab4
refactor: improve status synchronization in useBookStatus hook
masonfox Jan 28, 2026
8603221
Refactor /goals page: Enhanced UI with monthly filtering and improved…
masonfox Jan 28, 2026
d97695f
fix: prevent status flash when navigating between books with cached data
masonfox Jan 28, 2026
a390fc7
fix: eliminate status flash by using optimistic override pattern
masonfox Jan 28, 2026
86d6d76
Fix month navigation in All Year mode on goals page (#320)
masonfox Jan 28, 2026
e651660
fix: add iOS safe area support to bottom sheets (#321)
masonfox Jan 28, 2026
496c0d8
refactor: move markdown editor skeleton loading to proper dynamic imp…
masonfox Jan 28, 2026
1c99e5b
remove opencode plan files
masonfox Jan 28, 2026
2ace4da
ignore opencode plans
masonfox Jan 28, 2026
8927a9b
Fix modal animations and layout issues (#323)
masonfox Jan 28, 2026
e728d30
Add shadow effects to book covers (#324)
masonfox Jan 28, 2026
38c5299
Improve Currently Reading and book detail author links (#325)
masonfox Jan 28, 2026
928de02
remove empty CurrentlyReadingCard file
masonfox Jan 28, 2026
f25aacc
full round the pencil icon on the CurrentlyReadingList item
masonfox Jan 28, 2026
7f0ddb2
Move Log Progress modal submit button to action bar (#326)
masonfox Jan 29, 2026
7a84c1d
Fix bulk action bar positioning to respect safe area insets
masonfox Jan 29, 2026
56b262f
Implement comprehensive button shadow system with reusable Button com…
masonfox Jan 29, 2026
79dfac8
feat: add Calibre 9.x WAL mode compatibility
masonfox Feb 1, 2026
f02ad18
feat: enhance Calibre lock error messages with context
masonfox Feb 1, 2026
2ca1931
docs: add Calibre 9.x compatibility documentation
masonfox Feb 1, 2026
36a1240
update docs
masonfox Feb 3, 2026
a20026d
fix: skip journal_mode pragma in auto mode and increase busy_timeout
masonfox Feb 3, 2026
fe0f081
fix: reduce busy_timeout to 10s for better balance
masonfox Feb 3, 2026
9c23e91
Merge PR #330: Fix Calibre 9.x database lock errors
masonfox Feb 3, 2026
bca8a65
Add session deletion feature with confirmation modal (#331)
masonfox Feb 3, 2026
40a5d99
ci: skip PR checks on draft PRs
masonfox Feb 3, 2026
c8e09ec
remove the claude workflow
masonfox Feb 3, 2026
01fff6c
fix: enforce ADR-014 date string compliance in frontend (#332)
masonfox Feb 3, 2026
5a0a662
Fix: Delete session now creates active session for all cases (#333)
masonfox Feb 3, 2026
f6ec19f
Reorder library status filter dropdown options
masonfox Feb 3, 2026
c32de16
fix: correct CSS class syntax in library link
masonfox Feb 3, 2026
3f9f035
round the empty state for read next
masonfox Feb 3, 2026
ead8025
fix: make Read Next empty state height consistent with Currently Reading
masonfox Feb 4, 2026
82aa1e3
fix: Replace regex-only date validation with calendar-aware validatio…
masonfox Feb 4, 2026
a52611c
Consolidate dnfDate into completedDate (#335)
masonfox Feb 4, 2026
1a4c266
Add safe area spacing to main content in PWA mode
masonfox Feb 4, 2026
a8da35d
add v0.5 release notes
masonfox Feb 4, 2026
27721a6
notify on patch version changes
masonfox Feb 4, 2026
893ee8a
update deployment docs
masonfox Feb 4, 2026
1b1a109
add PUID and PGID info to release notes
masonfox Feb 4, 2026
0032cdf
path correction
masonfox Feb 4, 2026
6e10594
Merge main (v0.5.0) into develop to keep branches in sync
masonfox Feb 4, 2026
8aaafaa
fix: handle pre-2001 Unix timestamps in progress date migration
masonfox Feb 5, 2026
f2b7d9c
fix: handle pre-2001 Unix timestamps in progress date migration (#337)
masonfox Feb 5, 2026
7ce006e
Merge fix/migration-pre-2001-timestamps into develop
masonfox Feb 5, 2026
8f8b331
chore: bump version to 0.5.1
masonfox Feb 5, 2026
b62d742
Merge branch 'main' into develop
masonfox Feb 5, 2026
b34531c
Refactor: Clean up ISO date handling and add formatDate helpers (#339)
masonfox Feb 5, 2026
43abba4
Add OPDS 1.2 support (#340)
masonfox Feb 5, 2026
2cde895
docs: add v0.6.0 release notes
masonfox Feb 5, 2026
7424e23
update release notes
masonfox Feb 5, 2026
935fece
Update __tests__/integration/api/opds-tome-integration.test.ts
masonfox Feb 5, 2026
eb27715
Update __tests__/unit/opds/auth.test.ts
masonfox Feb 5, 2026
e9675e5
fix typo
masonfox Feb 5, 2026
05f3b72
Fix: Use user timezone in rebuildStreak() date comparison (#345)
masonfox Feb 7, 2026
6890b0a
Merge branch 'main' into develop
Feb 7, 2026
6ac17c6
fix: handle pre-2001 Unix timestamps
Feb 9, 2026
8143aa2
chore: bump to v0.6.1
Feb 9, 2026
afcf682
Merge branch 'main' into develop
masonfox Feb 9, 2026
18666cc
fix: consolidate stats & goals counting logic (#349) (#353)
masonfox Feb 11, 2026
db27375
chore: bump to v0.6.2
masonfox Feb 11, 2026
a0f70bd
feat: add GitHub, Issues, and Wiki links to settings page (#359)
masonfox Feb 13, 2026
1c28ed1
fix: close mobile bottomsheet when book completion modal appears (#357)
masonfox Feb 13, 2026
3648903
fix: stabilize progress input width in LogProgressModal (#360)
masonfox Feb 13, 2026
d51a4ec
Delete docs/OPDS.md
masonfox Feb 13, 2026
74819ed
Fix OPDS Catalog documentation link in README
masonfox Feb 13, 2026
4241222
fix: reject page numbers exceeding book's total page count (#362)
masonfox Feb 13, 2026
eb76870
Update __tests__/integration/services/reading-stats.service.test.ts
masonfox Feb 13, 2026
4f1ef61
Merge remote-tracking branch 'origin/main' into develop
masonfox Feb 13, 2026
b497e14
Refactor: Consolidate streak business logic into StreakService (#346)…
masonfox Feb 13, 2026
7b4b7af
fix: trim whitespace from library search query (#365)
masonfox Feb 14, 2026
46cec73
Fix: Clear series field when removed from Calibre during sync (#367)
masonfox Feb 16, 2026
51c898c
Bump version to 0.6.3
masonfox Feb 16, 2026
6d9e29d
fix: update test mocks from @/lib/streaks to @/lib/services/streak.se…
masonfox Feb 16, 2026
2be51e0
fix: update test suite name from lib/streaks.ts to StreakService
masonfox Feb 16, 2026
443d564
Merge main v0.6.3 tag into develop
masonfox Feb 16, 2026
8830b27
Fix AUTOINCREMENT sequence leak in book sync (#370)
masonfox Feb 16, 2026
f18f2dd
remove semver opencode command
masonfox Feb 16, 2026
dd19291
chore: bump to 0.6.4
masonfox Feb 16, 2026
f90c12f
test: fix async setup/teardown in AUTOINCREMENT sequence test
masonfox Feb 16, 2026
5e941d9
Merge branch 'main' into develop
masonfox Feb 16, 2026
4850353
Fix streak creation error and refactor to Goals pattern (#369)
masonfox Feb 16, 2026
e950c06
fix: enforce ADR-014 date string storage compliance across codebase (…
masonfox Feb 16, 2026
a941059
fix: exclude DNF books from reading goals (issue #372) (#373)
masonfox Feb 16, 2026
ec763b2
chore: bump to 0.6.5
masonfox Feb 16, 2026
9693c80
sync v0.6.5
masonfox Feb 16, 2026
19d210e
Fix dropdown menu positioning at bottom of viewport (#377)
masonfox Feb 23, 2026
fe8033b
feat: add 'Move to Bottom' option to book reordering (#379)
masonfox Feb 23, 2026
39b4267
chore: bump package to v0.6.6
masonfox Feb 23, 2026
820e823
feat: add automated PR review loop with @review and Copilot
masonfox Feb 23, 2026
83b92e8
remove the review command
masonfox Feb 23, 2026
e26b4ab
Fix: Transaction handling in shelf repository moveBookToBottom (#382)
masonfox Feb 24, 2026
35fa96a
fix: align move-to-bottom optimistic updates with server-side logic (…
masonfox Feb 25, 2026
12cbb71
fix: derive dropdown menu width from DOM instead of hardcoded default
masonfox Feb 25, 2026
496b65e
fix: resolve PR #381 Copilot review comments (#385)
masonfox Feb 25, 2026
0e0341b
Fix isAtTop/isAtBottom using filtered index instead of actual positio…
Copilot Feb 25, 2026
526fd71
Merge branch 'main' into develop
masonfox Feb 26, 2026
34e6f2e
fix: correct isAtTop/isAtBottom logic in shelf page (#388)
masonfox Feb 26, 2026
421f34c
chore: bump to 0.6.7
masonfox Feb 26, 2026
38629ca
Fix: Session Edit Modal review not saving (#389)
masonfox Feb 26, 2026
956f8c8
Merge branch 'main' into develop
masonfox Feb 26, 2026
4a5722b
Implement dynamic HTML page titles (Issue #394) (#395)
masonfox Mar 4, 2026
9a2477a
chore: bump to 0.6.8
masonfox Mar 5, 2026
dbf25b1
fix: DNF status transitions now create new sessions (#391)
masonfox Mar 6, 2026
a61ddc3
Add mobile back button to book detail page (#397)
masonfox Mar 6, 2026
c699652
remove extra spacing from book detail back button
masonfox Mar 6, 2026
54d00f9
Fix: Stable sort for journal entries with same date (fixes #399) (#400)
masonfox Mar 11, 2026
5c5e0d9
Fix: Address PR #401 review suggestions (#402)
masonfox Mar 19, 2026
7b3cf28
fix: invalidate shelf cache when book status changes (#405)
masonfox Mar 19, 2026
f7dff99
fix: invalidate series cache when book status changes (#409)
masonfox Mar 31, 2026
38c50b0
Merge branch 'main' into develop
masonfox Apr 7, 2026
4a7eb18
update opencode package-lock
masonfox Apr 12, 2026
9f2ca50
add cancel event
masonfox Apr 12, 2026
d294877
Fix: DNF books not appearing in library filter (#418)
masonfox Apr 16, 2026
d8fa6e1
fix: properly merge PR #415 tap & hold feature (#419)
masonfox Apr 16, 2026
ab14c6d
bump to 0.6.9
masonfox Apr 21, 2026
908af5e
Fix: Session numbering after deletion (Issue #413) (#416)
masonfox Jun 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
115 changes: 115 additions & 0 deletions .opencode/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading