Admin
56bf4dde22
fix(auth): update PocketBase v0.23+ auth endpoint and rename users collection
...
- Replace deprecated /api/admins/auth-with-password with
/api/collections/_superusers/auth-with-password in both the
SvelteKit UI (pocketbase.ts) and Go scraper (pocketbase.go)
- Rename custom users collection to app_users to avoid name clash
with PocketBase's built-in users auth collection
- Fix docker-compose volume mount path pb/pb_data -> pb_data so
persisted data matches the entrypoint --dir flag
- Add PB_ADMIN_EMAIL/PB_ADMIN_PASSWORD env vars to pocketbase service
so the superuser is auto-created on first boot
2026-03-03 16:59:25 +05:00
Admin
2f0857be45
test: add integration tests for storage, server, and scrape+store flows
...
- scraper/internal/storage/integration_test.go: MinioClient and PocketBaseStore
integration tests covering chapter/audio round-trips, presign URLs, book
metadata, chapter index, ranking, progress, and audio cache CRUD
- scraper/internal/storage/hybrid_integration_test.go: HybridStore end-to-end
tests for metadata, chapters, ranking, progress, presign, and audio cache
- scraper/internal/storage/scrape_integration_test.go: live Browserless + storage
tests that scrape book metadata and first 3 chapters, store them, and verify
the round-trip via HybridStore
- scraper/internal/server/integration_test.go: HTTP server functional tests for
health, scrape status, presign chapter, reading progress, and chapter-text
endpoints against real MinIO + PocketBase backends
- justfile: task runner at repo root with recipes for build, test, lint, UI,
docker-compose, and individual service management
2026-03-03 14:54:43 +05:00
Admin
f265d9d020
feat(scraper): add GET /api/browse and GET /api/scrape/status endpoints
...
- GET /api/browse fetches novelfire.net catalogue page and parses it with golang.org/x/net/html;
returns JSON {novels, page, hasNext} with per-novel slug/title/cover/rank/rating/chapters/url.
Supports page, genre, sort, status query params.
- GET /api/scrape/status returns {"running": bool} for polling job state from the UI
2026-03-03 14:03:19 +05:00
Admin
3c26dfe2c0
feat(auth): add user authentication with roles, HMAC-signed cookies, and login/register UI
...
- Add `users` PocketBase collection (username, password_hash, role, created)
- Implement HMAC-SHA256 signed cookie auth in hooks.server.ts; token payload is userId:username:role
- Add User type, getUserByUsername, createUser (scrypt), loginUser (timing-safe) to pocketbase.ts
- Add login/register page with tabbed form UI and server actions
- Add logout route that clears the auth cookie
- Add layout.server.ts auth guard: redirect unauthenticated users to /login
- Extend App.Locals and App.PageData with role field
- Add AUTH_SECRET, POCKETBASE_ADMIN_EMAIL/PASSWORD to .env.example
- Install @types/node for Node crypto/scrypt types
2026-03-03 14:03:11 +05:00
Admin
38e400a4c7
feat(scraper): remove HTMX UI — delete ui.go, extract helpers.go, drop goldmark dependency
2026-03-02 22:03:36 +05:00
Admin
cb90771248
refactor(scraper): rename /ui/audio*, /ui/chapter-text routes to /api/ namespace
2026-03-02 22:01:52 +05:00
Admin
33e2a4dc01
feat: add MinIO presign endpoints to scraper API and SvelteKit presign helper
2026-03-02 21:35:27 +05:00
Admin
5ac89da513
Steps 11-12: migrate chapter + book page reading-progress JS from localStorage to /api/progress
2026-03-02 14:52:01 +05:00
Admin
af86c6f96f
Step 10: migrate home page reading-progress JS from localStorage to /api/progress
2026-03-02 14:51:07 +05:00
Admin
da4a182f85
Step 9: add session cookie + /api/progress GET/POST/DELETE endpoints
2026-03-02 14:47:58 +05:00
Admin
18e76c9668
steps 6-8: wire HybridStore into orchestrator, server, and main
...
- Add storage/hybrid.go: HybridStore composing PocketBase + MinIO backends
- Rewrite orchestrator to accept storage.Store instead of *writer.Writer
- Replace *writer.Writer with storage.Store in server.go and ui.go
- Wire audio cache, reading progress, chapter reads/writes through store
- Add rankingCacheAdapter in main.go to bridge context-free RankingPageCacher
interface to HybridStore's context-aware methods
2026-03-02 14:44:02 +05:00
Admin
9add9033b9
feat(v2): add internal/storage package with MinIO + PocketBase clients and Store interface
2026-03-02 14:34:25 +05:00
Admin
093e627a0e
fix: restore missing generateAudio, settingsPanel, chapterListPanel DOM refs removed in cleanup
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 14:28:10 +05:00
Admin
90a16a7223
feat: autoplay uses full page navigation, auto-starts TTS on arrival
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 14:19:21 +05:00
Admin
412b0fb478
fix: settings panel closed by default, closes on click outside
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 14:10:21 +05:00
Admin
0a479cfe22
feat: replace native voice select with custom styled dropdown
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 14:05:24 +05:00
Admin
92f900a8a9
fix: seek-track and seek-times match chapter width on all devices
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 14:01:34 +05:00
Admin
b61e1a4212
fix: align seek-track and seek-times with chapter content width on desktop
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 14:00:56 +05:00
Admin
6e0041ea01
feat: settings panel becomes native-style bottom sheet on mobile with drag-to-expand/dismiss
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 13:57:29 +05:00
Admin
3e74019a5e
fix: seek-track 90% width, seek-times 95% width, both margin auto
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 13:54:47 +05:00
Admin
d300714333
feat: replace hourglass emoji with animated SVG spinner in generating state
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 13:46:09 +05:00
Admin
e0265db7a8
feat: replace speed slider with preset buttons, replace voice grid with dropdown
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 13:44:06 +05:00
Admin
1cdc82249c
fix: replace unicode gear with SVG icon, increase chapter title size in header
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 13:19:41 +05:00
Admin
ce4b904e62
fix: slim seek bar, scrollable settings panel, speed+toggles first then voices
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 13:17:41 +05:00
Admin
c08da7ef54
fix: cap voice grid height so speed/toggles remain visible in settings panel
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 13:09:48 +05:00
Admin
9d01ea1ee3
fix: hide idle badge by default, remove duplicate next-idle badge, remove chapter numbers under nav arrows
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 13:07:00 +05:00
Admin
c717fcfe94
fix: settings panel flex layout — voice grid scrolls, speed/toggles always pinned at bottom
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 13:03:06 +05:00
Admin
82d78bedb2
fix: center settings panel vertically on mobile, scrollable with max-h cap
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 13:00:17 +05:00
Admin
1254e90a65
fix: remove duplicate inline chapter nav, upgrade player prev/next to SVG chevrons with chapter number
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 12:56:35 +05:00
Admin
da3370ba9b
fix: strip 'Chapter N - N: ' prefix from chapter titles in content menu
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 12:55:08 +05:00
Admin
2546a5774e
fix: increase settings panel bottom offset to clear full player height
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 12:52:16 +05:00
Admin
00a6d2ce43
fix: proper SVG play/pause icons, preserve progress on resume, fix badge row alignment
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 12:49:36 +05:00
Admin
98fd0de7bc
fix: remove stale old-template fragment from chapterTmpl in ui.go
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 12:41:02 +05:00
Admin
1128e47f6b
feat: redesign ranking page with list layout, sticky filter bar, top genres fix
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 12:25:01 +05:00
Admin
1caa1f7ab5
feat: homepage hero card, progress bars, unread badges, stats, sort, genre chips, recently added
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 11:31:31 +05:00
Admin
d9c69a089c
fix: prevent home page book cards from overflowing viewport on mobile
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 11:24:44 +05:00
Admin
42d0d53b52
fix: chapter list toggle no longer overwrites title span with arrow
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 11:17:58 +05:00
Admin
5182f31518
fix: show TTS gen duration in idle badge (24s / 1m 4s), drop uppercase
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 11:17:15 +05:00
Admin
7ed5eb0d69
fix: remove duplicate chapter title h1, drop nav arrow, enlarge hamburger
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 11:15:21 +05:00
Admin
0503f69537
Fix settings panel height on mobile using fixed positioning
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 11:12:25 +05:00
Admin
8e1519234a
Stretch settings panel to near full height on mobile
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 11:08:26 +05:00
Admin
1353e2f6e6
Increase voice grid height on mobile
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 11:00:17 +05:00
Admin
954200af3c
Show live % progress in playing badge, generation time in idle badge
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 10:55:53 +05:00
Admin
42dc38d224
Fix seek bar: tall hit area, correct rail-based rect, prevent scroll during touch drag
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 10:53:57 +05:00
Admin
63aae93ee3
Play pre-generated next chapter audio directly without page navigation to avoid autoplay block on locked screen
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 10:51:50 +05:00
Admin
c3e5a57dab
Stretch settings panel full width on small screens
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 10:42:38 +05:00
Admin
7589866965
Fetch voices from Kokoro API at runtime; replace select with styled voice card grid
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 10:18:43 +05:00
Admin
2107b6e6b8
Replace checkbox inputs with toggle switches in reader settings panel
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 10:11:31 +05:00
Admin
3b905e54fe
Add auto-scroll toggle to reader settings, persisted in localStorage
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 10:10:41 +05:00
Admin
427e952253
Pause TTS auto-scroll on user interaction, resume after 3s; add book cover artwork to Media Session
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled
2026-03-02 10:06:59 +05:00