Rajarshee Chatterjee 29bd6612e9 refactor: Optimize Library Screen Performance and Fix Category Bug
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>
2026-02-12 00:41:59 +05:30
2022-04-08 08:19:52 +05:30
2025-05-25 16:39:18 +07:00
2025-05-04 20:58:09 +07:00
2025-11-14 13:07:37 +05:30
2024-11-04 20:21:22 +05:30
2025-10-23 16:39:11 +05:30
2025-05-11 15:46:16 +07:00
2021-03-09 20:12:46 +05:30

LNReader

LNReader is a free and open source light novel reader for Android, inspired by Tachiyomi.

Download

GitHub release (latest by date) GitHub release (latest SemVer)

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

MIT

S
Description
LNReader fork with an iOS build (SideStore) and the open-lab plugin repository preconfigured
Readme 30 MiB
Languages
TypeScript 73%
C++ 17.8%
Kotlin 4.4%
JavaScript 3.4%
Swift 0.6%
Other 0.7%