Rajarshee Chatterjee
3f8071e48e
chore: Release v2.0.3
v2.0.3
2026-02-18 22:31:06 +05:30
Rajarshee Chatterjee
a1c5350e8e
fix: Miscellaneous UI Tweaks
2026-02-12 21:23:40 +05:30
Rajarshee Chatterjee
8f237909d5
feat: Show First Unread Chapter in ReadButton and FAB When No Last Read
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-12 20:19:52 +05:30
Rajarshee Chatterjee
11ff69d4f5
fix: Pre-Fetch Adjacent Page Chapters in Reader and Library Updates
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-12 17:40:37 +05:30
Rajarshee Chatterjee
d15cf98742
fix: Order Chapter Pages Numerically in Queries for Accurate Retrieval ( Closes #1742 )
2026-02-12 01:01:20 +05:30
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
Rajarshee Chatterjee
ab1e36d280
refactor: Update Components to Follow Material Design 3 Guidelines
...
Update 13 components to comply with MD3 specs:
- Switch: rewrite with MD3 dimensions (52x32 track, 16/24 thumb),
animated thumb size, proper color tokens and border
- BottomTabBar: fix active indicator (64x32, borderRadius 16),
label weight/color, container padding
- SearchBar: fix placeholder color, explicit borderRadius 28
- Chip: fix fontSize 14, consistent MD3 color tokens
- Actionbar: remove rounded corners, tonal elevation
- Menu: borderRadius 4, elevation 2, surfaceContainer bg
- SegmentedControl: height 40, borderRadius 20
- List: icon/subheader use onSurfaceVariant, description fontSize 14,
divider uses outlineVariant
- BottomSheet: add 28dp top corner radius
- SwitchItem: add paddingHorizontal 16, description fontSize 14
- ConfirmationDialog: content fontSize 14
- IconButtonV2: disabled color uses onSurface at 38% opacity
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-08 14:41:00 +05:30
Rajarshee Chatterjee
f1fdafd37f
fix: Prevent Tab Bar Height Jump and Shadow Flash on Browse Screen
...
Fixes initial render height jump by adding initialLayout with window dimensions to TabView. Removes shadow flash on tab switch by setting elevation to 0 and adding consistent border styling.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-02-07 22:54:35 +05:30
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
Rajarshee Chatterjee
2f45db659b
fix: Replace Sync Database Operations With Async to Prevent Database Lock ( Closes #1716 )
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-07 16:49:57 +05:30
Rajarshee Chatterjee
9e38ad114d
fix: Sanitize EPUB FileName to Remove Filesystem-Unsafe Characters ( Closes #1480 )
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-06 16:31:31 +05:30
Rajarshee Chatterjee
45c4ea8ca0
fix: Handle IOException in NativeFile to Prevent EPUB Import Crash Loop ( Closes #1315 )
...
Synchronous TurboModule methods throwing IOException (FileNotFoundException)
crash the app process before JS catch blocks execute. Wrap file I/O in
try/catch to convert IOException to Exception for proper bridge serialization,
breaking the crash loop caused by stale tasks in the MMKV queue.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-06 16:19:07 +05:30
Rajarshee Chatterjee
d2b95ae316
fix: Use NativeFile for Custom CSS/JS Import to Fix Content URI Read Failure ( Closes #1661 )
...
Replace expo StorageAccessFramework.readAsStringAsync with NativeFile
copyFile+readFile to properly handle content:// URIs from DocumentPicker.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-06 15:57:14 +05:30
Rajarshee Chatterjee
02121152b3
fix: Stabilize Scroll Handler References to Prevent Infinite Re-render Loop ( Closes #1679 )
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-06 15:40:14 +05:30
Rajarshee Chatterjee
caed965b6b
fix: Prevent EPUB Import Crash from DocumentPicker Cache Cleanup ( Closes #1725 )
...
Use content:// URI directly instead of copying to cache directory, which
could be cleaned up by the system before the background import task runs.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-06 15:20:16 +05:30
Rajarshee Chatterjee
4088d5966b
fix: Close OkHttp Response and Streams in NativeFile.downloadFile ( Closes #1740 )
...
Unclosed Response objects leaked HTTP connections and memory buffers,
causing OOM crashes when batch-downloading chapters with images.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-06 15:11:18 +05:30
Rajarshee Chatterjee
a062beee87
fix: Add Max Height to Set Categories Modal ( Closes #1738 )
2026-02-06 14:56:32 +05:30
Patrick Loser
3095882516
Replace react-native-paper menus with custom implementation ( #1733 )
...
* improve custom Menu component
* replace react-native-paper menu
---------
Co-authored-by: CD-Z <github.verify097@passmail.com >
2026-02-01 17:29:23 +01:00
Patrick Loser
4ad0639796
Fix: Chapter loading for jump to chapter modal and chapter drawer
...
* updated debs
* Jump to chapter now loads not preloaded chapters
* chapter drawer scrolls to current chapter
* Load new chapters when reaching end of chapter drawer
* fix JumpToChapterModal rebase
* fix Chapter drawer current chapter position detection
---------
Co-authored-by: CD-Z <github.verify097@passmail.com >
2026-01-31 13:11:07 +01:00
Rajarshee Chatterjee
b53ec3352f
feat: Support Additional Plugin Setting Types (Dropdown and Checkboxes)
2026-01-28 22:23:00 +05:30
Rajarshee Chatterjee
c40edd5b2c
feat: Add Kitsu Tracker ( Closes #416 )
2026-01-25 14:50:17 +05:30
Rajarshee Chatterjee
bdd42caaaf
chore: Update Repository Links to Use lneader Instead of LNReader
2026-01-20 12:20:15 +05:30
Rajarshee Chatterjee
ab4eee31ce
feat: Allow All Safe Tags and Attributes When Sanitizing Chapter HTML ( Closes #1715 )
2026-01-20 09:26:32 +05:30
Rajarshee Chatterjee
3f9886a2e5
chore: Update Repository Links to Use lneader Instead of LNReader
2026-01-20 08:45:12 +05:30
kingstar1111
198b7443ae
feat: Add RTL (Right-to-Left) Language Support ( #1717 )
...
feat: RTL support
2026-01-20 08:32:58 +05:30
Rajarshee Chatterjee
f9c5ca303d
chore: Update Indonesian Translations ( Closes #1653 )
2026-01-16 09:28:56 +05:30
Rajarshee Chatterjee
9922d43940
fix: Remove Missing Image References During EPUB Export ( Closes #1696 )
...
This is a cherry-pick from @IstarVin’s PR #1558 . Thanks for the fix and for contributing. I cherry-picked it for the next release since the original PR had merge conflicts.
2026-01-15 09:24:43 +05:30
Rajarshee Chatterjee
ae99b077d4
feat: Add @noble/ciphers for Plugins ( Closes #1709 )
2026-01-15 09:08:43 +05:30
Rajarshee Chatterjee
0cb9da9027
refactor: Replace withTransactionAsync With withExclusiveTransactionAsync for Improved Concurrency Handling ( Closes #1636 )
2026-01-15 08:20:37 +05:30
Mousica
467a97dcf7
feat: Add Volume Button Offset Setting and Fix Related UI Issues ( #1685 )
2025-12-24 19:13:52 +05:30
Rajarshee Chatterjee
8d15e418e7
chore: Update Translations ( #1631 )
...
* New translations strings.json (Russian)
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
* New translations strings.json (Romanian)
[ci skip]
* New translations strings.json (French)
[ci skip]
* New translations strings.json (Spanish)
[ci skip]
* New translations strings.json (Afrikaans)
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
* New translations strings.json (Catalan)
[ci skip]
* New translations strings.json (Czech)
[ci skip]
* New translations strings.json (Danish)
[ci skip]
* New translations strings.json (German)
[ci skip]
* New translations strings.json (Greek)
[ci skip]
* New translations strings.json (Finnish)
[ci skip]
* New translations strings.json (Hebrew)
[ci skip]
* New translations strings.json (Hungarian)
[ci skip]
* New translations strings.json (Italian)
[ci skip]
* New translations strings.json (Japanese)
[ci skip]
* New translations strings.json (Korean)
[ci skip]
* New translations strings.json (Dutch)
[ci skip]
* New translations strings.json (Norwegian)
[ci skip]
* New translations strings.json (Polish)
[ci skip]
* New translations strings.json (Portuguese)
[ci skip]
* New translations strings.json (Russian)
[ci skip]
* New translations strings.json (Albanian)
[ci skip]
* New translations strings.json (Serbian (Cyrillic))
[ci skip]
* New translations strings.json (Swedish)
[ci skip]
* New translations strings.json (Turkish)
[ci skip]
* New translations strings.json (Ukrainian)
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
* New translations strings.json (Chinese Traditional)
[ci skip]
* New translations strings.json (Vietnamese)
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
* New translations strings.json (Hindi)
[ci skip]
* New translations strings.json (Assamese)
[ci skip]
* New translations strings.json (Odia)
[ci skip]
* New translations strings.json (Russian)
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
* New translations strings.json (French)
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
* New translations strings.json (French)
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
* New translations strings.json (Romanian)
[ci skip]
* New translations strings.json (Spanish)
[ci skip]
* New translations strings.json (Afrikaans)
[ci skip]
* New translations strings.json (Catalan)
[ci skip]
* New translations strings.json (Czech)
[ci skip]
* New translations strings.json (Danish)
[ci skip]
* New translations strings.json (German)
[ci skip]
* New translations strings.json (Greek)
[ci skip]
* New translations strings.json (Finnish)
[ci skip]
* New translations strings.json (Hebrew)
[ci skip]
* New translations strings.json (Hungarian)
[ci skip]
* New translations strings.json (Italian)
[ci skip]
* New translations strings.json (Japanese)
[ci skip]
* New translations strings.json (Korean)
[ci skip]
* New translations strings.json (Dutch)
[ci skip]
* New translations strings.json (Norwegian)
[ci skip]
* New translations strings.json (Polish)
[ci skip]
* New translations strings.json (Portuguese)
[ci skip]
* New translations strings.json (Russian)
[ci skip]
* New translations strings.json (Albanian)
[ci skip]
* New translations strings.json (Serbian (Cyrillic))
[ci skip]
* New translations strings.json (Swedish)
[ci skip]
* New translations strings.json (Turkish)
[ci skip]
* New translations strings.json (Ukrainian)
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
* New translations strings.json (Chinese Traditional)
[ci skip]
* New translations strings.json (Vietnamese)
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
* New translations strings.json (Hindi)
[ci skip]
* New translations strings.json (Assamese)
[ci skip]
* New translations strings.json (Odia)
[ci skip]
2025-12-08 20:51:08 +05:30
Rajarshee Chatterjee
3849b797c9
fix: Show Plugin Settings When Update Adds New Settings ( Closes #1674 )
...
[skip ci]
2025-12-08 20:50:30 +05:30
Rajarshee Chatterjee
d43c95f98c
chore: Release v2.0.2
...
[skip ci]
v2.0.2
2025-12-07 00:44:30 +05:30
Rajarshee Chatterjee
52d9d9ea1d
feat: Continue Reading While App Runs in Background
2025-12-06 19:03:44 +05:30
Rajarshee Chatterjee
2cabc9849c
fix: Skip Failed Entities During Backup Creation and Add Error Handling
2025-12-06 15:16:22 +05:30
Rajarshee Chatterjee
17049aca1c
feat: Use All Chapters in Jump-to-Chapter Modal
2025-12-06 14:39:17 +05:30
Rajarshee Chatterjee
9608d59efe
fix: Update Battery Level on Chapter Change ( Closes #1650 )
2025-12-06 13:27:19 +05:30
Rajarshee Chatterjee
a7942212a0
fix: Show Page Names Instead of Numbers ( Closes #1647 )
2025-12-06 13:09:39 +05:30
Rajarshee Chatterjee
a22aa53c51
fix: Add Unique Keys to All LegendList Implementations
2025-12-06 13:03:00 +05:30
Rajarshee Chatterjee
1ce16dc643
chore: Cleanup Unused Imports
2025-12-06 12:56:51 +05:30
Rajarshee Chatterjee
0ed6e9a463
fix: Start TTS From First Paragraph on Initial Press
2025-12-06 12:55:02 +05:30
Rajarshee Chatterjee
b7ecd1d749
chore: Update Website Link ( Closes #1666 )
2025-12-06 12:48:42 +05:30
Rajarshee Chatterjee
44e177a5ca
feat: Allow <ref> Links in Sanitised HTML ( Closes #1672 )
2025-12-06 12:48:21 +05:30
Rajarshee Chatterjee
b09cd3d587
fix: Sort Updates Correctly ( Closes #1652 )
2025-12-06 12:44:11 +05:30
Rajarshee Chatterjee
b70ebcf5f9
chore: Bump Version Patch to 1 in build.gradle ( Closes #1662 )
2025-12-06 12:20:19 +05:30
Gabriel Vasconcelos
9d58161729
feat(tts): Refactor Reading Logic to Fix Overflow and Add New Settings ( #1664 )
...
feat(tts): refactor reading logic and add new settings (voice, speed, pitch, auto page advance)
- Improved how TTS reads page content for smoother playback
- Added settings for voice selection, speed, and pitch control
- Added auto page advance support
- Added scroll-to-top behavior after advancing pages
- Updated UI to expose new TTS configuration options
[skip ci]
2025-12-06 12:18:35 +05:30
Rajarshee Chatterjee
e07eed4a95
fix: Prevent App Crash in Offline Mode ( Closes #1651 )
2025-12-06 12:14:54 +05:30
Patrick Loser
e09704c711
fix: Replace react native paper components
...
* updated debs
* Added Custom Menu component
* Added new BottomTabBar
---------
Co-authored-by: CD-Z <github.verify097@passmail.com >
2025-11-29 12:39:01 +01:00
Rajarshee Chatterjee
3af24f0815
fix: Improve Migration Error Handling
2025-11-16 13:18:58 +05:30
Rajarshee Chatterjee
4c0e7f6013
fix: Add Backward Compatibility to Tasks Queue
2025-11-16 12:36:42 +05:30