-
v3-cleanup-20260411
Stablereleased this
2026-04-11 14:59:28 +05:00 | -492 commits to main since this release- Service worker (src/service-worker.ts) handles push events and
notification clicks, navigating to the book page on tap - Web app manifest (manifest.webmanifest) linked in app.html
- Profile page: push notification toggle (subscribe/unsubscribe)
using the browser Notification + PushManager API with VAPID - API route POST/DELETE /api/push-subscription proxies to backend
- Go backend: push_subscriptions PocketBase collection storage
methods (SavePushSubscription, DeletePushSubscription,
ListPushSubscriptionsByBook) in storage/store.go - handlers_push.go: GET vapid-public-key, POST/DELETE subscription
- webpush package: VAPID-signed sends via webpush-go, SendToBook
fans out to all users who have the book in their library - Runner fires push to subscribers whenever ChaptersScraped > 0
after a successful book scrape - Config: VAPID_PUBLIC_KEY, VAPID_PRIVATE_KEY, VAPID_SUBJECT env vars
- domain.ScrapeResult gets a Slug field; orchestrator populates it
Downloads
- Service worker (src/service-worker.ts) handles push events and