29bd6612e9a9950c61b9a569b761ffa1aaa5d4eb
Decouple selection state from renderScene via SelectionContext to prevent all TabView tabs from re-rendering on every selection toggle. Extract LibraryNovelItem as a memo-wrapped component with stable callbacks and primitive props so only affected items re-render. Replace O(n) array lookups with Set-based O(1) checks throughout. Memoize all inline closures, list furniture, and style objects. Fix library[index] bug that used the wrong array for "Update Category" menu action. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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%
