Rajarshee Chatterjee 4c7684a3a7 refactor: Optimize Novel Screen Performance and Fix Download State Tracking
- Optimize Novel screen components with useCallback, useMemo, and memo to prevent unnecessary re-renders
- Replace download queue array iteration with downloadingChapterIds Set for O(1) lookups
- Add loading shimmer to chapter count display (replaces "Loading..." text)
- Fix state mutation bug in useNovel updateChapter (now creates new array)
- Refactor ChapterItem API (onDeleteChapter, onDownloadChapter props for better stability)
- Track download completion via useEffect to update chapter isDownloaded state
- Fix pagination control logic and improve spacing
- Remove unnecessary local state in ChapterDownloadButtons

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-07 22:48:14 +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%