eafa545b2a34320b5e1eb2d99ba61b6888838da8
* init * feat: add zustand dependency and persistence key contract * refactor: extract bootstrap data loading into reusable service * refactor: move chapter mutations into store-ready action helpers * feat: add zustand novel store with cache and core actions * refactor: bridge novel persistence contracts for migration safety * refactor: migrate NovelScreen domain flows to zustand selectors * refactor: migrate NovelScreenList to selector-based store access * refactor: move reader chapter flows onto store boundaries * refactor: decouple useNovelSettings from broad context domain state * refactor: align migrateNovel with stable persistence contracts * refactor: cut novel-reader consumers to store-only context boundary * refactor: retire legacy useNovel and route cache cleanup export * test: update suites for store-only context boundary cutover * test: modernize store-era mocks and add contract coverage * test: finalize Task-15 sweep—remove dead useNovelData and lint clear mocksContract Final validation confirms mock-contract test suite clean and target file deletion verified with zero stale references in src/ scope. * remove imports from NovelScreen * reworked ai output * improvements * implemented synchronus novel and chapter fetch * refactor tests * fix db tests * Update remaining tests. * Harden chapter actions and bootstrap flows * Only count filtered chapters * improved chapter insert speed by optimizing triggers * Improved the batching function * Added drizzle support to dbManager.batch * removed better-sqlite3 for testing * fix tests * Update updateNovelChapters fucntion * reverse read filter * fix snackbar * fixed page bottomsheet * resolved paged novels showing wrong chapter number on opening * use openPage instead of setPageIndex in chapterDrawer * fix lint & tests * fix type issues * fix various smaller issues * updated novel restore * Delete tsconfig.tsbuildinfo
LNReader
LNReader is a free and open source light novel reader for Android, inspired by Tachiyomi.
Download
Get the app from our releases page.
Android 7.0 or higher.
Screenshots
Plugins
LNReader does not have any affiliation with the content providers available.
Plugin requests should be created at lnreader-plugins.
Translation
Help translate LNReader into your language on Crowdin.
Building & Contributing
See CONTRIBUTING.md
License
Description
LNReader fork with an iOS build (SideStore) and the open-lab plugin repository preconfigured
Languages
TypeScript
73%
C++
17.8%
Kotlin
4.4%
JavaScript
3.4%
Swift
0.6%
Other
0.7%
