Repository navigation
NovelNotifier 1.0.0
First public release. A clean-room, from-scratch replacement for the abandoned "Notifications for Novel Updates" app — Kotlin + Jetpack Compose, no ads, no analytics, no accounts beyond your own Novel Updates login.
What's in 1.0.0
- Reading lists — all your Novel Updates lists with covers, unread badges, search, grid/list layouts, four sort modes
- First-run onboarding — logs in, reads your lists with a live progress counter, warns how long a large library takes (conservative estimates), and lets you prioritise the lists you actively read
- Background library download — paced against the site (one request every 10 s, cover downloads spaced, cool-down rest every 120 jobs), resumable across reboots, with a counter notification
- Chapter notifications — via your personal NU feed (captured automatically from the reading-list page; nothing to configure) or paced list checks when no feed is configured; per-list and per-series mutes
- Read sync across devices — marks made anywhere appear everywhere via NU's read-activity feed
- Read position on your terms — the RELEASES checkbox moves Novel Updates' read marker forward or backward in a single call
- Series pages — INFO + full RELEASES table cached page-by-page, next-chapter card, mark-as-read and list changes written back to the site
- Backups & device transfer — one zip via the system file picker (Google Drive, OneDrive, USB…); restores lists, chapter caches, covers, and settings. Backups never contain your password, login, or feed tokens
- Debug log —
adb shell run-as com.patchscratch.novelnotifier cat files/debug.log
Install
Download NovelNotifier-v1.0.0.apk below and open it (allow "install unknown apps" for your browser/file manager if asked). Requires Android 8.0+ and a Novel Updates account. On first launch: Settings → Log in on Novel Updates — onboarding takes it from there.
If you were running an earlier build, this installs straight over it — your library and login are kept.
Notes
Novel Updates has no public API, so the app reads it through a logged-in WebView session with deliberate pacing and no Cloudflare bypass. If the site changes its HTML, scrapers in ScrapeJs.kt are the single place to update. MIT licensed — see LICENSE.