Rajarshee Chatterjee
ae8d055689
perf: Limit Chapter Neighbor Queries To One Row
Lint / ESLint (push) Has been cancelled
Tests / Jest (push) Has been cancelled
Type Check / TypeScript (push) Has been cancelled
2026-09-26 20:43:28 +05:30
trietng
1607f80a0a
feat: Add Volume Button Navigation and Slide Animation Settings for Paged Reading ( #2058 )
...
* feat: volume navigation and disable animation settings for paged reading
* fix: transition style removal
* fix: pageReader incorrect initialization
* fix: remove unneeded check
* chore: update Vietnamese translations for paged reading settings
2026-09-26 20:40:43 +05:30
github-actions[bot]
a0c20e209c
chore: Release v2.1.4
2026-09-26 07:14:58 +00:00
Rajarshee Chatterjee
648477931b
feat: Add Version and Build Information to Error Fallback
2026-09-26 11:05:34 +05:30
Palloxin
e42e8f66f2
fix: Improve Code Editor Newline Regex ( #2021 )
...
* Code Editor, New Lines regex improvement
* Update SimpleCodeEditor.tsx
2026-09-25 11:15:13 +05:30
Palloxin
de5358727a
fix: Restore Broken Preview to Previous State ( #2004 )
...
* Fix broken preview
* Optimized base64 image (reduced)
* fix image base64
2026-09-25 11:06:24 +05:30
Rajarshee Chatterjee
706459783f
feat: Add Optional Continue Reading Buttons To Library
2026-09-23 18:55:51 +05:30
Patrick Loser
1ca9a679cf
perf: Optimize Background Task Memory Usage and Lifecycle Management ( #2059 )
...
* fix: bound background task memory usage
* Fix background task cancellation and updates
* Update TaskActionReceiver.kt
2026-09-23 18:41:50 +05:30
Rajarshee Chatterjee
920f88aee4
fix: Resolve Jest CI Failures
2026-09-23 12:08:49 +05:30
Rajarshee Chatterjee
cef3ae5bdf
feat: Polish Statistics Screen Layout
2026-09-23 11:53:50 +05:30
Rajarshee Chatterjee
39c788e576
feat: Improve Genre Taxonomy Screen UX
2026-09-23 11:26:21 +05:30
Rajarshee Chatterjee
d40713ac99
feat: Improve Custom Code UX
2026-09-23 10:41:38 +05:30
Rajarshee Chatterjee
f53bed7190
chore: Update Translations ( #1981 )
...
* New translations strings.json (Romanian)
[ci skip]
[ci skip]
* New translations strings.json (French)
[ci skip]
[ci skip]
* New translations strings.json (Spanish)
[ci skip]
[ci skip]
* New translations strings.json (Afrikaans)
[ci skip]
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
[ci skip]
* New translations strings.json (Catalan)
[ci skip]
[ci skip]
* New translations strings.json (Czech)
[ci skip]
[ci skip]
* New translations strings.json (Danish)
[ci skip]
[ci skip]
* New translations strings.json (German)
[ci skip]
[ci skip]
* New translations strings.json (Greek)
[ci skip]
[ci skip]
* New translations strings.json (Finnish)
[ci skip]
[ci skip]
* New translations strings.json (Hebrew)
[ci skip]
[ci skip]
* New translations strings.json (Hungarian)
[ci skip]
[ci skip]
* New translations strings.json (Italian)
[ci skip]
[ci skip]
* New translations strings.json (Japanese)
[ci skip]
[ci skip]
* New translations strings.json (Korean)
[ci skip]
[ci skip]
* New translations strings.json (Dutch)
[ci skip]
[ci skip]
* New translations strings.json (Norwegian)
[ci skip]
[ci skip]
* New translations strings.json (Polish)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese)
[ci skip]
[ci skip]
* New translations strings.json (Russian)
[ci skip]
[ci skip]
* New translations strings.json (Albanian)
[ci skip]
[ci skip]
* New translations strings.json (Serbian (Cyrillic))
[ci skip]
[ci skip]
* New translations strings.json (Swedish)
[ci skip]
[ci skip]
* New translations strings.json (Turkish)
[ci skip]
[ci skip]
* New translations strings.json (Ukrainian)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Traditional)
[ci skip]
[ci skip]
* New translations strings.json (Vietnamese)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
[ci skip]
* New translations strings.json (Hindi)
[ci skip]
[ci skip]
* New translations strings.json (Assamese)
[ci skip]
[ci skip]
* New translations strings.json (Odia)
[ci skip]
[ci skip]
* New translations strings.json (Romanian)
[ci skip]
[ci skip]
* New translations strings.json (French)
[ci skip]
[ci skip]
* New translations strings.json (Spanish)
[ci skip]
[ci skip]
* New translations strings.json (Afrikaans)
[ci skip]
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
[ci skip]
* New translations strings.json (Catalan)
[ci skip]
[ci skip]
* New translations strings.json (Czech)
[ci skip]
[ci skip]
* New translations strings.json (Danish)
[ci skip]
[ci skip]
* New translations strings.json (German)
[ci skip]
[ci skip]
* New translations strings.json (Greek)
[ci skip]
[ci skip]
* New translations strings.json (Finnish)
[ci skip]
[ci skip]
* New translations strings.json (Hebrew)
[ci skip]
[ci skip]
* New translations strings.json (Hungarian)
[ci skip]
[ci skip]
* New translations strings.json (Italian)
[ci skip]
[ci skip]
* New translations strings.json (Japanese)
[ci skip]
[ci skip]
* New translations strings.json (Korean)
[ci skip]
[ci skip]
* New translations strings.json (Dutch)
[ci skip]
[ci skip]
* New translations strings.json (Norwegian)
[ci skip]
[ci skip]
* New translations strings.json (Polish)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese)
[ci skip]
[ci skip]
* New translations strings.json (Russian)
[ci skip]
[ci skip]
* New translations strings.json (Albanian)
[ci skip]
[ci skip]
* New translations strings.json (Serbian (Cyrillic))
[ci skip]
[ci skip]
* New translations strings.json (Swedish)
[ci skip]
[ci skip]
* New translations strings.json (Turkish)
[ci skip]
[ci skip]
* New translations strings.json (Ukrainian)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Traditional)
[ci skip]
[ci skip]
* New translations strings.json (Vietnamese)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
[ci skip]
* New translations strings.json (Hindi)
[ci skip]
[ci skip]
* New translations strings.json (Assamese)
[ci skip]
[ci skip]
* New translations strings.json (Odia)
[ci skip]
[ci skip]
* New translations strings.json (Romanian)
[ci skip]
[ci skip]
* New translations strings.json (French)
[ci skip]
[ci skip]
* New translations strings.json (Spanish)
[ci skip]
[ci skip]
* New translations strings.json (Afrikaans)
[ci skip]
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
[ci skip]
* New translations strings.json (Catalan)
[ci skip]
[ci skip]
* New translations strings.json (Czech)
[ci skip]
[ci skip]
* New translations strings.json (Danish)
[ci skip]
[ci skip]
* New translations strings.json (German)
[ci skip]
[ci skip]
* New translations strings.json (Greek)
[ci skip]
[ci skip]
* New translations strings.json (Finnish)
[ci skip]
[ci skip]
* New translations strings.json (Hebrew)
[ci skip]
[ci skip]
* New translations strings.json (Hungarian)
[ci skip]
[ci skip]
* New translations strings.json (Italian)
[ci skip]
[ci skip]
* New translations strings.json (Japanese)
[ci skip]
[ci skip]
* New translations strings.json (Korean)
[ci skip]
[ci skip]
* New translations strings.json (Dutch)
[ci skip]
[ci skip]
* New translations strings.json (Norwegian)
[ci skip]
[ci skip]
* New translations strings.json (Polish)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese)
[ci skip]
[ci skip]
* New translations strings.json (Russian)
[ci skip]
[ci skip]
* New translations strings.json (Albanian)
[ci skip]
[ci skip]
* New translations strings.json (Serbian (Cyrillic))
[ci skip]
[ci skip]
* New translations strings.json (Swedish)
[ci skip]
[ci skip]
* New translations strings.json (Turkish)
[ci skip]
[ci skip]
* New translations strings.json (Ukrainian)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Traditional)
[ci skip]
[ci skip]
* New translations strings.json (Vietnamese)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
[ci skip]
* New translations strings.json (Hindi)
[ci skip]
[ci skip]
* New translations strings.json (Assamese)
[ci skip]
[ci skip]
* New translations strings.json (Odia)
[ci skip]
[ci skip]
* New translations strings.json (Korean)
[ci skip]
[ci skip]
* New translations strings.json (Korean)
[ci skip]
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
[ci skip]
* New translations strings.json (Romanian)
[ci skip]
[ci skip]
* New translations strings.json (French)
[ci skip]
[ci skip]
* New translations strings.json (Spanish)
[ci skip]
[ci skip]
* New translations strings.json (Afrikaans)
[ci skip]
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
[ci skip]
* New translations strings.json (Catalan)
[ci skip]
[ci skip]
* New translations strings.json (Czech)
[ci skip]
[ci skip]
* New translations strings.json (Danish)
[ci skip]
[ci skip]
* New translations strings.json (German)
[ci skip]
[ci skip]
* New translations strings.json (Greek)
[ci skip]
[ci skip]
* New translations strings.json (Finnish)
[ci skip]
[ci skip]
* New translations strings.json (Hebrew)
[ci skip]
[ci skip]
* New translations strings.json (Hungarian)
[ci skip]
[ci skip]
* New translations strings.json (Italian)
[ci skip]
[ci skip]
* New translations strings.json (Japanese)
[ci skip]
[ci skip]
* New translations strings.json (Dutch)
[ci skip]
[ci skip]
* New translations strings.json (Norwegian)
[ci skip]
[ci skip]
* New translations strings.json (Polish)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese)
[ci skip]
[ci skip]
* New translations strings.json (Russian)
[ci skip]
[ci skip]
* New translations strings.json (Albanian)
[ci skip]
[ci skip]
* New translations strings.json (Serbian (Cyrillic))
[ci skip]
[ci skip]
* New translations strings.json (Swedish)
[ci skip]
[ci skip]
* New translations strings.json (Turkish)
[ci skip]
[ci skip]
* New translations strings.json (Ukrainian)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Traditional)
[ci skip]
[ci skip]
* New translations strings.json (Vietnamese)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
[ci skip]
* New translations strings.json (Hindi)
[ci skip]
[ci skip]
* New translations strings.json (Assamese)
[ci skip]
[ci skip]
* New translations strings.json (Odia)
[ci skip]
[ci skip]
* New translations strings.json (Korean)
[ci skip]
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
[ci skip]
* New translations strings.json (Romanian)
[ci skip]
[ci skip]
* New translations strings.json (French)
[ci skip]
[ci skip]
* New translations strings.json (Spanish)
[ci skip]
[ci skip]
* New translations strings.json (Afrikaans)
[ci skip]
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
[ci skip]
* New translations strings.json (Catalan)
[ci skip]
[ci skip]
* New translations strings.json (Czech)
[ci skip]
[ci skip]
* New translations strings.json (Danish)
[ci skip]
[ci skip]
* New translations strings.json (German)
[ci skip]
[ci skip]
* New translations strings.json (Greek)
[ci skip]
[ci skip]
* New translations strings.json (Finnish)
[ci skip]
[ci skip]
* New translations strings.json (Hebrew)
[ci skip]
[ci skip]
* New translations strings.json (Hungarian)
[ci skip]
[ci skip]
* New translations strings.json (Italian)
[ci skip]
[ci skip]
* New translations strings.json (Japanese)
[ci skip]
[ci skip]
* New translations strings.json (Dutch)
[ci skip]
[ci skip]
* New translations strings.json (Norwegian)
[ci skip]
[ci skip]
* New translations strings.json (Polish)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese)
[ci skip]
[ci skip]
* New translations strings.json (Russian)
[ci skip]
[ci skip]
* New translations strings.json (Albanian)
[ci skip]
[ci skip]
* New translations strings.json (Serbian (Cyrillic))
[ci skip]
[ci skip]
* New translations strings.json (Swedish)
[ci skip]
[ci skip]
* New translations strings.json (Turkish)
[ci skip]
[ci skip]
* New translations strings.json (Ukrainian)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Traditional)
[ci skip]
[ci skip]
* New translations strings.json (Vietnamese)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
[ci skip]
* New translations strings.json (Hindi)
[ci skip]
[ci skip]
* New translations strings.json (Assamese)
[ci skip]
[ci skip]
* New translations strings.json (Odia)
[ci skip]
[ci skip]
* New translations strings.json (Swedish)
[ci skip]
[ci skip]
* New translations strings.json (Korean)
[ci skip]
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
[ci skip]
* New translations strings.json (Romanian)
[ci skip]
[ci skip]
* New translations strings.json (French)
[ci skip]
[ci skip]
* New translations strings.json (Spanish)
[ci skip]
[ci skip]
* New translations strings.json (Afrikaans)
[ci skip]
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
[ci skip]
* New translations strings.json (Catalan)
[ci skip]
[ci skip]
* New translations strings.json (Czech)
[ci skip]
[ci skip]
* New translations strings.json (Danish)
[ci skip]
[ci skip]
* New translations strings.json (German)
[ci skip]
[ci skip]
* New translations strings.json (Greek)
[ci skip]
[ci skip]
* New translations strings.json (Finnish)
[ci skip]
[ci skip]
* New translations strings.json (Hebrew)
[ci skip]
[ci skip]
* New translations strings.json (Hungarian)
[ci skip]
[ci skip]
* New translations strings.json (Italian)
[ci skip]
[ci skip]
* New translations strings.json (Japanese)
[ci skip]
[ci skip]
* New translations strings.json (Dutch)
[ci skip]
[ci skip]
* New translations strings.json (Norwegian)
[ci skip]
[ci skip]
* New translations strings.json (Polish)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese)
[ci skip]
[ci skip]
* New translations strings.json (Russian)
[ci skip]
[ci skip]
* New translations strings.json (Albanian)
[ci skip]
[ci skip]
* New translations strings.json (Serbian (Cyrillic))
[ci skip]
[ci skip]
* New translations strings.json (Swedish)
[ci skip]
[ci skip]
* New translations strings.json (Turkish)
[ci skip]
[ci skip]
* New translations strings.json (Ukrainian)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Traditional)
[ci skip]
[ci skip]
* New translations strings.json (Vietnamese)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
[ci skip]
* New translations strings.json (Hindi)
[ci skip]
[ci skip]
* New translations strings.json (Assamese)
[ci skip]
[ci skip]
* New translations strings.json (Odia)
[ci skip]
[ci skip]
* fix: Restore Overwritten Locale Translations
* New translations strings.json (Romanian)
[ci skip]
[ci skip]
* New translations strings.json (French)
[ci skip]
[ci skip]
* New translations strings.json (Spanish)
[ci skip]
[ci skip]
* New translations strings.json (Afrikaans)
[ci skip]
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
[ci skip]
* New translations strings.json (Catalan)
[ci skip]
[ci skip]
* New translations strings.json (Czech)
[ci skip]
[ci skip]
* New translations strings.json (Korean)
[ci skip]
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
[ci skip]
* New translations strings.json (Danish)
[ci skip]
[ci skip]
* New translations strings.json (German)
[ci skip]
[ci skip]
* New translations strings.json (Greek)
[ci skip]
[ci skip]
* New translations strings.json (Finnish)
[ci skip]
[ci skip]
* New translations strings.json (Hebrew)
[ci skip]
[ci skip]
* New translations strings.json (Hungarian)
[ci skip]
[ci skip]
* New translations strings.json (Italian)
[ci skip]
[ci skip]
* New translations strings.json (Japanese)
[ci skip]
[ci skip]
* New translations strings.json (Dutch)
[ci skip]
[ci skip]
* New translations strings.json (Norwegian)
[ci skip]
[ci skip]
* New translations strings.json (Polish)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese)
[ci skip]
[ci skip]
* New translations strings.json (Russian)
[ci skip]
[ci skip]
* New translations strings.json (Albanian)
[ci skip]
[ci skip]
* New translations strings.json (Serbian (Cyrillic))
[ci skip]
[ci skip]
* New translations strings.json (Swedish)
[ci skip]
[ci skip]
* New translations strings.json (Turkish)
[ci skip]
[ci skip]
* New translations strings.json (Ukrainian)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Traditional)
[ci skip]
[ci skip]
* New translations strings.json (Vietnamese)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
[ci skip]
* New translations strings.json (Hindi)
[ci skip]
[ci skip]
* New translations strings.json (Assamese)
[ci skip]
[ci skip]
* New translations strings.json (Odia)
[ci skip]
[ci skip]
* New translations strings.json (Spanish)
[ci skip]
[ci skip]
* New translations strings.json (Greek)
[ci skip]
[ci skip]
* New translations strings.json (Russian)
[ci skip]
[ci skip]
* fix: Restore Overwritten Locale Translations
2026-09-22 10:06:03 +05:30
Rajarshee Chatterjee
0b9c415681
fix: Prevent Chapter Drawer Blank Flash On Open ( Closes #2038 ) ( #2048 )
...
Opening the reader's chapter drawer flashed an empty panel before the
chapter list appeared, most visibly on slower devices.
Three things combined to cause it:
- The panel carried `backgroundColor: 'transparent'`, which overrode the
opaque default `react-native-drawer-layout` applies to its own
`styles.drawer`. Since `drawerStyle` is applied last in the panel's
style array, the panel had no background at all, so the reader showed
through it for every frame before the content painted. It now carries
the drawer's own `theme.surface`, matching what the content already
paints, so the panel is opaque from the first frame.
- The chapter list was mounted by the same handler that opened the
drawer, so the slide-in animation (UI thread) ran while the list was
still mounting and measuring (JS thread). The list is now mounted once
the chapter has loaded and interactions have settled, before the
drawer is first opened. A closed panel stays laid out -- it is only
translated off-screen -- so the list measures and renders its first
rows out of sight instead of during the animation.
- When the list mounted after the chapters arrived, it was scrolled to
the current chapter with an animation even though `initialScrollIndex`
had already placed it there, adding a second visible jump. That scroll
is now skipped on the initial mount and kept for later chapter
changes.
Claude-Session: https://claude.ai/code/session_01Et1ihq4SBUhfvxgWJisHTe
Co-authored-by: Claude <noreply@anthropic.com >
2026-09-22 09:15:02 +05:30
Rajarshee Chatterjee
38003c59e0
fix: Stop Bottom Nav Icons Trembling On Tab Press ( Closes #2041 ) ( #2047 )
...
The focused tab indicator animated `width` directly, which triggered layout every frame — Yoga's per-node pixel rounding then shifted the icon and label inconsistently as the width swept through fractional values, causing a visible tremble. Fixed by giving the icon a fixed-size box and animating the indicator via `scaleX` on an absolutely positioned sibling instead, since transforms don't trigger layout.
2026-09-22 08:23:58 +05:30
Rajarshee Chatterjee
f1119d8c30
feat: Add Always Ask Category Selection ( Closes #537 )
2026-09-16 10:14:29 +05:30
Rajarshee Chatterjee
a5e2b4d4f0
feat: Add Crash Log Collection And Sharing ( Closes #11 )
2026-09-15 14:16:51 +05:30
Rajarshee Chatterjee
a12cba030d
fix: Skip Dash-Only TTS Dividers
2026-09-15 13:38:39 +05:30
Rajarshee Chatterjee
56d1140aad
chore: Require Issue Templates
2026-09-14 08:44:15 +05:30
Rajarshee Chatterjee
0379141304
feat: Add Individual Task Cancellation ( Closes #1985 )
2026-09-11 18:41:51 +05:30
Rajarshee Chatterjee
b6e9f7157d
chore: Rename Feature Request Label
2026-09-08 07:03:28 +05:30
Rajarshee Chatterjee
edb3df719f
fix: Repair Invalid Default Category Names ( Closes #2031 )
2026-09-07 22:25:31 +05:30
Rajarshee Chatterjee
9bde3df74d
fix: Prevent Novel Screen Empty State Flash ( Closes #2034 )
2026-09-07 21:13:47 +05:30
Rajarshee Chatterjee
2426e6fe3e
chore: Lowercase Issue Template Labels
2026-09-07 20:49:59 +05:30
Rajarshee Chatterjee
93209abebd
fix: Make Backup Restore Non-Destructive ( Closes #2026 )
2026-09-07 20:43:20 +05:30
Claude
158786ccd5
fix: Prevent Crash in parseChapterNumber When Chapter or Novel Name Is Missing
...
Guards against undefined/null chapterName and novelName so
parseChapterNumber no longer throws "Cannot read property
'toLowerCase' of undefined" when rendering the Updates screen.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011WW3AHpNPxoRVsbAMVRX6T
2026-09-02 19:15:46 +00:00
Patrick Loser
77be5624f2
feat: Add URL Novel Search and Intent-Based Novel Opening ( #1987 )
...
* Add native share intent handling module
* Handle shared URLs via intent handler
* i18n: add global search and novel error strings
Generated with omp (AI coding agent)
* novel store: track bootstrap failures as user-facing errors
Bootstrap failures no longer surface raw plugin/DB errors; missing novels map to a custom not-found message. Generated with omp (AI coding agent)
* novel screen: render error view when bootstrap fails
Shows a custom error with a back action instead of a blank screen, and hides the appbar actions in the error state. Generated with omp (AI coding agent)
* global search: never auto-navigate or search URL text
URLs are handled by the screen's explicit submit flow; navigation and search stay out of the hook. Generated with omp (AI coding agent)
* global search: add animated open-novel FAB with clipboard offer
Submit or FAB tap opens a matching URL's novel; unmatched URLs toast. The FAB floats above the keyboard via keyboard-controller and slides in from the right. Generated with omp (AI coding agent)
* fix review issues
* fix rebase issue
2026-09-01 18:59:32 +05:30
Rajarshee Chatterjee
4b580c90ef
fix: Prevent TTS From Speaking Surrounding Quotes ( Closes #2008 )
2026-08-29 11:41:59 +05:30
github-actions[bot]
cb1a5d9e82
chore: Release v2.1.3
2026-08-22 06:13:17 +00:00
Mohammad
7e20f7dccb
feat: Increase Maximum Reader Text Size from 20 to 50 ( #1998 )
...
Increased maximum text size limit in Reader component, and settings page
2026-08-22 08:55:41 +05:30
Rajarshee Chatterjee
0fab0143b1
fix: Prevent Large EPUB Stalls And Optimize Imports
...
Closes #1932
Closes #2005
2026-08-22 08:41:48 +05:30
Rajarshee Chatterjee
5a0717d2c7
fix: Prevent Duplicate TTS Text From Nested Formatting ( Closes #1994 )
2026-08-18 11:50:06 +05:30
Patrick Loser
09652f9962
fix: Refetch Library After Category Update ( #1988 )
...
Add tests covering NovelScreenButtonGroup category assignment
flows to ensure the library is refreshed and the novel state
is updated when needed.
2026-08-18 09:28:07 +05:30
Rajarshee Chatterjee
eef58f212f
fix: Support Namespace-Prefixed EPUB Imports
2026-08-17 21:16:29 +05:30
Rajarshee Chatterjee
523aa90c19
fix: Include Novel Covers In Library Backups ( Closes #1983 )
2026-08-16 12:48:54 +05:30
Ahjie521
eb310f7821
feat: Add Empty Chapter Refresh in Reader ( #1978 )
...
* feat(reader): swipe down to re-fetch a chapter, never cache empty responses
- pull down at the top of a chapter to re-fetch it, recovering from
transient empty responses without leaving the reader
- empty responses are evicted from the chapter cache so a refresh
re-fetches instead of replaying the empty message
- add a refresh button to the reader's bottom bar and a 'Refresh
chapter' link on the empty-chapter message
- register the typescript-eslint plugin and ignore assets/ in the
eslint flat config so lint-staged can lint core.js
* feat(reader): move refresh option to appbar menu
2026-08-16 07:36:41 +05:30
Patrick Loser
af2a224781
fix: Novel Screen Scroll Lag, Source Pagination Stalls, and Skeleton Overlap ( #1971 )
...
* fix
* Update pnpm-lock.yaml
* fix tests
2026-08-16 07:34:17 +05:30
Rajarshee Chatterjee
990cd4f2eb
fix: Upgrade WorkManager for Repeated Library Updates ( Closes #1972 )
2026-08-11 15:58:51 +05:30
Rajarshee Chatterjee
3ac611f633
fix: Normalize EPUB SVG Images in Nitro Module ( Closes #1622 )
2026-08-11 14:51:50 +05:30
Rajarshee Chatterjee
909504a721
feat: Add Repository Enable And Disable Controls ( Closes #1628 )
2026-08-11 13:50:25 +05:30
Rajarshee Chatterjee
63349de1bb
fix: Select All Chapters Across Lazy-Loaded Batches ( Closes #1960 )
2026-08-11 11:58:18 +05:30
Rajarshee Chatterjee
c6679b7f41
fix: Draw Content Behind Android Navigation Bar ( Closes #1260 )
2026-08-11 11:53:03 +05:30
Ahjie521
15560b67b1
fix: Pass Plugin imageRequestInit Headers to Novel Detail Cover ( #1977 )
...
The novel detail header rendered its cover with a bare { uri } source,
so plugins whose cover CDN requires request headers (e.g. RanobeLib's
cover.cdnlibs.org, which 403s without a Referer) showed no cover on the
novel detail screen even though covers worked in browse/library lists.
Mirror the LibraryListView pattern: fetch getPlugin(novel.pluginId)?
.imageRequestInit and attach its headers to the cover source.
2026-08-11 08:26:12 +05:30
Alvan Noah
7883b28cd9
fix: Stop TTS During Incoming and Outgoing Phone Calls ( #1976 )
...
fix: TTS continues playing during incoming and outgoing phone calls
Implement audio focus handling for TTS playback on Android, including support for request and abandonment during playback and transient interruptions.
Closes #1975
2026-08-11 08:01:55 +05:30
Patrick Loser
64707409bb
feat: Create Dedicated Custom Code Settings Page V2 ( #1902 )
...
* init
* text modification without webview rerender
* Fix SettingsReaderScreen
* remove unneeded
* solve ts issue
* add tests
* Add KeyboardProvider
* Update SimpleCodeEditor.tsx
* fix ts error
* add types package
* reworked SimpleCodeEditor
* Preserve highlightmode
* Update SimpleCodeEditor.tsx
* performance improvement
* simplified
* fix tsc
* fix alignment issues
* load current snippet into example view
* Merge branch 'master' into custom-code-clean
* fix type + lint
* Resolve can't read property id of undefined error
---------
Co-authored-by: Rajarshee Chatterjee <rajarshee.adm@gmail.com >
2026-08-11 07:09:52 +05:30
Rajarshee Chatterjee
7f1f76408b
docs: Add AGENTS.md with Agent Setup, Commands, and Conventions ( #1974 )
2026-08-10 09:17:43 +05:30
Rajarshee Chatterjee
51560195ba
fix: Soften Skeleton Loading Colors ( Closes #1964 )
2026-08-10 08:25:10 +05:30
Rajarshee Chatterjee
084dcccabc
fix: Match Chapter Drawer Read Color ( Closes #1973 )
...
[skip ci]
2026-08-10 08:17:22 +05:30
Rajarshee Chatterjee
3ad6e372fd
fix: Correct Translation Strings Across Locales
2026-08-10 08:16:32 +05:30
Ali
179feb56ee
fix: Include All Chapters Beyond the 1000-Row UI Limit ( #1938 )
...
* chapter backup and restore fix
* Update .gitignore
Co-authored-by: Rajarshee Chatterjee <rajarshee.adm@gmail.com >
* test: update backup mocks for getAllNovelChaptersForBackup
---------
Co-authored-by: Rajarshee Chatterjee <rajarshee.adm@gmail.com >
2026-08-09 16:28:12 +05:30
Patrick Loser
67e01bc2df
fix: Resolve Stats Screen Logic Issue ( #1968 )
...
* fix genre distribution
* add tests
* open edit dialog when creatig new taxonomy category
2026-08-08 16:28:12 +05:30
Patrick Loser
3ece098b94
perf: Optimize APK Size ( #1969 )
...
* optimize android build
* update lodash imports
* remove react-navigation/stack
* remove flash-list
2026-08-08 16:24:07 +05:30
Patrick Loser
586e085141
fix: Resolve Migration Crash ( #1967 )
...
init
2026-08-08 15:38:25 +05:30
Rajarshee Chatterjee
e0c89cdd9f
fix: Neutralize Skeleton Loading Colors
2026-08-05 07:07:20 +05:30
Rajarshee Chatterjee
3bf025108a
fix: Restore Indonesian Translations
2026-08-05 06:05:03 +05:30
Rajarshee Chatterjee
f69e5d6a7e
chore: Update Translations ( #1934 )
...
* New translations strings.json (French)
[ci skip]
[ci skip]
* New translations strings.json (Spanish)
[ci skip]
[ci skip]
* New translations strings.json (Afrikaans)
[ci skip]
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
[ci skip]
* New translations strings.json (Catalan)
[ci skip]
[ci skip]
* New translations strings.json (Czech)
[ci skip]
[ci skip]
* New translations strings.json (Danish)
[ci skip]
[ci skip]
* New translations strings.json (German)
[ci skip]
[ci skip]
* New translations strings.json (Greek)
[ci skip]
[ci skip]
* New translations strings.json (Finnish)
[ci skip]
[ci skip]
* New translations strings.json (Hebrew)
[ci skip]
[ci skip]
* New translations strings.json (Hungarian)
[ci skip]
[ci skip]
* New translations strings.json (Italian)
[ci skip]
[ci skip]
* New translations strings.json (Japanese)
[ci skip]
[ci skip]
* New translations strings.json (Korean)
[ci skip]
[ci skip]
* New translations strings.json (Dutch)
[ci skip]
[ci skip]
* New translations strings.json (Norwegian)
[ci skip]
[ci skip]
* New translations strings.json (Polish)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese)
[ci skip]
[ci skip]
* New translations strings.json (Russian)
[ci skip]
[ci skip]
* New translations strings.json (Albanian)
[ci skip]
[ci skip]
* New translations strings.json (Serbian (Cyrillic))
[ci skip]
[ci skip]
* New translations strings.json (Swedish)
[ci skip]
[ci skip]
* New translations strings.json (Turkish)
[ci skip]
[ci skip]
* New translations strings.json (Ukrainian)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Traditional)
[ci skip]
[ci skip]
* New translations strings.json (Vietnamese)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
[ci skip]
* New translations strings.json (Hindi)
[ci skip]
[ci skip]
* New translations strings.json (Assamese)
[ci skip]
[ci skip]
* New translations strings.json (Odia)
[ci skip]
[ci skip]
* New translations strings.json (Romanian)
[ci skip]
[ci skip]
* New translations strings.json (French)
[ci skip]
[ci skip]
* New translations strings.json (Spanish)
[ci skip]
[ci skip]
* New translations strings.json (Afrikaans)
[ci skip]
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
[ci skip]
* New translations strings.json (Catalan)
[ci skip]
[ci skip]
* New translations strings.json (Czech)
[ci skip]
[ci skip]
* New translations strings.json (Danish)
[ci skip]
[ci skip]
* New translations strings.json (German)
[ci skip]
[ci skip]
* New translations strings.json (Greek)
[ci skip]
[ci skip]
* New translations strings.json (Finnish)
[ci skip]
[ci skip]
* New translations strings.json (Hebrew)
[ci skip]
[ci skip]
* New translations strings.json (Hungarian)
[ci skip]
[ci skip]
* New translations strings.json (Italian)
[ci skip]
[ci skip]
* New translations strings.json (Japanese)
[ci skip]
[ci skip]
* New translations strings.json (Korean)
[ci skip]
[ci skip]
* New translations strings.json (Dutch)
[ci skip]
[ci skip]
* New translations strings.json (Norwegian)
[ci skip]
[ci skip]
* New translations strings.json (Polish)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese)
[ci skip]
[ci skip]
* New translations strings.json (Russian)
[ci skip]
[ci skip]
* New translations strings.json (Albanian)
[ci skip]
[ci skip]
* New translations strings.json (Serbian (Cyrillic))
[ci skip]
[ci skip]
* New translations strings.json (Swedish)
[ci skip]
[ci skip]
* New translations strings.json (Turkish)
[ci skip]
[ci skip]
* New translations strings.json (Ukrainian)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Traditional)
[ci skip]
[ci skip]
* New translations strings.json (Vietnamese)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
[ci skip]
* New translations strings.json (Hindi)
[ci skip]
[ci skip]
* New translations strings.json (Assamese)
[ci skip]
[ci skip]
* New translations strings.json (Odia)
[ci skip]
[ci skip]
* New translations strings.json (Romanian)
[ci skip]
[ci skip]
2026-08-05 05:37:25 +05:30
Rajarshee Chatterjee
a727c229ca
fix: Optimize Novel Counter Migration
2026-08-05 05:32:58 +05:30
Rajarshee Chatterjee
57eca11a9e
fix: Pass Library Status Through Novel Navigation
2026-08-04 22:06:05 +05:30
Rajarshee Chatterjee
197d8670f8
fix: Resolve EPUB Cover Document Imports ( Closes #1948 )
2026-08-04 20:49:38 +05:30
Rajarshee Chatterjee
675f19ef90
fix: Make Update Chapters Reactive and Remove Display Limit ( Closes #1953 )
2026-08-04 20:25:19 +05:30
Rajarshee Chatterjee
8a12529ba8
fix: Prevent Update Clearing From Freezing App ( Closes #1955 )
2026-08-04 19:52:11 +05:30
Rajarshee Chatterjee
c3482a8510
fix: Resolve Nitro EPUB Jest Alias
2026-08-04 19:41:27 +05:30
Rajarshee Chatterjee
e4246dee59
fix: Replace EPUB Exports Atomically With NativeFile ( Closes #1954 )
2026-08-04 19:32:12 +05:30
Rajarshee Chatterjee
23f9b183be
fix: Refresh Updates Screen on Focus ( Closes #1956 )
2026-08-04 19:13:05 +05:30
Rajarshee Chatterjee
1eb8c587c7
fix: Prevent Library From Remaining in Loading State
2026-08-04 18:45:16 +05:30
Rajarshee Chatterjee
c3b75ebeb2
fix: Migrate Plugin Bundles to Reliable Internal Storage
...
Closes #1907
2026-08-04 16:34:19 +05:30
Rajarshee Chatterjee
91358ad3dd
fix: Support All EPUB Image Formats ( Closes #1946 )
2026-08-04 10:59:53 +05:30
Rajarshee Chatterjee
13885320ae
fix: Add Novels To Library When Setting Categories ( Closes #1945 )
2026-08-03 22:59:14 +05:30
Rajarshee Chatterjee
b9d1abcf27
fix: Refresh Library Download Counts After Deletion
2026-08-03 20:56:05 +05:30
Rajarshee Chatterjee
c3260e8e01
fix: Resolve Chapter Download Queue and Removal Issues ( Closes #1937 )
2026-08-01 17:10:29 +05:30
Rajarshee Chatterjee
c0877a9b06
feat: Add Ignorable App Update Notifications
...
Closes #600
Closes #1632
2026-08-01 12:06:28 +05:30
Patrick Loser
96fb52df17
feat: Enhance Stats With Genre Taxonomy and Charts ( #1919 )
...
* Add react-native-svg and refresh stats UI
Normalize status counts, add donut chart with legend, and improve bars
* Add genre stats screen and taxonomy link
* Update StatsQueries.test.ts
* change genre taxonomy style
* Use LegendList instead of ScrollView
* added more colors to chart
* Add Highlight animation
* Add ChartLegend animation
* Maintainance
* updated stats queries
* Added animations to collapsibles and optimized performance
* Extract tabs
* update time tracking tab
2026-08-01 11:31:03 +05:30
Rajarshee Chatterjee
76106317b6
fix: Restore Midnight Dusk Chip Contrast ( Closes #1939 )
2026-07-31 08:11:08 +05:30
K1ngfish3r
e75f4fba5d
feat: Add More Novel Statuses and Icons ( #1931 )
...
add more novelStatus and icons
2026-07-29 22:30:20 +05:30
Rajarshee Chatterjee
4dc933ee5a
fix: Remove White Flash During Screen Transitions ( Closes #1926 ) ( #1927 )
...
`AppTheme` never set `android:windowBackground`, so it was inherited from
`Theme.AppCompat.DayNight.NoActionBar` and resolved to a near-white colour
whenever the system was in light mode — independently of the theme picked
inside the app. Nothing between that window and the navigators painted a
background of its own: the root view, `GestureHandlerRootView` and
`SafeAreaProvider` are all transparent, and only the individual screens carry
`contentStyle`. Any frame in which no screen was drawn — mounting a nested
navigator such as `MoreStack` or `ReaderStack`, or freezing the screen being
left — therefore showed the white window through.
Paint the root view with the active theme background so the window stays
covered, and give `AppTheme` a day/night `android:windowBackground` so the
frames before React draws are themed as well. The chapter screen additionally
uses the reader background instead of the app background, so pushing it no
longer flashes the app theme before the reader appears.
Claude-Session: https://claude.ai/code/session_014uxuC7JVkShhWnN1WhkTaH
Co-authored-by: Claude <noreply@anthropic.com >
2026-07-29 21:27:22 +05:30
Rajarshee Chatterjee
bfb12b04aa
feat: Add Configurable Automatic Backup Scheduling
2026-07-29 21:20:19 +05:30
Patrick Loser
b7639ab55a
feat: Upload JavaScript Source Maps ( #1924 )
...
* init
* fix paths
* add hermes flag
2026-07-29 20:58:00 +05:30
github-actions[bot]
ecc5b84a64
chore: Release v2.1.2
2026-07-29 10:17:01 +00:00
Rajarshee Chatterjee
eb12bdfd62
fix: Prevent Novel Genre Rendering Crashes
2026-07-29 15:44:44 +05:30
Rajarshee Chatterjee
9612bf6f89
chore: Update Translations ( #1928 )
...
* New translations strings.json (French)
[ci skip]
[ci skip]
* New translations strings.json (Spanish)
[ci skip]
[ci skip]
* New translations strings.json (Afrikaans)
[ci skip]
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
[ci skip]
* New translations strings.json (Catalan)
[ci skip]
[ci skip]
* New translations strings.json (Czech)
[ci skip]
[ci skip]
* New translations strings.json (Danish)
[ci skip]
[ci skip]
* New translations strings.json (German)
[ci skip]
[ci skip]
* New translations strings.json (Greek)
[ci skip]
[ci skip]
* New translations strings.json (Finnish)
[ci skip]
[ci skip]
* New translations strings.json (Hebrew)
[ci skip]
[ci skip]
* New translations strings.json (Hungarian)
[ci skip]
[ci skip]
* New translations strings.json (Italian)
[ci skip]
[ci skip]
* New translations strings.json (Japanese)
[ci skip]
[ci skip]
* New translations strings.json (Korean)
[ci skip]
[ci skip]
* New translations strings.json (Dutch)
[ci skip]
[ci skip]
* New translations strings.json (Norwegian)
[ci skip]
[ci skip]
* New translations strings.json (Polish)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese)
[ci skip]
[ci skip]
* New translations strings.json (Russian)
[ci skip]
[ci skip]
* New translations strings.json (Albanian)
[ci skip]
[ci skip]
* New translations strings.json (Serbian (Cyrillic))
[ci skip]
[ci skip]
* New translations strings.json (Swedish)
[ci skip]
[ci skip]
* New translations strings.json (Turkish)
[ci skip]
[ci skip]
* New translations strings.json (Ukrainian)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Traditional)
[ci skip]
[ci skip]
* New translations strings.json (Vietnamese)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
[ci skip]
* New translations strings.json (Hindi)
[ci skip]
[ci skip]
* New translations strings.json (Assamese)
[ci skip]
[ci skip]
* New translations strings.json (Odia)
[ci skip]
[ci skip]
2026-07-29 14:36:36 +05:30
Rajarshee Chatterjee
0ed7d878b4
fix: Prevent White Reader Drawer Seam
2026-07-29 14:21:59 +05:30
Rajarshee Chatterjee
5f45e4c7f2
fix: Recover Interrupted Chapter Migrations
2026-07-28 20:36:59 +05:30
Rajarshee Chatterjee
ca24671a2f
fix: Support Fork-Safe Preview Builds
2026-07-28 15:38:09 +05:30
Rajarshee Chatterjee
ee3a4f20bc
fix: Preserve Default Category After Reordering ( Closes #1922 )
2026-07-28 14:46:03 +05:30
Rajarshee Chatterjee
0c3542836c
fix: Synchronize Library Updates And Optimize Import Refreshes
2026-07-28 14:46:03 +05:30
Patrick Loser
f71c9c8594
fix: Ignore Discord Notifications Outside the Main Repository ( #1923 )
2026-07-28 14:30:52 +05:30
github-actions[bot]
f53546cc01
chore: Release v2.1.1
2026-07-28 04:28:46 +00:00
Rajarshee Chatterjee
594b078fad
fix: Harden Database Migration Recovery
2026-07-28 07:32:55 +05:30
Rajarshee Chatterjee
ac1b2f5ce4
feat: Add Durable Completion Notifications
2026-07-27 22:27:04 +05:30
Rajarshee Chatterjee
648d21062f
feat: Add Parallel Task Queues With Per-Plugin Download Limits
2026-07-27 22:15:02 +05:30
Rajarshee Chatterjee
89d715ce6b
docs: Replace Beta Badge With Build Preview Status
2026-07-27 21:54:45 +05:30
Rajarshee Chatterjee
bd527a02ef
feat: Improve Backup Selection, Notifications, And Plugin Restore
2026-07-27 20:03:03 +05:30
Rajarshee Chatterjee
11117c1b54
feat: Add GitHub-Style Embed For Nightly Notifications
2026-07-27 17:12:50 +05:30
Patrick Loser
ba25d5b8fe
feat: Add Rozenite DevTools Integration ( #1912 )
...
* add rozenite
* add opsqlite adapter
* fix lint
* Update scripts/generate-env-file.cjs
Co-authored-by: Rajarshee Chatterjee <rajarshee.adm@gmail.com >
---------
Co-authored-by: Rajarshee Chatterjee <rajarshee.adm@gmail.com >
2026-07-27 17:07:41 +05:30
Rajarshee Chatterjee
31cb4b994a
fix: Align Bottom Navigation With Material 3 Specs
2026-07-27 15:11:38 +05:30
Rajarshee Chatterjee
72ef618af1
fix: Preserve Existing Data During Novel Counter Migration
2026-07-27 15:06:36 +05:30
Rajarshee Chatterjee
936fd223bb
feat: Add Discord Notifications For Nightly Builds
2026-07-27 10:49:30 +05:30
Rajarshee Chatterjee
6d26438d2d
test: Update Expected Database Migrations
2026-07-27 08:47:32 +05:30
Rajarshee Chatterjee
5eb5a55c4c
fix: Repair Skipped Novel Counter Migrations
2026-07-27 08:41:55 +05:30
Rajarshee Chatterjee
6cd86d1422
chore: Update Translations ( #1906 )
...
* New translations strings.json (Romanian)
[ci skip]
[ci skip]
* New translations strings.json (French)
[ci skip]
[ci skip]
* New translations strings.json (Spanish)
[ci skip]
[ci skip]
* New translations strings.json (Afrikaans)
[ci skip]
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
[ci skip]
* New translations strings.json (Catalan)
[ci skip]
[ci skip]
* New translations strings.json (Czech)
[ci skip]
[ci skip]
* New translations strings.json (Danish)
[ci skip]
[ci skip]
* New translations strings.json (German)
[ci skip]
[ci skip]
* New translations strings.json (Greek)
[ci skip]
[ci skip]
* New translations strings.json (Finnish)
[ci skip]
[ci skip]
* New translations strings.json (Hebrew)
[ci skip]
[ci skip]
* New translations strings.json (Hungarian)
[ci skip]
[ci skip]
* New translations strings.json (Italian)
[ci skip]
[ci skip]
* New translations strings.json (Japanese)
[ci skip]
[ci skip]
* New translations strings.json (Korean)
[ci skip]
[ci skip]
* New translations strings.json (Dutch)
[ci skip]
[ci skip]
* New translations strings.json (Norwegian)
[ci skip]
[ci skip]
* New translations strings.json (Polish)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese)
[ci skip]
[ci skip]
* New translations strings.json (Russian)
[ci skip]
[ci skip]
* New translations strings.json (Albanian)
[ci skip]
[ci skip]
* New translations strings.json (Serbian (Cyrillic))
[ci skip]
[ci skip]
* New translations strings.json (Swedish)
[ci skip]
[ci skip]
* New translations strings.json (Turkish)
[ci skip]
[ci skip]
* New translations strings.json (Ukrainian)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
[ci skip]
* New translations strings.json (Chinese Traditional)
[ci skip]
[ci skip]
* New translations strings.json (Vietnamese)
[ci skip]
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
[ci skip]
* New translations strings.json (Hindi)
[ci skip]
[ci skip]
* New translations strings.json (Assamese)
[ci skip]
[ci skip]
* New translations strings.json (Odia)
[ci skip]
[ci skip]
2026-07-27 08:19:16 +05:30
Patrick Loser
9783c4d5e3
fix: Normalize Repository Back Navigation ( #1905 )
...
* remove useBackHandler
* Remove popToTop
2026-07-27 00:53:11 +05:30
github-actions[bot]
87f602a1fd
chore: Release v2.1.0
2026-07-26 17:41:31 +00:00
Rajarshee Chatterjee
3d32ddd6e9
fix: Improve Release Selection And APK Verification
2026-07-26 23:10:38 +05:30
Rajarshee Chatterjee
7ddd934c2b
fix: Handle Missing Tracker Client IDs
2026-07-26 22:46:23 +05:30
Rajarshee Chatterjee
b53c91f748
chore: Separate Jest And Type Check Workflows
2026-07-26 22:33:56 +05:30
Rajarshee Chatterjee
9d106a3716
feat: Add Semantic Version Bump Selection
2026-07-26 22:23:46 +05:30
Patrick Loser
8b0a8dc4c0
chore: Update Husky Pre-Commit and Pre-Push Hooks
2026-07-26 22:22:38 +05:30
Patrick Loser
72bfcad034
fix: Resolve Type and Lint Issues
2026-07-26 22:22:24 +05:30
Rajarshee Chatterjee
345d084eba
feat: Add Chapter Numbers To EPUB Titles ( Closes #1405 )
2026-07-26 21:07:04 +05:30
Rajarshee Chatterjee
10b6042a9c
feat: Add EPUB Export Progress Notifications
...
Closes #799
2026-07-26 20:53:25 +05:30
Rajarshee Chatterjee
bd71611725
feat: Improve Chapter Drawer And WebView App Bar
2026-07-26 20:26:34 +05:30
Rajarshee Chatterjee
8f53550d2c
fix: Restore Tracker Search Requests
2026-07-26 19:42:48 +05:30
Rajarshee Chatterjee
52914b978d
fix: Migrate Volume Button Events to Expo Listener API
2026-07-26 18:41:47 +05:30
Rajarshee Chatterjee
ff12759a66
ci: Run Preview Builds Daily When Missing
2026-07-26 18:35:45 +05:30
Rajarshee Chatterjee
e62868b82c
feat: Automate Draft Android Releases
...
[skip ci]
2026-07-26 18:27:18 +05:30
Rajarshee Chatterjee
97be48dfe1
feat: Add Migration Review Options
...
Closes #1037
Closes #937
2026-07-26 15:44:09 +05:30
Rajarshee Chatterjee
cbe7d70e2d
fix: Restore Collapsed TTS Button Interaction
...
[skip ci]
2026-07-26 15:08:02 +05:30
Rajarshee Chatterjee
6548e9a6f8
fix: Improve Paged Reader Layout and Performance
...
Closes #1721
2026-07-26 15:07:46 +05:30
Rajarshee Chatterjee
138fdff2e5
fix: Prevent Duplicate WebView Bottom Insets
...
Closes #1757
2026-07-26 14:35:44 +05:30
Rajarshee Chatterjee
f1dd4b77a8
feat: Improve Empty Chapter Reporting
...
[skip ci]
2026-07-26 14:19:37 +05:30
Rajarshee Chatterjee
9b356ffd17
fix: Preserve Client IDs And Improve Environment Generation
...
[skip ci]
2026-07-26 13:42:41 +05:30
Rajarshee Chatterjee
5cf7e15d76
feat: Add Reader Setting Descriptions
2026-07-26 12:59:53 +05:30
Rajarshee Chatterjee
6a7e90c179
fix: Align Advanced Reader Tabs And Localize Actions
2026-07-26 12:55:39 +05:30
Rajarshee Chatterjee
99c31d56bb
fix: Use MD3 Outline Variant For Tab Borders
2026-07-26 12:38:39 +05:30
Rajarshee Chatterjee
4d98247980
feat: Add Android DNS Over HTTPS Support
...
[skip ci]
Closes #478
2026-07-26 00:23:07 +05:30
Rajarshee Chatterjee
164f5d2592
feat: Add Automatic Library Update Scheduling
...
Closes #13
Closes #953
2026-07-25 20:48:37 +05:30
Rajarshee Chatterjee
89cddf9e3d
fix: Expand Discover Row Ripple
2026-07-25 20:34:30 +05:30
Rajarshee Chatterjee
eac6ad584e
feat: Improve Novel App Bar And EPUB Export UX
...
[skip ci]
2026-07-25 19:15:43 +05:30
Rajarshee Chatterjee
93fe04c28c
feat: Polish Reader Controls And Navigation
...
[skip ci]
2026-07-25 18:16:08 +05:30
Rajarshee Chatterjee
c9358b3a9f
feat: Update Android Branding Assets
2026-07-25 15:52:13 +05:30
Rajarshee Chatterjee
67d2c7c01b
feat: Add Collapsible TTS Controls And Stable Notification Progress
...
[skip ci]
2026-07-25 14:47:36 +05:30
Rajarshee Chatterjee
c30441b949
feat: Add Smart Library Update Filters
...
Closes #423
2026-07-25 14:29:41 +05:30
Rajarshee Chatterjee
6d2a9f8e15
fix: Prevent Slider Flicker After Release
2026-07-25 14:13:25 +05:30
Rajarshee Chatterjee
799845426c
feat: Add Parallel Library Updates Across Sources
2026-07-25 13:54:46 +05:30
Rajarshee Chatterjee
8ac628b3de
fix: Improve History Removal Flow.
...
[skip ci]
Closes #885
2026-07-25 13:47:26 +05:30
Rajarshee Chatterjee
d02291c22c
feat: Remember Last Used Library Category
...
[skip ci]
Closes #1026
2026-07-25 12:21:53 +05:30
Rajarshee Chatterjee
7af0911f5b
feat: Add High-Resolution Android Flavor Assets
...
[skip ci]
2026-07-25 11:54:21 +05:30
Rajarshee Chatterjee
098782d6aa
refactor: Simplify Settings Layout And Theme Selection
...
[skip ci]
2026-07-25 11:23:41 +05:30
Rajarshee Chatterjee
732628c40b
feat: Add Date Format And Relative Timestamp Settings.
...
Closes #834
2026-07-25 11:03:20 +05:30
Rajarshee Chatterjee
5e62c36a9b
feat: Add Library Settings And Category-Based Global Updates
...
Closes #381
Closes #1423
Closes #1444
2026-07-25 10:48:39 +05:30
Rajarshee Chatterjee
3d102a52a7
perf(reader): Cut Chapter Open Latency and Reading-Time Re-Renders ( #1899 )
...
[skip ci]
* perf(reader): Cut Chapter Open Latency and Reading-Time Re-Renders
Opening a chapter blocked the first paint on work that is not needed to
show text, and mounted several heavy subtrees while that work was running.
Load path (useChapter):
- Render the chapter as soon as its text is ready. Resolving the next and
previous chapter (two full-scan queries, plus a plugin page fetch over
the network at a page boundary) now runs after the chapter is on screen
and is pushed into the WebView instead of being baked into its HTML.
- Read downloaded chapters with a single native call instead of
exists() + readFile(), and start that read in parallel with the
database lookup instead of after it.
- Cache render-ready (sanitized) HTML, so prefetched chapters skip
sanitize-html entirely, and prefetch when the JS thread is idle rather
than in the middle of the current load.
- Drop failed loads from the cache so a retry actually retries.
- Guard every load with a generation id, keep getChapter and friends
referentially stable, and defer history/last-read writes off the
critical path.
Mounting:
- The chapter drawer (a list of every chapter) and the settings sheet
(a tab view that enumerates TTS engines and voices) are mounted on
first use instead of at reader open; the sheet's tabs are lazy.
- The loading skeleton shimmers its first lines only instead of
animating a full screen of gradient views.
While reading:
- Progress and mark-as-read writes keep the chapter array identity when
nothing changed, and a chapter is marked read (and pushed to the
tracker) once instead of on every progress report.
- Drawer rows are a memoized component with stable props, the drawer
stylesheet is memoized, and the WebView document is built once per
chapter instead of on every reader re-render.
Also fixes the drawer's loading branch, which compared a ref object to
undefined and was therefore unreachable, and guards page-reader
transitions against a not-yet-resolved neighbour.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Ac6DNTqrKqsQjbdMSmU3nm
* perf(reader): Stop Double-Parsing the Chapter and Cut Per-Frame Work
Follow-up to the previous pass, mostly inside the reader document itself.
Chapter open:
- The chapter body was written back into the DOM on every open. The
document already arrives with the chapter parsed, so unless bionic
reading or paragraph-spacing removal is on, that re-parsed and
re-laid-out the whole chapter (and restarted image loads) for nothing.
It now only writes when the transformed markup actually differs.
- The reading position was restored from `window.load` via
`document.fonts.ready`, both of which wait for every image in the
chapter - measured at ~1.5s with a single slow image, during which the
reader sat at the top of the chapter. It is now restored once the
chapter is parsed and styled (~100ms in the same scenario) with an
instant scroll, and corrected afterwards if fonts or images changed the
height - but only while the reader is still where it was put, so it
cannot yank the page from under someone already reading.
While reading:
- The scrollbar and the footer percentage each had their own unthrottled
scroll listener recomputing the same ratio; they now share one
listener coalesced to a frame. The footer clock no longer ticks state
when the footer is hidden.
- Reading time is persisted without rebuilding the in-memory chapter
list. It was rebuilt every few seconds for a field no screen renders -
the statistics screen aggregates it from the database - and on Fabric
react-navigation deliberately does not freeze the screen below the
focused one, so it re-rendered the novel screen's chapter list too.
- `hidden` moved into its own context. It flips on every tap on the page,
and a context value change re-renders all consumers, so the WebView,
drawer, appbar and searchbar were all re-rendering for a flag only the
reader screen reads.
- `openPage` no longer re-queries the chapter list when the requested
page is already open, which the drawer does on every mount.
Smaller: the battery level is read asynchronously instead of through two
synchronous native calls per chapter, the sanitizer options object is
built once instead of per chapter, the general settings tab draws its
dozen fixed rows directly instead of virtualising them, and the reader
settings hook stops allocating a new settings object per render.
Verified the document changes by loading the real reader assets in
Chromium: position restored before load, no body rewrite when no
transform applies, both scroll indicators driven by the shared listener,
progress still reported, transforms still applied and reverted, and the
post-load correction only firing on an untouched reader.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Ac6DNTqrKqsQjbdMSmU3nm
* perf(reader): Optimize Search Functionality with Caching and Batch Processing
---------
Co-authored-by: Claude <noreply@anthropic.com >
2026-07-25 10:47:58 +05:30
Rajarshee Chatterjee
4dcf213037
fix: Restore Reader Changes Reverted During Expo Migration
...
[skip ci]
2026-07-25 09:20:13 +05:30
Rajarshee Chatterjee
4de82472ee
fix: Resolve Require Cycles And LegendList Render Updates
2026-07-25 09:09:23 +05:30
Rajarshee Chatterjee
58db0352e6
fix: Restore Metro Reader Asset Middleware
2026-07-25 08:55:23 +05:30
Rajarshee Chatterjee
74808f086e
feat: Replace Legacy Media Controls with Nitro-Powered Playback ( #1896 )
...
* feat: Replace Legacy Media Controls with Nitro-Powered Playback
* feat: Add TTS Engine Selection
* chore: Remove User-Facing Error Reporting
* refactor: Combine `Tts` and `TtsSession` Imports from `nitro-tts` Module
---------
Co-authored-by: Claude <noreply@anthropic.com >
2026-07-24 23:42:17 +05:30
amir-rezaei
b96351ea81
docs: Fix Contraction and Missing Article in TESTING.md ( #1895 )
...
[skip ci]
* docs: fix trailing period, organization expansion, and comma in CONTRIBUTING.md
* docs: fix withoud typo in CONTRIBUTING-NIX.md
* docs: fix contraction and missing article in TESTING.md
---------
Co-authored-by: ferkans-amir <amir.rezaei@tu-berlin.de >
Co-authored-by: Rajarshee Chatterjee <rajarshee.adm@gmail.com >
2026-07-24 22:20:20 +05:30
amir-rezaei
eb8dc6df36
docs: Fix "Withoud" Typo in CONTRIBUTING-NIX.md ( #1894 )
...
[skip ci]
* docs: fix trailing period, organization expansion, and comma in CONTRIBUTING.md
* docs: fix withoud typo in CONTRIBUTING-NIX.md
---------
Co-authored-by: ferkans-amir <amir.rezaei@tu-berlin.de >
Co-authored-by: Rajarshee Chatterjee <rajarshee.adm@gmail.com >
2026-07-24 22:19:15 +05:30
Rajarshee Chatterjee
0c8546188e
feat: Add MD3 Slider Component.
2026-07-24 22:16:17 +05:30
Rajarshee Chatterjee
e9f6bdaa20
fix: Modernize Menu Styling And Outside-Tap Dismissal
2026-07-24 22:16:17 +05:30
Rajarshee Chatterjee
3d34658d0f
feat: Add Material 3 Top Tab Indicators
...
[skip ci]
2026-07-24 22:16:17 +05:30
amir-rezaei
d44ce7412a
docs: Fix Trailing Period, Organization Expansion, and Comma in CONTRIBUTING.md ( #1893 )
...
Co-authored-by: ferkans-amir <amir.rezaei@tu-berlin.de >
2026-07-24 20:22:03 +05:30
Rajarshee Chatterjee
17c891e133
refactor: Standardize Bottom Sheet UX and Styling
...
[skip ci]
2026-07-24 20:14:33 +05:30
Rajarshee Chatterjee
9805da63cf
refactor: Optimize Novel Screen Performance And Architecture
...
[skip ci]
2026-07-24 17:07:06 +05:30
Rajarshee Chatterjee
afc20277e0
fix: Restore Android Build Types For CI
2026-07-24 15:46:29 +05:30
amir-rezaei
14061d207b
docs: Fix Title Case Headings, GitHub Capitalization, and E.g. Formatting in CONTRIBUTING.md ( #1892 )
...
Co-authored-by: ferkans-amir <amir.rezaei@tu-berlin.de >
2026-07-24 15:19:37 +05:30
Rajarshee Chatterjee
916374b5df
refactor: Reorganize Repository Structure
...
[skip ci]
2026-07-24 15:13:50 +05:30
Rajarshee Chatterjee
0a2a6c96ca
feat: Add Variant-Specific Android Splash Screens
...
[skip ci]
2026-07-24 14:59:28 +05:30
Rajarshee Chatterjee
65e8610030
refactor: Replace Bottom Navigation Shift With Fade
...
[skip ci]
2026-07-24 13:40:41 +05:30
Rajarshee Chatterjee
1322065290
feat: Add Variant-Specific Android App Icons
2026-07-24 13:18:44 +05:30
Rajarshee Chatterjee
22a1efd1e5
perf: Optimize React Native Skeleton Loading Components
...
[skip ci]
2026-07-24 13:00:51 +05:30
Rajarshee Chatterjee
269606ebb8
fix: Resolve Nitro EPUB Import Alias
...
[skip ci]
2026-07-24 12:45:47 +05:30
Rajarshee Chatterjee
4cb1890b62
feat: Add Nitro EPUB Exporter
2026-07-24 12:30:43 +05:30
Rajarshee Chatterjee
a421177f0c
fix: Improve Category Badge Layout And Drag Reordering
...
[skip ci]
2026-07-24 11:23:59 +05:30
Rajarshee Chatterjee
a16ec87631
perf: Optimize Novel Covers, Lists, and Chapter Groups
2026-07-24 11:15:35 +05:30
Rajarshee Chatterjee
dfd620aa29
feat: Standardize Dialogs with Material 3 Patterns
2026-07-23 23:05:53 +05:30
Rajarshee Chatterjee
a5a6e8326f
chore: Update @legendapp/list to 3.3.3
2026-07-23 22:08:26 +05:30
Rajarshee Chatterjee
7f48a8ba82
refactor: Improve Plugins Screen UX and Code
2026-07-23 21:44:01 +05:30
Rajarshee Chatterjee
ae34d7b4ec
feat: Add Dynamic Preview APK Metadata
2026-07-23 10:07:36 +05:30
Rajarshee Chatterjee
44c8e54ed8
feat: Add Dynamic Material Theme Colors ( Closes #1863 )
2026-07-23 09:10:48 +05:30
Ecasept
4a4208e336
feat: Add Time-Tracking Toggle and Inactivity Timeout ( #1890 )
...
* feat: implement on-off switch and inactivity timeout for time-tracking
* chore: remove stray console.log
2026-07-23 09:10:14 +05:30
CD-Z
d2385b8dc2
Update build.yml
2026-07-23 00:08:46 +02:00
Rajarshee Chatterjee
9babe1676d
refactor: Remove React Native Background Actions Manifest Customization
2026-07-22 23:59:11 +05:30
Rajarshee Chatterjee
8c38f499e4
chore: Update AppState Test Setup And pnpm Configuration
2026-07-22 23:54:22 +05:30
Ecasept
89c43c1eef
feat: Implement Time Tracking and Statistics ( #1886 )
2026-07-22 23:30:38 +05:30
Patrick Loser
c3c891cea0
refactor: Migrate to Expo Managed Workflow ( #1885 )
...
* enable predictive back gesture
* upgrade to rn 85
* remove deprecated
* added timeout to theme switch
* fix plugin items hit registration
* fix SearchbarV2 hit registration
* fix loading spinner
* migrated to expo
* migrated to expo
* Fix reader footer animation
* working again
* added icons back
* added splashscreen
* clean up
* nitro epub
* fix
* remove .env.local from git tracking
* fix rn background actions not working
* moving custom permissions to app.json
* more cleanup
* fix epub import
* remove unused deps
* Further cleanup for gradle build types
* Update build.yml
* ignore android/ and ios/ as they are generated by CNG
* fix lint
* Delete ios directory
* Delete android directory
* fix lint
* fix test mocks
* update packages
* update eslint
* fix ThemeProvider placement
* fix test and lint
* Add BackgroundTask native module
* Add NativeFile changes
* first round of fixing compatibility issues
* added types for native modules
2026-07-22 23:29:53 +05:30
Rajarshee Chatterjee
e4cf64a112
refactor: Migrate Background Tasks to Native Android Scheduling ( #1889 )
...
* refactor: Restructure Application Architecture
* feat: Support Batched Downloads And EPUB Imports
* feat: Add Download Checkpoint Recovery
2026-07-22 09:21:18 +05:30
Luigi
3e1e211098
feat: Add Address Bar in WebView ( #1870 )
2026-07-19 19:25:58 +05:30
Ecasept
02b6b9848f
fix: Prevent WebView Reset When Reader Settings Change ( #1884 )
...
fix: reader being reset when reader settings change
2026-07-19 19:23:10 +05:30
Shisii
71da09ed44
feat(reader): Add Current Chapter Search ( #1877 )
...
* feat(reader): add search button and search input for word search
* fix(reader): make keyboard close on hideHeader
* chore(reader): format reader files
* chore(strings): regenerate string types
* feat(reader): add chapter word search
* fix(reader): improve chapter search reliability
* fix(reader): hide ReaderFooter when search is open
* fix(reader): add support for search in bionic reading mode
* fix(reader): localize chapter search placeholder
* feat(reader): block short word search queries
* feat(reader): make android back button exit search
* feat(reader): add exception for special character search
* refactor(reader): split chapter search script from core
2026-07-19 19:22:40 +05:30
Rajarshee Chatterjee
4404494ec9
fix(database): Repair Migration History For Scanlator Column
2026-07-19 19:21:19 +05:30
Luigi
98a2a1d725
feat: Implement Scanlator Filtering ( #1864 )
...
* feat: implement scanlator filtering
* fix test
2026-07-15 16:42:35 +05:30
Palloxin
788f6cede7
fix: Prevent Table Overflow and Clean Up CSS ( #1876 ) ( #1876 )
2026-07-13 16:11:50 +05:30
Rajarshee Chatterjee
7abee71ac3
test: Generate Debug Environment Variables In Testing Workflow
2026-07-13 16:03:02 +05:30
Rajarshee Chatterjee
52d5c99c46
fix: Order EPUB Chapters Across Paginated Pages ( Closes #1762 )
2026-07-02 01:27:44 +05:30
Rajarshee Chatterjee
93bc5e5e4b
fix: Handle Missing MAL List Entries and Null Progress ( Closes #1875 )
2026-07-02 01:27:44 +05:30
Jeon JaeHyeong
5d996f1388
feat(downloads): Make Chapter Download Cooldown Configurable ( #1834 )
...
* feat(downloads): make chapter download cooldown configurable
The chapter download service used a hard-coded 1s sleep between
sequential chapter writes. That worked as a polite default but is
either too long for users with patient sources or too short for
sources that 429 on tight loops. Surface the value as a single
global setting instead.
- AppSettings.chapterDownloadCooldownMs (optional, ms)
- getChapterDownloadCooldownMs(): synchronous fallback used by the
background task runner; returns the historical 1000ms when the
user has not configured an override (no regression on upgrade)
- downloadChapter.ts: sleep(getChapterDownloadCooldownMs()) replaces
the previous hard-coded sleep(1000)
- New "Chapter download cooldown" entry in General Settings, placed
directly above "Disable haptic feedback". Tapping opens a modal
that takes seconds (decimal allowed) and writes back as ms
- The input is sanitised on every keystroke to digits + a single
decimal point so paste / hardware keyboard input cannot smuggle
in non-numeric characters
- Reset writes the default explicitly so the user sees feedback
even when the override happened to equal the default
* feat(downloads): warn about source rate limits in cooldown modal
Per review feedback (#1834 ): the cooldown modal should make the
trade-off explicit so users don't lower the value below what their
sources can take. Add a single error-coloured line under the input.
2026-07-01 16:39:56 +05:30
Palloxin
bbb2645a6f
chore: Clean Reader Preview Content ( #1867 )
...
* Remove pointless break-lines (just use soft wrap to view this file)
* Encase the table in a div
2026-07-01 12:46:30 +05:30
Vikas Movva
54fedc2f53
fix(tts): Remove Leading and Trailing Quotes from Normalized Text ( #1869 )
2026-07-01 12:35:13 +05:30
Palloxin
e8c5550256
perf: Optimize Regex for Removing Extra Paragraph Spacing ( #1872 )
2026-07-01 12:32:28 +05:30
Ali Hamza Malik
57b9d41b5c
fix(service): Correct Notification Throttle Logic in ServiceManager.setMeta ( #1873 )
...
fix(service): correct notification throttle in ServiceManager.setMeta
2026-07-01 12:30:57 +05:30
Jeon JaeHyeong
34be7a1234
fix(native-file): prevent fatal crash when unlinking missing files ( #1832 )
...
fix(native-file): prevent crash when unlinking missing files
NativeFileSpec.unlink is codegened as a void-returning TurboModule
method, which dispatches asynchronously on the mqt_v_native thread.
Throwing "File does not exist" there bypasses every JS try/catch and
surfaces as a fatal AndroidRuntime exception, killing the process.
Make unlink idempotent (POSIX rm -f semantics): no-op when the path
does not exist. The Downloads "delete all" and individual delete
flows previously crashed whenever a chapter row had isDownloaded=true
while its on-disk folder had already been removed (e.g. after backup
restore or external cleanup). The same fix also protects useNovel,
pluginManager, fetch, epub/import, backup/local, backup/utils, and
AdvancedTab call sites that share the same native handler.
2026-05-24 10:41:17 +05:30
Jeon JaeHyeong
60f42ed624
chore(build): patch @rock-js/plugin-metro for Windows compatibility ( #1830 )
...
- patches/@rock-js__plugin-metro@0.12.12.patch: wrap absolute paths
in pathToFileURL() so dynamic imports work on Windows
- pnpm-workspace.yaml: register the patch and pin nodeLinker: hoisted
- pnpm-lock.yaml: lock the patched version with hash
- android/settings.gradle: invoke npx.cmd on Windows for rock autolink
2026-05-24 10:40:24 +05:30
Anthony Truong
25c93afabe
fix(reader): restore saved chapter progress from db if available ( #1850 )
2026-05-24 10:38:23 +05:30
Gaurav Tupe
2cd5a97ee8
fix: await database operations inside transactions ( #1845 )
...
fix:await db write operations in transactions
2026-05-10 19:31:30 +02:00
Patrick Loser
8f47e8fd1e
Theme switcher refactor ( #1839 )
...
* use new ids
* refactor in appearance settings
* fix lint
* remove setThemeMode from handleThemeSelect
* fix type logic
* use context for theme
* shorten animation
* adjusted LanguagePickerModal
* Fix Accent Color picker
* fix bottom navigation coloring
* log error instead of crashing when no theme context is available
2026-05-07 20:25:47 +02:00
Patrick Loser
eafa545b2a
Use novel refactor ( #1838 )
...
* 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
2026-05-06 16:55:55 +02:00
Jeon JaeHyeong
b680a07750
fix(browse): use gesture-handler Pressable in PluginListItem ( #1828 )
...
The plugin row sits inside a react-native-gesture-handler Swipeable but
used the React Native Pressable, whose JS responder lost mouse-derived
tap events on WSA. Switch to the gesture-handler Pressable so taps share
the same responder system as the surrounding Swipeable.
2026-05-03 10:37:52 +02:00
Jeon JaeHyeong
2a919ec0f9
chore: gitignore tsconfig.tsbuildinfo build cache ( #1829 )
...
* chore: ignore *.tsbuildinfo build cache
* chore: stop tracking tsconfig.tsbuildinfo build cache
2026-05-03 10:37:08 +02:00
Definisi
01596c045a
fix: Apply active filters to chapter count display ( Closes #1793 ) ( #1797 )
...
* fix: Apply active filters to chapter count display (Closes #1793 )
getChapterCount was always returning the total count regardless of
the active filter. When filtering by unread/downloaded/bookmarked,
the count shown in the novel header stayed the same as the total.
Added an optional filter parameter to getChapterCount and pass the
current settingsFilter from useNovel so the displayed count matches
the filtered chapter list.
* fix lint warning and add tests for filtered chapter count
- Use settingsFilter instead of novelSettings.filter in useNovel
to fix the react-hooks/exhaustive-deps warning
- Add tests for getChapterCount with filter parameter
- Update chapterFilterToSQL mock in test setup to actually apply
filter conditions so filtered count tests work correctly
2026-04-13 20:39:48 +02:00
Patrick Loser
3de93c5c09
feat: migrate from rn community cli to rock ( #1812 )
...
* migrate to rock
* Update build.yml
* Update build.yml again and changed build.gradle
* fixed actions build crash
* add flashlist to avoid bottomsheet crash
* fix Novelscreen filter highlight
* upload artifact
* update rock config
* update build.yml apk path
* update rock.config again
* Test env file
* Update build.yml
* remove react-native-config
* Update to use split apk and enable custom rock provider paths.
* added upload artifact
* remove split apk
* remove test env
2026-04-13 20:37:47 +02:00
Patrick Loser
306f5b27e2
fix: install the right version of hermes compiler
...
* install the correct version of the hermes compiler
* update node version of gh workflows
2026-04-06 13:59:13 +02:00
Patrick Loser
06f0f66e3e
fix: Add hermes-compiler dev dep
2026-04-05 22:40:21 +02:00
Patrick Loser
64921a054e
feat: Expo 55 upgrade
...
* init
* Change from react-native-dotenv to react-native-config as dotenv leaks
env variables that set mmkv in test mode.
* upgrade debs
* upgrade mmkv
* fix db migration for new app builds
* update reanimated
* fix tests
* fix lint
* cleanup
* Update JumpToChapterModal.tsx
* fix settings.gradle
2026-04-05 21:39:52 +02:00
Rajarshee Chatterjee
44e035ad38
chore: Update Translations ( #1683 )
...
* New translations strings.json (Polish)
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
* New translations strings.json (French)
[ci skip]
* New translations strings.json (French)
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
* New translations strings.json (French)
[ci skip]
* New translations strings.json (French)
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
* New translations strings.json (German)
[ci skip]
* New translations strings.json (Russian)
[ci skip]
* New translations strings.json (Chinese Simplified)
[ci skip]
* New translations strings.json (Arabic)
[ci skip]
* New translations strings.json (German)
[ci skip]
* New translations strings.json (Russian)
[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 (Catalan)
[ci skip]
* New translations strings.json (Czech)
[ci skip]
* New translations strings.json (Danish)
[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 (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 Traditional)
[ci skip]
* New translations strings.json (Vietnamese)
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
* New translations strings.json (Indonesian)
[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 (Chinese Simplified)
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
* New translations strings.json (Indonesian)
[ci skip]
* New translations strings.json (Korean)
[ci skip]
* New translations strings.json (German)
[ci skip]
* New translations strings.json (Russian)
[ci skip]
* New translations strings.json (Portuguese, Brazilian)
[ci skip]
2026-03-12 08:15:12 +05:30
Patrick Loser
1803cd071d
feat: Add testing support for react code ( #1763 )
...
* first attempt
* first attempt
* added first useNovel tests
* more tests
* more tests
* resolved all test issues
* added test-utils
* add a few component tests
* add TESTIGN.md
* add testing gh action
* fixed minor issues
* fixed minor issues
2026-02-25 14:51:46 +01:00
Patrick Loser
e4d7ba306b
fix: Safety level may not be changed inside a transaction error ( #1758 )
2026-02-24 12:22:46 +01:00
Rajarshee Chatterjee
cc0428752b
feat: Replace TTS Notifications with Android MediaSession Controls ( Closes #1711 )
...
Replace expo-notifications based TTS controls with a native
NativeTTSMediaControl TurboModule using Android's MediaSessionCompat
and MediaStyle notification. This provides proper media integration
with lock screen controls, cover art display, and seekbar.
- Add NativeTTSMediaControl Kotlin TurboModule with MediaSession
- Support Prev, Rewind, Play/Pause, Next notification buttons
- Show novel cover as notification album art
- Add seekbar with seek-to-element support
- Replace MMKV polling with NativeEventEmitter for instant response
- Add rewind and seekTo methods to TTS in core.js
- Clean up expo-notifications TTS setup from App.tsx
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-20 09:15:54 +05:30
Patrick Loser
b8c177bc55
refactor: Migrate to Drizzle and op-sqlite ( #1735 )
...
* added .jj to .gitignore
* chore: Add drizzle-orm and drizzle-kit dependencies to package.json and pnpm-lock.yaml
* update debs
* Edit configs
* create drizzle schema
* generate drizzle migration
* db manager stuff
* Delete unused files
* Update DB Manager
* Rework CategoryQueries and related
* rewrite chapterQueries
* Type safety for chapter order and filter
* Better filter handling
* added queue
* added back database triggers
* Refactor HistoryQueries and LibraryQueries
* fix type issues
* refactor StatsQueries
* refactor NovelQueries
* renamed schemas
* refactor more db calls
* refactor libraryUpdateQueries
* removed deprecated code
* added extracted queries
* fix updates screen issue
* change to op-sqlite
* Update manager.ts
* Update RepositoryQueries
* update packages
* Update NovelQueries
* Update CategoryQueries.ts
* db testing environment v1 (AI)
* Refactor App component to use Suspense for loading state and update database initialization logic. Change drizzle-orm version to 0.45.1 and adjust related database queries for improved error handling and async operations. Clean up unused code and update types for better type safety.
* updated tests
* change db location to default expo-sqlite location
* fix async/sync bugs
* resolve rebase problems
* Added tests for db creation + migration
* update drizzle
* add missing journals to migrations.js
* wrap testDbManager in Proxy to be async
* add db initialization test
* fix lint errors
* improved dbManager.batch function
* remove unused file
* fix rebase conflicts
* use getColumns instead of getTableColumns
* fix lint errors
* fix release build not being able to start
* remove disable lint rule
* improved useLiveQuery
* Resolve issue with the db queue constructor options
* Fix database query issues in library and stats
- Add missing await to all stats query functions
- Remove unnecessary type casts on query results
- Fix downloaded-only filter to use gt(0) instead of eq(1)
---------
Co-authored-by: CD-Z <github.verify097@passmail.com >
2026-02-20 01:17:01 +05:30
Rajarshee Chatterjee
7083c51dea
fix: Include selectedIds in Chapter List extraData for Selection Highlight ( Closes #1750 )
...
LegendList's extraData only included downloadingChapterIds, so chapter
items weren't re-rendered when selection state changed via long press.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-19 01:37:33 +05:30
tomsLt0
f0693204e1
fix: Improve Next Chapter Selection Logic ( #1744 )
...
improve next chapter selection logic
2026-02-19 01:18:17 +05:30
Rajarshee Chatterjee
3f8071e48e
chore: Release 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]
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
Rajarshee Chatterjee
ea298273af
fix: Categories Not Sorting
...
Closes #1642
2025-11-15 20:54:55 +05:30
Rajarshee Chatterjee
f60a5af3f2
fix: Add Error Handling Around PRAGMA Query
2025-11-15 20:29:05 +05:30
Rajarshee Chatterjee
6ae5c1cdac
chore: Release v2.0.1
...
[skip ci]
2025-11-15 15:37:34 +05:30
Rajarshee Chatterjee
dcf667b176
fix: Rerun Migrations and Update Insert Chapter Queries
2025-11-15 14:36:57 +05:30
Rajarshee Chatterjee
3a313b9441
feat: Add Progress Notifications for Local Backup Creation and Restore
2025-11-15 11:07:48 +05:30
Rajarshee Chatterjee
ae8211a4c0
fix: Use INSERT OR IGNORE for Library Updates
2025-11-15 10:08:55 +05:30
Rajarshee Chatterjee
3452478aa1
fix: Create Default Category Only If It Does Not Exist
...
[skip ci]
2025-11-14 21:32:01 +05:30
Rajarshee Chatterjee
0c14018996
chore: Release v2.0.0
...
[skip ci]
2025-11-14 21:22:04 +05:30
Palloxin
41ea7eb7b7
chore: Add onScrollEnd Polyfill ( #1609 )
2025-11-14 19:01:27 +05:30
Rajarshee Chatterjee
e31eb9d457
fix: Move WebView Button to Right Actions
...
[skip ci]
2025-11-14 18:55:30 +05:30
Rajarshee Chatterjee
7842e860cb
chore: Update Translations ( #1346 )
...
[skip ci]
2025-11-14 15:46:29 +05:30
Rajarshee Chatterjee
daf7bf2ccb
refactor: Move to Pagination Component and Replace Drawer with BottomSheet
2025-11-14 14:14:41 +05:30
Rajarshee Chatterjee
a712100cfc
feat: TTS Improvements
...
Closes #1500
Closes #1210
Closes #1244
Closes #1110
2025-11-14 13:07:37 +05:30
Rajarshee Chatterjee
92e1210fc8
feat: Add In-App Language Selector in Appearance Settings
...
Closes #1577
2025-11-13 17:19:20 +05:30
Rajarshee Chatterjee
5b4058c093
feat: Add “Has Result” Filter for Global Search
...
Closes #1512
2025-11-13 16:48:56 +05:30
Rajarshee Chatterjee
77ebdebcca
fix: Center Align Button Labels
2025-11-12 21:25:23 +05:30
Rajarshee Chatterjee
ea72de0113
fix: Ensure 'Download All' and 'Unread' Download Entire List, Not Just Batch
2025-11-12 21:17:18 +05:30
Rajarshee Chatterjee
a1c0820da8
fix: BottomSheets After React Native 0.81 Upgrade
2025-11-12 20:11:29 +05:30
Rajarshee Chatterjee
c9eb42ff4d
chore: Upgrade React Native to 0.81
...
This is a manual cherry-pick from @CD-Z’s PR that updates React Native to 0.81. Thanks for originally working on it
2025-10-23 16:39:11 +05:30
Rajarshee Chatterjee
8f0c39ab41
chore: Update Kotlin Version to 2.1.20
2025-10-23 15:35:14 +05:30
Rajarshee Chatterjee
4de059d5bb
chore: Add Missing Gradle Plugin
2025-10-23 15:29:32 +05:30
Rajarshee Chatterjee
969572b5a0
chore: Remove Unnecessary PNPM Setup Option
2025-10-23 14:55:02 +05:30
Rajarshee Chatterjee
4236037b6b
chore: Switch to PNPM and Rename Scripts
2025-10-23 14:48:12 +05:30
Rajarshee Chatterjee
a800c98d02
feat: Revamp Reader Settings UI ( #1612 )
...
[skip ci]
2025-10-23 14:10:55 +05:30
Rajarshee Chatterjee
f1c825f826
feat: Implement Structured Database Migration System ( #1621 )
2025-10-23 13:00:10 +05:30
Rider21
fba8974699
fix: Pass imageRequestInit at Missing Places
...
Closes #1771
2025-10-23 00:49:23 +05:30
Rajarshee Chatterjee
10b90de171
feat: Replace FlashList with LegendList ( Closes #1589 )
2025-10-22 22:17:31 +05:30
Rajarshee Chatterjee
3785dddebc
feat: Add Drag and Drop Support in Categories Screen
...
Closes #1592
2025-10-22 19:49:45 +05:30
Rajarshee Chatterjee
259dd6acc7
feat: Fetch All Chapters for EPUB Export and Add Range Selection
...
Closes #1605
Closes #1606
2025-10-22 18:45:08 +05:30
Rajarshee Chatterjee
90160f7f40
fix: Miscellaneous Issues
...
[skip ci]
2025-10-22 18:22:20 +05:30
Rajarshee Chatterjee
8bdc86c974
feat: Check for New Release Once Per Day
...
[skip ci]
2025-10-22 17:31:33 +05:30
Rajarshee Chatterjee
5b441562f8
feat: Add Toasts for Creating and Restoring Backups
...
[skip ci]
2025-10-22 17:24:59 +05:30
Rajarshee Chatterjee
4e1a67efc8
fix: Refactor and Fix EPUB Export ( Closes #1611 )
2025-10-22 17:03:55 +05:30
Rajarshee Chatterjee
cc217e2b04
feat: Add Scroll-to-Top Functionality in Chapter List ( Closes #1470 )
...
[skip ci]
2025-10-22 16:19:27 +05:30
Rajarshee Chatterjee
f8d4f50307
feat: Add Pinned Plugins and Refactor Plugin List Components
...
[skip ci]
2025-10-22 15:56:37 +05:30
Rajarshee Chatterjee
d0e14d518e
feat: Implement Multi-Tracker Support ( Closes #1381 )
2025-10-22 12:54:27 +05:30
Rajarshee Chatterjee
c06d6f9326
feat: Add MangaUpdates Tracker ( #1613 )
...
* feat: Add MangaUpdates Tracker
* refactor: Migrate Tracker Components to TypeScript
2025-10-22 12:46:50 +05:30
Rajarshee Chatterjee
1200b7f75b
fix: Make Advanced Section Scrollable ( Closes #1513 )
...
[skip ci]
2025-10-21 20:33:52 +05:30
Rajarshee Chatterjee
ee7d96daf9
feat: Add System Theme Support, Yin & Yang Theme, and Adaptive Plugin Badge Color
...
Closes #437
Closes #1374
Closes #1578
2025-10-21 19:05:00 +05:30
Rajarshee Chatterjee
5a6f324638
feat: Add Sort by Unread Chapters ( Closes #1524 )
2025-10-21 16:36:53 +05:30
Rajarshee Chatterjee
4b1ff0efc1
fix: Skip Updating Imported Entries During Library Update ( Closes #1404 )
...
[skip ci]
2025-10-21 15:26:09 +05:30
Rajarshee Chatterjee
45174af3c2
fix: Include Imported Entries in “Downloaded Only” Mode ( Closes #1261 )
2025-10-21 15:20:34 +05:30
Rajarshee Chatterjee
baabc073f0
fix: Search Functionality on History Screen ( Closes #1418 )
2025-10-21 14:11:35 +05:30
Rajarshee Chatterjee
37969da3e9
fix: Prevent Crash When App Is Closed During Onboarding ( Closes #1517 )
2025-10-21 14:02:56 +05:30
Rajarshee Chatterjee
a81b32ae7f
chore: Update README
2025-10-18 23:55:38 +05:30
Rajarshee Chatterjee
389fee8ecb
chore: Update CI Workflows
2025-10-18 23:55:12 +05:30
Rajarshee Chatterjee
8fcfd22767
chore: Update CI Workflows
2025-10-18 22:20:50 +05:30
Rajarshee Chatterjee
b216d3739a
chore: Update CI Workflows
2025-10-18 22:17:33 +05:30
yammyy
dcceea064a
fix: Update Only the Selected Category During Category Update ( #1594 )
...
For this:
1) Select all novelIds that are in chosen category
2) Select novels by chosen Ids
2025-10-18 21:56:08 +05:30
Rajarshee Chatterjee
64c027c695
chore: Temporarily Disable Type Check
2025-10-18 21:39:54 +05:30
ilona
0dd9f2bd94
feat: Reimplement Local Backup Based on Self-Hosted Backup ( #1603 )
...
Closes #1276
2025-10-18 21:33:59 +05:30
ilona
80228ada1e
chore: Improve General Plugin DX ( #1604 )
...
* enable webview debugging in dev builds only
* Fixed error downloading empty files (#1601 )
* Allow data attributes in chapter HTML #1602
2025-10-18 09:51:10 +05:30
Palloxin
00c180927e
Fix broken Bionic Reading ( #1588 )
...
fix broken Bionic Reading
2025-09-21 21:11:21 +07:00
Palloxin
7f61219bb0
Improve ‘remove extra spacing’ feature ( #1579 )
...
* Improve ‘remove extra paragraphs’ feature
* fix lint
* fix little mistake
* lil edit of code comment
* a little bit faster regex
* forgot to add final \s*
2025-09-21 21:10:11 +07:00
Palloxin
00d3a441e3
Improve regex of import and bionic reading ( #1485 )
...
* Improve regex of import
* Update import.ts
* Update import.ts
* lint
* lint
* bionic reading
* lint
* resolve conflict
* fix lint
* Update import.ts
* [^]
* lil fix
2025-09-07 22:07:43 +07:00
Palloxin
f6b82939de
chore: Update Readme to Display 2.0 Prereleases ( #1572 )
...
* Update readme to display 2.0 prereleases
* Change "preview" to "beta"
* last
2025-09-01 23:51:46 +05:30
Patrick Loser
3f2cfc253b
added nix flake for a reproducible environment ( #1565 )
...
* added flake.nix
* added documentation
* added reference to CONTRIBUTING.md
2025-08-16 13:44:47 +02:00
Palloxin
b107d3ca54
fix: Default Line Height ofsup Tag in Reader Mode ( #1546 )
2025-08-14 21:02:56 +05:30
rvx05
6bda33efd4
feat: Add Catppuccin Theme ( #1561 )
...
* Added Catppuccin Theme
* catppuccin theme fixes
2025-08-14 20:52:48 +05:30
Palloxin
1baa3e914c
feat: Allow "details" And "summary" HTML Tags In The Sanitizer ( #1551 )
2025-08-14 20:50:19 +05:30
Patrick Loser
ccbbe36ce6
Readd commits from before force push
...
Fixing mistake
2025-06-06 18:51:32 +02:00
nyagami
9e81f805c0
fix: epub parsing ( #1518 )
...
* fix: decode path before save
* fix: absolute path to label
2025-05-25 16:39:18 +07:00
nyagami
47428ec484
feat: import epub cpp (android) ( #1514 )
2025-05-25 08:15:58 +07:00
Patrick Loser
58f9427008
Small fixes & rendering time improvements ( #1511 )
...
* fix not being able to change from chapter drawer
* add UpdatesContext
* fix library search
* Add Switch for plugin settings
* improved BrowseScreen rendering time
* improved rendering time further
* fix download button
2025-05-24 18:18:16 +02:00
Patrick Loser
5e0f375f7f
chore: fix all lint warnings ( #1510 )
...
* fix all lint warnings
* fix types
2025-05-20 00:02:24 +02:00
Patrick Loser
21611de3aa
feat: Added chapter caching & page reader improvements
...
* update dependencies
* added stopPropagation
* change setInterval to onscrollend
* update progress save logic
* update chapter progress on reader exit
* chapter preloading
* reduced rerender on chapter change
* organize index.css
* added styles
* context restructure
* working page reader upgrade
* reduced unnecessary rerenders
* preserve reader settings during chapter change
2025-05-19 22:33:48 +02:00
nyagami
70520223cd
feat: ios native modules (unstable)
2025-05-18 13:49:45 +07:00
nyagami
2c8880c9af
[skip ci] splash screen ios (unusable)
2025-05-18 01:47:10 +07:00
nyagami
ee864d3e81
[skip ci] feat: IOS (unusable) ( #1504 )
...
* feat: IOS (unusable)
* rename action
* remove Gem.lock
2025-05-11 15:46:16 +07:00
nyagami
6730c773f3
[skip ci]: new action for types checking
2025-05-11 10:14:24 +07:00
Patrick Loser
241cb0a664
Improvement: change bottom tabs implementation
...
* change bottom tabs implementation
* show navbar outside of chapter
2025-05-09 23:13:51 +02:00
Patrick Loser
3d59b8f774
fix: categories and update library on novel import ( #1498 )
...
* update epub
* fix categorization of novels
* fix: update library when importing novel
* update categories on change
2025-05-09 20:39:41 +02:00
Patrick Loser
188700112a
fix library update crashing the app ( #1496 )
2025-05-09 19:11:50 +02:00
Patrick Loser
03f582da98
fix backup modal positioning ( #1495 )
2025-05-09 10:34:21 +02:00
Patrick Loser
ed215a1d54
fix focusmode and readerscreen animations ( #1494 )
...
* update addToLibrary logic
* replace GlobalSearchNovelItem with NovelCover
* fix NovelCover and related type issues
* fix addToLibrary logic
* installed react-native-edge-to-edge
* fix Footer behaviour in Reader
* fix type issue
* fix Header behaviour in Reader
* fix ToolWrapper animation
* fix
2025-05-09 10:29:31 +02:00
Patrick Loser
c487bd2ca6
fix: type errors
...
* fix app.tsx
* fix InfoItem
* fix helpers
* fix webview ref
* fix MoreScreen
* fix NovelScreenButtonGroup
* fix ReaderScreen
* fix readerTextAlignSelector
* fix ReaderValueChange
* fix UpdateNovelCard
* fix myAnimeList
* fixed legacy backup
* fix migrateNovel
2025-05-08 22:39:02 +02:00
Patrick Loser
f90a4d1103
fix: logic related to LibraryContext
...
* update addToLibrary logic
* replace GlobalSearchNovelItem with NovelCover
* fix replace chaptersRead with chaptersUnread
* remove LegendList from browseTabs
* remove Legendlist from LibraryBottomSheet
* remove LegendList from JumpToChapterModal
* remove LegendList from NovelDrawer
* remove LegendList from ChapterDrawer
* fix NovelCover and related type issues
* added check for pages
* fix addToLibrary logic
* fix lint
2025-05-08 21:38:41 +02:00
nyagami
8306296736
added typescript checking
2025-05-04 21:06:12 +07:00
nyagami
ae022052d5
[skip ci] more strict linter
2025-05-04 20:58:09 +07:00
Patrick Loser
7299e53df6
[skip ci] fix: correct save novel cover alignment
...
fix: fix alignment of save novel cover button
2025-05-04 15:22:03 +02:00
Neel Narayan Shetty
c513361a5e
fix: fix alignment of save novel cover button
2025-05-04 18:36:27 +05:30
Neel Shetty
429829b80b
feat: Save Novel Cover ( #1481 )
...
* feat: Save novel cover (#1454 )
* fix: handle storage permission for saving novel cover image
* fix: resolve conflicts with new arch
2025-05-04 17:35:16 +05:30
CD-Z
ad1ccd815a
lint + prettier
2025-05-04 10:48:50 +02:00
CD-Z
036608f7a8
back to Flashlist
2025-05-04 10:41:17 +02:00
CD-Z
8747e8ad39
fix themepicker style
2025-05-04 10:10:12 +02:00
CD-Z
537cf48fb4
fix chapter insert
2025-05-04 09:49:55 +02:00
CD-Z
9f51adb196
update packages
2025-05-04 09:49:55 +02:00
nyagami
f2d3de4470
[skip ci] fix: eslint (except insert chapters) ( #1487 )
2025-05-03 22:53:04 +07:00
Soopyboo32
5f4507cfd5
Better chapter download notification ( #1401 )
...
* Better chapter download notification
* fix
* Update starting tasks list when new tasks are added to queue
* Give tasks an id
* Requested changes
2025-05-03 22:28:33 +07:00
Rajarshee Chatterjee
ecc7a7a6e7
fix: Database Schema
2025-05-03 18:46:07 +05:30
nyagami
8d5b92bc9e
Feat: React Native new architecture ( #1420 )
...
* update depedencies (buidable)
* fix: init db once
* upgrade react navigation v7
* better deeplink handler
* upgrade react naitve vector icons
* updated sql querries (may need further adjustments)
* fix: added type for icon name
* update react-native-reanimated, react-native-gesture-handler
* update google signin
* update tabivew & bottom sheet
* make all repository queries synchroniuously
* update categoryqueries
* import db in categoryqueries
* update chapter queries
* update import novel
* updated LibraryUpdateQueries
* fix download chapter
* fixed stats
* update history queries
* improved updates tab logic
* update LibraryQueries
* update NovelQueries
* improved import novel
* fixed notifications for android 14 and up
* fix Cant parse on first opening
* fixed loss of precision error
* Partial Loading of NovelScreen
* NovelScreenButtonGroup animation
* NovelScreen appbar animations
* update migrate novel
* feat: rewrite VolumeButtonListener to turbor module
* minor: clean up
* fixed type errors
* Novelscreen updates
* fix: better material-design-icons for react-native-paper
* migrate react-native to 0.77, good bye metro console streaming
* replace elevation with boxShadow
* rewrite FileManager -> NativeFile in TurborModule
* rewrite ZipArchive -> NativeZipArchive
* rewrite EpubUtil -> NativeEpubUtil
* dev improvement: active arch only for ndk and run launch debug id
* experimental React compiler (works but no significant improvements)
* ReaderBotttomSheet rewrite
* remove db from all query helper functions
* simplified db helper types
* better helper functions
* switch to native-stack
* removed console.log
* Change loading in UpdatesScreen
* pass novelcover on opening novel
* cleanup UpdateNovelCard
* fixed lint errors
* changed novelscreen animation behaviour
* fix UpdatesScreen
* fix lint errors
* fix unwanted downloadbutton behaviour
* fix: wrong key for multi
* fix: react-native-screens override
* remove abi filters for debug
* fix selecting chapters not working correctly
* adjust novelappbar animation
* preserve Layout when opening novel image
* added SafeAreaViews
* set Modal shadow to transparent
* replace rn paper modal with @components modal
* fix go prev chapter goes to first chapter
* fix open drawer with button
* fix SafeAreaView
* fix LibraryScreen
* improve BottomSheet performance
* SafeAreaView for global search
* fix NovelScreen SafeArea
* restructure useNovel
* remove useNovel from NovelScreenList due to possible db lock
* fix NovelCover not showing on first opening
* fix library not updating changes to novels
* fix menu covering taskbar
* added FadeIn transition to appbar elements
* added SafeSnapPoints to keep bottomsheet inside of the safe area
* upgrade packages
* maybe round download button for jacubb
* fix space after autoscroll
* fix ReaderBottomSheet switch
* fix Jump to Chapter style
* fix Jump to chapter behaviour
* add Loading state to novelcover
* insertChapters performance improvement
* getChapter and getNovel db optimization
* updated db indexes
* New Skeleton for NovelScreen
* smoother FAB button
* add fetching state to useNovel
* fix paged novel chapter navigation
* fix type issues
* fix expanded novelCover on rotation
* add batched loading for chapters
* fix download button
* fix novelScreen loading state
* upgrade react native 0.78
* update to LegendList and fixed type errors
* fix chapter drawer
* added novel context + moved chapter & novel into ReaderStack
* fix lint
* improved chapterlist performance
* improved ChapterListSkeleton performance
* improved updates skeleton
* reworked onboading screen
* fix chapter drawer render error
* add NovelContext [unstable]
* fix filter compatibility
* upgrade eslint + add tanstack query
* eslint auto fix
* fix eslint errors
* upgrade expo 53, react native 0.79.1
* remove console
* remove unused package
* fix: exact vesion for core packages
* update contributing versions
---------
Co-authored-by: CD-Z <p_loser_Austria@gmx.at >
2025-05-01 23:05:30 +07:00
Batorian
0f5eee1bdb
Improvement: Updated Sanitizer ( #1129 )
...
* update: GitHub workflow-dispatch
* fix: separate app for testing
* fix: separate app for testing
* fix: separate app for testing
* fix: new css for chapter content
* fix: separate app for testing
* branch: new test branch
* Enhancement: added more CSS
* build
* Enhancement: git build
* Fix: git build
* merge
* Enhancement: added more CSS
* dev: update build.yml
* dev: update sanitizer
* sanitizer: updated sanitizer
* dev: update index css
* dev: update sanitizer
* dev: update sanitizer
* sanitizer: update sanitizer
* sanitizer: added more allowed tags
* filter: fix filters
* progress-tracking: initial commit
* progress-tracking: implemented tracking
* progress-tracking: update tracker
* progress-tracking: complete rework
* progress-tracking: improvements
* sanitizer: update sanitizer
* sanitizer: block text-align
* sanitizer: update img
* sanitizer: reworked
* sanitizer: reworked
* sanitizer: fixed lazyloaded images
* sanitizer: revert sanitizer
* sanitizer: remove alt and title from images
* sanitizer: revert other changes
* sanitizer: fix
* sanitizer: update
2025-03-01 11:23:21 +07:00
Adam Kemish
4e3f817792
Update global search result if added to library ( #1414 )
2025-02-25 21:56:34 +07:00
Adam Kemish
c61c4d0105
Fix app crash when downloading novel entry if it is on the recent updates page ( #1395 )
2025-01-20 23:23:07 +07:00
Adam Kemish
659988330c
Fix some bugs with task queue ( #1384 )
...
* Fix novel chapter downloading spinner not showing in chapter list
* Fix novel chapter download notification staying on 'Prepairing'
2025-01-18 15:43:04 +07:00
jacksin125
430a067105
Fixed last read not updating and bookmark button in reader mode. ( #1368 )
...
* Fixed "Continue Reading" button
The lastRead chapter object that the "Continue Reading" button uses for everything is now updated on entering and leaving the chapter, instead of never updating when information changes.
* Fixed bookmark button not saving state
Done by passing the bookmark state down from the parent.
* Fixed bug caused by my own code
More thorough testing revealed that lastRead did not update properly on chapter switch
* Fixed issue that rendered previous fix ineffective
The original fix caused a new bug when changing chapters, and fixing that caused some of the old bugs to return. It should now be completely fixed.
---------
Co-authored-by: orionduffy <45501204+orionduffy@users.noreply.github.com >
2025-01-13 09:06:35 +07:00
MOAYAD
c2c8935068
fix : ERROR $ open failed: EPERM (Operation not permitted) ( #1371 )
...
When you try to create a backup file on Android 11+ device you get this error
/storage/emulated/0/h/inreader_backup_YYYY-MM-DD_HH_mm.json: open failed: EPERM (Operation not permitted)
2025-01-04 16:16:28 +07:00
Adam Kemish
9636aab53f
fix: Resolve Service Manager Issue Caused by Unbound ‘this’ ( #1375 )
...
* Fix servicemanager broken due to unbound this
* Can use here now!
2025-01-01 17:27:32 +05:30
Palloxin
22915914fb
feat: Improve ‘Remove Extra Paragraph Spacing’ Feature ( #1203 )
...
* Improve "Remove extra paragraph spacing" feature
* Adjust in case of p with classes
* Lint
* Lint - part 2
* Lint - part 3
* forgot \s*
* \u00a exception
found here https://readnovelfull.com/the-wife-of-a-powerful-family-huo-shao-how-dare-you-flirt-with-me/chapter-1.html
* Better
* Fix
* fix lint
* forgot ``?:``
* Remove zero width
Removed until a concrete source example has them.
* fix lint
* lint
* better v2
* better 2.1
* Lint
* \s
* Exception: double br are used to simulate paragraphs
NovelUpdates - The Extra of The Bad Ending Game, chapter 159
* double br exception correction
* -
* better exception
* Lint
* flaw correction
doest match ``ahahah<br><br><br><br><br>ahahahaha``
* fix little flaw
* Shortening regex
* faster regex
* comment + faster regex
* lint
* lint
* Improve double br exception
* Correct flaw
* forgot
* \b for p
* Revert correct flaw
* Minimal faster regex
* remove useless piece
* forgot
* Faster regex
* very minor change
* Max level fast
* forgot a thing
* missing \s
* plus ultra
* suppefast
* ops
* u200b
2024-12-29 20:20:14 +05:30
Adam Kemish
d39dabef68
Improve Task Queue ( #1363 )
...
* Improve Task Queue
* Seperate setMeta function
2024-12-29 13:00:24 +07:00
MOAYAD
e01cbefdae
fix: legacy backup file name ( #1365 )
...
in android file system you can't use the char ' : '
so lnreader file name:
"Inreader_backup_YYYY-MM-DD_HH:mm.json"
you can't write it as a file.
so i edit it to looks like
"Inreader_backup_YYYY-MM-DD_HH_mm.json"
2024-12-27 22:17:18 +07:00
Brian Fernandez
73fcba007a
fix: "Add tag" input does not work correctly ( #1357 )
...
* fix: "Add tag" entry does not add tags correctly if there is at least 1 tag
* fix: "Add tag" entry allows to add empty tags when there is at least 1 tag
2024-12-20 22:34:53 +07:00
Brian Fernandez
54a3feb08c
fix: "Edit cover" function is not called ( #1354 )
2024-12-15 12:52:31 +07:00
Rajarshee Chatterjee
ecb3875fe2
chore: Update Translations ( #1317 )
...
* 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 (Indonesian)
[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 (Russian)
[ci skip]
* New translations strings.json (Russian)
[ci skip]
* New translations strings.json (Russian)
[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 (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 (Indonesian)
[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 (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 (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 (Indonesian)
[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 (Vietnamese)
[ci skip]
* New translations strings.json (German)
[ci skip]
2024-12-01 21:11:44 +05:30
nyagami
2c9df1d93f
more useful empty chapter message
2024-11-27 20:46:58 +07:00
nyagami
5db79a09eb
fix: missing history navigation
2024-11-26 23:39:10 +07:00
Adam Kemish
ff771fdd68
Better bottom navigation ( #1335 )
...
* Better bottom navigation
* Add double press actions to the rest of the tabs
* Fix history screen double press
* Fix lint error
* Fix more lint errors 😢
* 😢
* memo
2024-11-26 23:09:49 +07:00
Nil Silva
169c4b9de1
Add 'multi' language option ( #1314 )
...
* Added plugin settings
* Get plugin settings from plugin.
* Added multi language option
* Translate multi string
---------
Co-authored-by: nyagami <hoangquan05112002@gmail.com >
2024-11-26 23:08:04 +07:00
nyagami
4bcd22b9de
fix: margin for flatlist container not content container
2024-11-26 22:44:54 +07:00
nyagami
8a2dc15da6
fix: novel status
2024-11-26 22:39:56 +07:00
nyagami
3f3a407820
closes #1263 ; fix: invoke old refreshChapters
2024-11-26 22:06:20 +07:00
nyagami
c72808d72f
closes #1322 ; fix: tracking sheet position
2024-11-26 21:21:29 +07:00
nyagami
dabe4710bb
Fix: reader page padding & back press ( #1339 )
...
* fix: remove bottom padding in page reader
* fix: disable drag transition when holding
* reader bottom sheet backpress handler
* close drawer on backpress
* fix: undefined index
* chores: added onboading strings
2024-11-26 20:47:58 +07:00
Adam Kemish
cdc4ddcc97
perf: Small changes following faster global search pr ( #1320 )
...
* Small changes following faster global search pr
* Fix lint error
2024-11-25 22:17:18 +07:00
Rajarshee Chatterjee
8f783fd4c2
refactor: Miscellaneous Cleanup ( Closes #1307 )
2024-11-10 11:12:08 +05:30
Rajarshee Chatterjee
048119e530
chore: Update Translations ( #1308 )
...
* New translations strings.json (Russian)
[ci skip]
* New translations strings.json (Vietnamese)
[ci skip]
* New translations strings.json (Russian)
[ci skip]
2024-11-09 08:14:52 +05:30
nyagami
b68d44d500
refactor: Remove Unused Translations ( #1316 )
2024-11-09 08:13:00 +05:30
Rider21
4bc3638b38
link fixing ( #1302 )
...
* test
* Update downloadChapter.ts
* react-native-url-polyfill
* -urlencode
* oops
* +urlencode
* fix prettier
* wrong
2024-11-06 21:07:22 +07:00
Rajarshee Chatterjee
bc5e2f1fd1
fix: Use onSurface Color for Chapter Names ( Closes #1259 )
2024-11-05 09:23:41 +05:30
Rajarshee Chatterjee
e8e7519c40
fix: Show Empty Search State When No Results in Available Tab
2024-11-05 08:39:19 +05:30
Rajarshee Chatterjee
5460047e41
fix: Use Safe Area Insets for WebView Screen ( Closes #1301 )
2024-11-05 08:16:53 +05:30
Rajarshee Chatterjee
bdd00cd87d
perf: Add Lazy Loading for All Screens
2024-11-05 08:12:35 +05:30
Rajarshee Chatterjee
f83c017e09
fix: fix: Display Loading Animation on Novel Screen
2024-11-05 08:07:31 +05:30
Rajarshee Chatterjee
e38cb9972f
chore: Update Translations ( #1305 )
...
* 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 (Indonesian)
[ci skip]
* New translations strings.json (Hindi)
[ci skip]
* New translations strings.json (Assamese)
[ci skip]
* New translations strings.json (Odia)
[ci skip]
* Update crowdin.yml
2024-11-04 20:21:22 +05:30
Rajarshee Chatterjee
ac9c789a89
chore: Update Translations
2024-11-04 20:09:48 +05:30
Adam Kemish
445187cf11
perf: Optimize Global Search Performance ( #1255 )
...
* Faster and less laggy global search
- Memoise each row in the search results page
- Limit number of concurrent searches (has setting, defaults to 5 sources at once)
- Load sources in the same order as they show in menu so from the user's pov it loads in faster
- Cancel search when u close global search
- Made the order of sources that are still loading follow the sorted order so theres less popin
- Added setting to remove animations from the loading placeholders
- Pause global search if u open a sub window (eg opening a novel)
- Change no results color to look less active
* Cancel previous global search when starting another
* Dont clear global search on unfocus
2024-11-04 18:30:11 +05:30
Rajarshee Chatterjee
52ec11a33d
refactor: Prevent Multiple Database Connections
2024-11-04 17:30:36 +05:30
Palloxin
c498d7e9cd
feat: Increase Transparency of Android Navigation Bar ( #1267 )
...
Makes it more transparent in the reader mode.
2024-10-30 21:36:48 +05:30
Nil Silva
0fad9b907f
feat: Add User Input Support for Plugin Configurations ( #1273 )
...
* Added plugin settings
* Get plugin settings from plugin.
2024-10-30 21:36:00 +05:30
Adam Kemish
0a170f14bc
fix: Adjust Cover Height for Screen Width Changes ( #1295 )
2024-10-30 21:32:21 +05:30
Adam Kemish
8245e77672
feat: Add Switch and TextInput Support to Plugin Filters ( #1271 )
...
* Add FilterTypes.Switch support to plugin filters
* Add FilterTypes.TextInput support to plugin filters
2024-10-12 15:39:49 +05:30
nguyd1
9c68260592
fix: Resolve 'Can't Parse Page' SQL Syntax Error ( #1266 )
...
fix cant parse page sql syntax error
2024-10-04 17:24:37 +05:30
Palloxin
b1778c5802
chore: Genericize Preview Novel Details ( #1239 )
2024-09-05 10:54:10 +05:30
Justin COLLON
be4ed6de79
setEnvFile: fix error when no .env file ( #1237 )
2024-09-01 17:33:14 +07:00
Skeltons
3597b542d3
Fix: novel info not saving ( #1232 )
2024-08-27 20:44:56 +07:00
Palloxin
fd6d912391
Disable user-select on next-button and info-text ( #1225 )
...
Disable user-select on next-button and info-text
2024-08-21 23:01:54 +07:00
Rider21
d9dc18da43
fix: download files with relative url ( #1216 )
...
* hard fix
* test
* Revert "test"
This reverts commit 1fe9247752fcbadf348b6017f2d1fbf05165cfce.
* error handler
[URL](https://github.com/facebook/react-native/blob/v0.72.10/packages/react-native/Libraries/Blob/URL.js )
2024-08-21 21:25:39 +07:00
Skeltons
a22d754f95
feat: Reduce Sensitivity of Swiping for Plugins/Sources ( #1220 )
...
* Enhancement: Make swiping of plugins/sources less sensitive
* Update swiping offset to be less aggressive
2024-08-17 22:15:52 +05:30
Skeltons
d9d7d3aaf0
feat: Reduce Sensitivity of Swiping for Plugins/Sources ( #1219 )
2024-08-17 15:15:09 +05:30
S.M.A Sayem Prodhan
a399927264
fix: Resolve Search Error with Query Containing ' ( #1133 )
...
* fix search error when query contains '
* change search to prepared statement
* added missing semicolons
2024-08-17 15:12:12 +05:30
Palloxin
b4b00a5c66
fix: Improve Progress Bar Proportions ( #1197 )
...
Progress bar better proportions
2024-08-17 15:10:04 +05:30
Justin COLLON
9861f81589
fix: Infinite Plugin Updates in Development Mode ( #1217 )
...
* re fix setEnvFile.cjs
* infinit plugin update if in dev mode
2024-08-17 15:09:08 +05:30
Skeltons
d06aecb5f8
feat: Sort Source List Alphabetically ( #1218 )
2024-08-17 15:07:30 +05:30
nyagami
86c82c1a61
Fix reader bugs ( #1212 )
...
* fix: tts algorithm
* update: turn off tts by default
* update default padding
* change tts transition to 500ms
* update reader body padding
* cleanup
* fix: throw Exception
2024-08-15 23:07:01 +07:00
nyagami
1131446ddc
Improvemed bottomsheets ( #1195 )
...
* smooth scroll behavior for reader bottom sheet
* fix: BottomSheet flatlist
* add bottom inset for reader bottom sheet
2024-08-11 16:15:15 +07:00
nyagami
f6b2516643
Feat: rewrite Reader in vanjs ( #1194 )
...
* setup van.js
* scrollbar
* Reader Footer
* move state to reader object
* scroll to previous progress
* image modal
* TTS bubble
* swipe gestures
* binoic reading & remove extra spacing
* tap to scroll
* tap & scroll to move page
* page reader move chapter
* display page in footer
* hide progress bar in page reader mode
* remember postion when switch reader mode
* refactor: move initial scroll out of scrollbar
* scroll bar in page reader mode
* chapter ending content
* fix: tts controller
* fix: tts highlight & stopping
* optional tts
* custom js
* update preview reader
* cleanup
* fix: css
2024-08-11 10:37:28 +07:00
Palloxin
7cf8692e77
fix: Reduce Font Size of Reader Progress Bar ( #1153 )
...
From 16px to 14px.
It's better looking.
2024-07-19 11:12:46 +05:30
nyagami
d6290294f7
Improvement: not using replace screen to navigate chpater
2024-07-17 21:58:38 +07:00
nyagami
d5cb0a234f
improvement: simplify shared chapter states with react context
2024-07-16 23:11:41 +07:00
nyagami
306d8d1d42
Improvement: move chapter logic to useChapter (almost)
2024-07-16 22:04:48 +07:00
nyagami
7b1eb7dd9d
Improvement: Optimise available plugins by flashlist
2024-07-15 23:42:51 +07:00
nyagami
1ad2c98473
Feat: search plugin with id
2024-07-15 22:39:03 +07:00
nyagami
f0b8df93b4
Fix: better download chapter error handling
...
at least
2024-07-15 22:30:11 +07:00
nyagami
19ce7da32e
Feat: voice rate/pitch settings
2024-07-15 21:47:33 +07:00
nyagami
9d35f6d303
minor: allow title tag
2024-07-15 20:44:13 +07:00
Patrick Loser
31d0aa1787
feat: Add Horizontal Reading Mode ( #1021 )
...
* Horizontal Reading Mode (#733 )
Closes #29
Closes #149
* fixed first few compatibility issues
* added WebView debugging help
* fixed pages logic + open next chapter at end
* hopefully fixed infinity glitch
* removed logs
* fixed small issues
* working page numbering
* double L shape navigation
* changed let to const
* fixed scrollTo function
* cleanup and fixed css issues
* fixed display bug
* fixed settings bug
* added change padding setting
* added strings
* save + scroll on opening chapter logic
* resolved totalpages detection issue
* simplified getInt function
* css cleanup
* removed useless
* fixed padding scaling bug
* deleted debug items
* additional top padding
* smaller chapter height
* fixed contextMenu
* replaced name: readerPages » pageReader
* fixed ReaderSettings Preview Reader behaviour
* cleanup
* ReaderValueChange improvements
* moved page state to js
* fixed type issues
* functionality test
* fix: NaN page on scrollbar
---------
Co-authored-by: nyagami <hoangquan05112002@gmail.com >
2024-07-14 18:10:38 +05:30
nyagami
ea5fde4156
Fix: add check multiplicable tasks & repace download queue by task queue
2024-07-14 00:42:52 +07:00
Rajarshee Chatterjee
03e3816ab8
fix: Optimize Marking Chapters as Read or Unread
2024-07-13 20:10:50 +05:30
Justin COLLON
9d6e407c40
fix: Retain Existing Data in .env File ( #1130 )
...
* setEnvFile: keeps data from .env file
* prettier for scripts
2024-07-13 18:37:32 +05:30
Batorian
6781b5d6a4
fix: Display Filter Label if Present ( #1134 )
...
filter: fix filters
2024-07-13 18:34:30 +05:30
Palloxin
352913f00e
fix: Improve Image Placement in Preview ( #1094 )
...
* Better place the image in preview
The preview has to.. preview decently:
1. the image is too big (screen space taken)
2. in raw-chapter-text mode the img link is HUGE and one has to scroll a lot.
* Better place the image preview V2
2024-07-13 18:20:32 +05:30
Rajarshee Chatterjee
73f7ebf7b5
fix: Reset Chapter Progress When Marked as Unread ( Closes #678 )
2024-07-13 13:16:24 +05:30
Rajarshee Chatterjee
045d6419d8
fix: Fix Default Chapter Sorting ( Closes #1060 )
2024-07-13 12:59:35 +05:30
Rajarshee Chatterjee
acc9d8e7ed
feat: Pre-fill Edit Information with Existing Data and Add a Reset Option
...
Closes #1081
Closes #960
2024-07-13 12:52:47 +05:30
Rajarshee Chatterjee
a29cce9eba
feat: Add Description for "Disable haptic feedback" ( Closes #1057 )
2024-07-13 12:25:40 +05:30
Rajarshee Chatterjee
1292f520bb
feat: Export as EPUB ( Closes #1137 )
2024-07-13 12:19:02 +05:30
Rajarshee Chatterjee
8bd6131862
feat: Add Option for "Keep screen on" ( Closes #1137 )
2024-07-13 11:06:29 +05:30
Rajarshee Chatterjee
ed6c2b7ba2
feat: Add Empty State in Available Plugins Tab
2024-07-13 10:53:25 +05:30
nyagami
f68a7a4e6a
Fix: legacy restore
2024-07-12 10:07:50 +07:00
nyagami
c9d2ce382f
[skip ci] Dev improvement: Different configs for debug app
2024-07-12 09:29:53 +07:00
nyagami
5262567d61
Minor: hide reload button for custom page novels
2024-07-07 07:30:11 +07:00
nyagami
b45a30f0cc
Fix: avoid re-render in novel screen
2024-07-07 07:20:47 +07:00
nyagami
867b63af22
Feat: Plugin Custom JS/CSS
2024-07-06 11:42:18 +07:00
nyagami
b3a5e237f4
added default cover
2024-07-06 11:41:29 +07:00
nyagami
7aae3a81c3
Fix: inlibrary badge
2024-07-06 11:32:25 +07:00
nyagami
078796784b
Feat: Service Manager ( #1124 )
...
* feat: ServiceManager & import multiple epub files
* Fix: merge chapter based on index of toc in file list
* notifcation when jobs get done
* Fix epub: only read table of content in navmap
* add update library to service manager
* add drive backup/restore to service manager
* add self host backup/restore to service manager
* add migrate novel to service manager
* add download chapter to service manager
* clean up
2024-07-05 23:32:10 +07:00
Patrick Loser
15aed61aa6
Feat: tailing skeletons ( #1064 )
...
* tailing loading covers
* fix type issues
* fixed compatibility issues
* show skeleton even if row complete
* cleanup
* replaced !! with Boolean()
* Update type names
Co-authored-by: nyagami <hoangquan05112002@gmail.com >
* updated type occurances
* fixed key issue
* deleted unused vars and comments
---------
Co-authored-by: nyagami <hoangquan05112002@gmail.com >
2024-07-05 23:31:53 +07:00
Justin COLLON
b67d6f8088
fix: update defaultCover URL ( #1122 )
2024-06-30 02:14:04 +05:30
nyagami
9b4bdfea89
Merge epub chapters ( #1117 )
...
* Fix: ignore non existed files
* merge chapters & scan cover
* remove unused tocMap
* clean code
2024-06-27 16:04:50 +07:00
r1di
70220a5a87
Fix: Volume scrolling ( #1114 )
...
* Volume scrolling fix
the scrolling by volume button right now scrolls 100% of the screen, which hides text when scrolled so, the commit is just changing the the scrolling to 50%.
* typo
* 50% to 75% scroll
---------
Co-authored-by: Ridi <ridi.culous.progger@gmail.com >
2024-06-25 20:48:10 +07:00
Patrick Loser
aa95743d1c
Fix: hide progressbar on opening drawer ( #1102 )
2024-06-25 20:20:47 +07:00
nyagami
eb818ef55b
add website to about page
2024-06-23 17:37:35 +07:00
nyagami
0bda5fd055
No default repo
2024-06-23 17:37:29 +07:00
Patrick Loser
ea336902f2
Fix: Scroll to current Chapter ( #1101 )
...
* cleanup + fixed scroll to current Chapter
* removed unused memoization
* removed unused import
* ChapterDrawer.tsx => index.tsx
* added correct types
* applied suggestion
* changed chapter.position to scrollIndex + 2
* refactored index.ts
2024-06-14 23:17:22 +07:00
nyagami
58a633e5b9
[skip ci] ignore prettier for android folder
2024-06-13 00:39:19 +07:00
nyagami
74ed5a446d
Fix: background color for plugin icon
2024-06-13 00:17:41 +07:00
nyagami
a5d073a1ec
Fix: Adding Category/Repo buttons position
2024-06-12 23:45:51 +07:00
nyagami
f4d3d9d4eb
Fix: navigation bar content color after closing reader
2024-06-12 23:40:51 +07:00
nyagami
772a9ef3a2
Feat: Plugin lazy init( #1104 )
...
* move plugins to single folder
* lazy initial
* clean up
* fix: restore novels
2024-06-12 16:26:55 +07:00
Patrick Loser
6f3278f6ff
Fix: Allow id and class attributes ( #1066 )
...
added exceptions to sanitizeHtml
Co-authored-by: nyagami <hoangquan05112002@gmail.com >
2024-06-10 20:26:34 +07:00
Adam Kemish
f11a10ba22
Feat: Add open random entry button ( #1098 )
...
* Add open random entry button
* Move menu logic to searchbarv2
2024-06-10 20:20:54 +07:00
Justin COLLON
02304fd394
[skip ci] version increase for default plugins repo( #1074 )
2024-06-09 12:18:05 +07:00
nyagami
94d11a12ff
Fix: detect gzip images
2024-06-09 10:42:08 +07:00
nyagami
fca37868f1
Feat: NOVEL and CHAPTER reader context
2024-06-08 23:01:07 +07:00
nyagami
574f54a9bc
Fix: update novel logic for custom page
2024-06-08 22:12:38 +07:00
nyagami
fb0649f07f
Minor fix: update novel toast
2024-06-08 22:06:12 +07:00
nyagami
e3def3821e
Fix: Repository add button position
2024-06-08 21:44:44 +07:00
nyagami
334c981013
Fix: add imageRequestInit for Reader instead of fetching base64
2024-06-08 21:42:07 +07:00
nyagami
b62c8e3aea
Download file with cookie persisted from RN ( #1100 )
...
* download file
* clean up
2024-06-08 20:15:41 +07:00
nyagami
09a482e4b7
Fix: do not modify available plugins
2024-06-08 01:57:51 +07:00
nyagami
b7bbbbe962
Fix: revert to app storage
2024-06-08 01:42:47 +07:00
Elfing
30265471b5
[skip ci] Adding support for French localization ( #1092 )
...
synchro Text translate
2024-06-04 21:35:02 +07:00
nyagami
b4b038dd42
fix: use back button instead of previous
2024-06-04 19:37:45 +07:00
nyagami
6517028cd4
minor fix: more header & error on first time launching
2024-06-04 19:28:21 +07:00
nyagami
3f62f6f225
Feat: Permissions requesting ( #1096 )
...
fix: app permissions & remove restore errors
2024-06-04 18:52:51 +07:00
nyagami
822256229f
Refactor: convert Java to Kotlin ( #1095 )
...
* kotlin migrating
* fix: kotlin generations
* fix: unzip & cleanup
2024-06-04 14:14:03 +07:00
nyagami
4f23e1814e
Feat: Onboarding screen & FileManager ( #1093 )
...
* base onboard screen
* pick theme step
* cleanup
* refactor: TextFile -> FileManager
* pick storage folder
* default root storage
* refactor: fixed storage -> custom storage
* replace rnfs by native module FileManager
* clean up
* refactor: corresponding theme list
2024-06-03 21:21:46 +07:00
Justin COLLON
aec6c34b66
Update: Version utils & Github actions ( #1072 )
...
* github action:
- custom apk:
- packet name with git commit id
- app name with git commit id
- cached `npm install`
- update actions versions
* About page:
- Version based on package.json
- added git hash to the version if not Stable
- RELEASE_DATE, GIT_HASH, BUILD_TYPE created at build time from setEnvFile.cjs
- special BUILD_TYPE for github actions
- Version modal copy on click
- removed versionUtils
* expo-clipboard instead of react-native clipboard
* buildRelease Release instead of Debug ^^'
Gihtub Actions => Github Action
2024-05-31 00:00:07 +07:00
Rider21
e50b6c4a47
Feat: Plugin storages ( #986 )
...
* test
* fix
* Update pluginManager.ts
* test
* fix lint
* test
* test webview
* sync
* /
* Update WebviewScreen.tsx
* CookieManager
* Update storage.ts
* Update сookie.ts
* fix title
* MarqueeText...
* Slow
* Even slower
* Squashed commit of the following:
commit da4d7e878aced6567b98fc802c34715b27dfbe00
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Fri Mar 8 13:21:19 2024 +0300
/
commit 592c4dbfca2d04931ffffba19d1eec20db3ac183
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Fri Mar 8 13:20:34 2024 +0300
test
commit 63240502d67cda6e851d602728b873e0b6d2aed0
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Fri Mar 8 12:38:13 2024 +0300
/
commit 591d2592a7f64e65da4f2c61216b564f3eafa2e6
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Fri Mar 8 11:42:03 2024 +0300
fix progressbar
commit 3d34cfb72827fdcf61267eafbb128b9e893ef40f
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Thu Mar 7 21:13:49 2024 +0300
forgot
commit c36d090a60eadfcc4bee1f0cae04bf9213a694a4
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Thu Mar 7 20:51:31 2024 +0300
/
commit 3c4e43b7bb6f845d94737aa8cba96b0dc1714b4b
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Thu Mar 7 20:15:38 2024 +0300
/
commit 0a20a483968fa42d24996a1d74f4c8e91f86d49a
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Thu Mar 7 19:46:31 2024 +0300
add zIndex
commit 7d4490110457f1ae189890268731fc1726a87825
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Thu Mar 7 19:27:32 2024 +0300
test
commit b585d5ee0a6d36707ddc323547fdd1976451ee5a
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Thu Mar 7 18:28:49 2024 +0300
/
commit cb7241c33d6cea3c1493f41b46fdd67f70455731
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Thu Mar 7 18:06:30 2024 +0300
Update Appbar.tsx
commit 5fab766e17708a1be6a9f53029918cad122110bb
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Thu Mar 7 17:55:24 2024 +0300
Update WebviewScreen.tsx
commit aec9b92d033156936b97a8455f6198fa20570906
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Thu Mar 7 17:15:16 2024 +0300
xd
commit 1fa385b4bd85bea4da34ff9c23021fb92bc622d9
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Thu Mar 7 17:11:23 2024 +0300
2
commit 589870de27cee2fcf29c894bd055a936bb0e7a5d
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Thu Mar 7 16:28:24 2024 +0300
1
commit 343d2dd5b64404a3ea54d8e0366d8c856c9ea429
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Thu Mar 7 16:11:08 2024 +0300
test
commit f2dbf34a7962b04cee46fdb37a9d0ea83ca541fe
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Thu Mar 7 14:36:48 2024 +0300
test
commit 04c04d97a9dd87815c36145b3e0bd63e1bb3d118
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Wed Mar 6 22:37:45 2024 +0300
test zoom
commit 6b80559e053a0d1a31f4c4762570b894bb5f70e5
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Wed Mar 6 22:33:55 2024 +0300
fix
commit 287ce94efc18036ff9cca3054e9ca182137ffe8c
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Wed Mar 6 19:00:01 2024 +0300
test
commit 67bdddc4d10920b559122f3d7df0225cea65497b
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Wed Mar 6 11:10:22 2024 +0300
Test newArch
commit 762353788716341474832815f332ad6ff9ebe5be
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Tue Mar 5 20:49:29 2024 +0300
Update Appbar.tsx
commit 2a876cb942847fb4c67085a6736b2d9e6e9a3012
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Tue Mar 5 20:42:28 2024 +0300
modal
commit ba4cadec3f87d565fe045e3c977f604444a06571
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Tue Mar 5 16:50:38 2024 +0300
1
commit 6c14a18b7083fc3292f796408e2defdad2728b10
Author: Rider21 <58046032+Rider21@users.noreply.github.com >
Date: Tue Mar 5 14:54:27 2024 +0300
test
* fix
* fix
* Update pluginManager.ts
* test
* fix
* fix lint
* -marquee
* fix defaultCover
* test
* Update src/plugins/helpers/storage.ts
Co-authored-by: nyagami <hoangquan05112002@gmail.com >
* test
* Typescript fixes
* private pluginID
---------
Co-authored-by: nyagami <hoangquan05112002@gmail.com >
2024-05-28 15:50:24 +07:00
nyagami
1ac6d116a2
Fix: Reader footer position & system bar ( #1076 )
...
* replace native Navigation bar by expo-navigation-bar
* fix fullscreen logic
* fix: navigation button color
* fix: navigation color when theme changed
* fix: status bar color on full screen mode
* 40 is too large
* no 40 is acceptable :)
* refactor setBarColor
* refactor: rename setStatusBarColor
* no padding for landscape mode
2024-05-28 15:13:46 +07:00
K1ngfish3r
6864d07dd9
Remove html entity replace function when sanitizing text ( #1049 )
...
* add spacing between <>
* remove check entirely
* fix ol tag
2024-05-28 11:21:36 +05:30
Lukas Richter
671e4f4bfd
Fix: updateNovelTotalPages query ( #1069 )
2024-05-16 23:29:06 +07:00
nyagami
e2d22a5b05
enhance TTS ( #1054 )
...
* fix: read by paragraph and empty string
* add voice picker modal
* add tts voice picker for preview
* fix: tts for bionic reading
* stop speak when get out of reader
* search voice
* temporary fix: original font
* fix: start & resume
* fix: close context menu on copy
2024-05-01 00:29:53 +07:00
Rajarshee Chatterjee
3cb2eb6b11
Make Reader Appbar and Footer Animation Smoother
2024-04-30 21:09:03 +05:30
Rajarshee Chatterjee
4597a95e9c
Prevent Crash on Promise Rejection
2024-04-30 20:19:28 +05:30
Rajarshee Chatterjee
cf4d97e7f9
Use Promise.allSettled and Update Plugin Repository Regex
2024-04-30 20:13:57 +05:30
Rajarshee Chatterjee
09f7319f2f
feat: Repositories ( #1051 )
...
* feat: Repositories
* feat: Repositories
* Cleanup
* Cleanup
* Cleanup
2024-04-28 18:38:52 +05:30
Rajarshee Chatterjee
c77dc52f29
Tweak UX ( #1052 )
...
* Tweak UX
* Prevent Crash in Migrate Screen
* Cleanup
2024-04-28 18:38:30 +05:30
Rajarshee Chatterjee
3cd5b40c25
Show Chapter Titles By Default
2024-04-28 09:37:49 +05:30
Rajarshee Chatterjee
42570d29f3
Move Update Icon Outside of Swipe Actions
2024-04-28 09:29:42 +05:30
nyagami
7e7a8866ca
Fix: update novel pages ( #1048 )
...
* refreshPage button
* no latestChapter
* no hasUpdate in novel page
2024-04-27 09:44:54 +07:00
K1ngfish3r
ed5e599edb
add table style ( #1020 )
2024-04-26 00:16:46 +07:00
Patrick Loser
addcadeba2
Feature: dynamic novel appbar ( #998 )
...
* update depd
* dynamic novel appbar
* fixed merge problems
* changed color from background to surface2
* added gitignore
2024-04-26 00:15:06 +07:00
Palloxin
484c2b7e33
Fix arabic alignment and language list order ( #1024 )
...
* Fix arabic alignment and language list order
- Left-to-Right for arabic language with u200e
- Fix alpabethic order
* Cleanup
---------
Co-authored-by: Rajarshee Chatterjee <rajarshee.adm@gmail.com >
2024-04-13 10:59:23 +05:30
nyagami
b6fea9111c
Fix: insert/update novel/chapter logic ( #1019 )
...
* fix: always create novelDir
* fix: download new chapters
* update novel totalPages if refreshNovelMetadata is off
* fix: updateChapter logic
* fix: insertId could be -1
2024-03-30 23:49:48 +07:00
K1ngfish3r
9ef8cab475
fix chapter.page when containing special character ( #1015 )
...
* fix page when containing special character
* page always defaults to 1
* AND page = ?
2024-03-26 22:29:19 +07:00
nyagami
7ea8ebacd1
Update plugin sanbox ( #1014 )
...
* add htmlparser2
* fix typo
* flatten plugins
2024-03-26 17:46:38 +07:00
nyagami
e171dfebc1
Update lastest chapter logic ( #1011 )
...
update lastest chapter logic
2024-03-24 13:55:23 +07:00
nyagami
9f6ffc23bf
Fix bugs & Reader improvement ( #1009 )
...
* fix: wrong chapter order
* fix: reader footer styles
* make swipe getures less sensitive
* fix: update only ongoing novels option
* synchonize update library
* add horizontal scrollbar
* update swipe gesture sensitive
* no swipe when image modal is visible
* add bionic reading
* fix: import untitled epub
2024-03-23 11:50:35 +07:00
nyagami
8906253527
Feat: protobuf support ( #1003 )
...
* feat: protobuf support
* fix: spead operator is slower
* fix: redundant JSON encoding
* add fetchProto to plugin sandbox
2024-03-21 16:37:07 +07:00
nyagami
817e4dc9d1
Cheaper epub parsing ( #1007 )
...
* cheaper epub parsing
* cleaner process
* no empty page list
* more epub detail
* fix nullable
2024-03-20 13:37:55 +07:00
nyagami
762945497b
Fixes & Features ( #1002 )
...
* stop loading even no chapters
* edit artist
* more detail reader settings
2024-03-16 20:42:04 +07:00
nyagami
a7aa203c30
refactor: safe ternary operator rendering
2024-03-14 14:24:11 +07:00
nyagami
aeaecda0cd
Fix app logics ( #1001 )
...
* fix: DocumentPicker apis
* fix: retry on browse source screen
* fix: set categories logic
* fix: dont fire noti when pausing downloading
2024-03-14 00:28:23 +07:00
nyagami
a54ed6de0e
Fix: Novel Drawer & Navigation color ( #999 )
...
* fix: replace DrawerLayoutAndroid with React Navigation DrawerLayout
slower
* fix: bottom navigation color
* fix: drawer background
* fix: theme dependency
2024-03-11 19:30:40 +07:00
nyagami
dde33a0576
Fix themes & Added Reader Image Modal ( #997 )
...
* fix: annoying scroll on context menu
* fix app theme
* fix: android textselecthandle color
* fix plugin render callback dependencies
* add image modal for reader
2024-03-10 23:04:50 +07:00
nyagami
40b7542a78
Adjust UI for chilling ( #995 )
...
* more screen
* browse screen: reduce re-renders
* fix description styles
* browse screen tabs and swipe styles
2024-03-10 17:34:54 +07:00
Patrick Loser
88059fd6b9
Fix: Midnight Dusk Theme ( #983 )
...
* fix midnight Dusk
* added string
2024-03-10 17:34:35 +07:00
nyagami
0d5d7ad084
New Switch look ( #994 )
...
* new Switch look
* refactor: merge SwitchSetting to SwitchItem
* fix: remove margin
2024-03-10 14:00:59 +07:00
nyagami
202feb1f41
Fix chapters logic & Rework Plugins management (UI) ( #993 )
...
* fix: not download/remove local chapters
* fix: deleteChapters callback
* remove plugin id: no sense fot user
* rework plugin management
2024-03-10 00:23:34 +07:00
nyagami
db478130e6
Fix Filter Sheet color & Reader Context menu ( #991 )
...
* fix: initialize once
* fix: filter sheet color
* fix: jump to chapter modal
* move volume button to context menu
* rework TTS
* fix: cleanup
* minor fix
2024-03-08 18:51:39 +07:00
Justin COLLON
607941ea1b
Language: Add Thai ( #989 )
...
* Add Thai
* Thai in languagesMapping
2024-03-06 18:33:31 +07:00
nyagami
da1631ba38
Upgrade RN 0.72, Prettier FilterSheet ( #985 )
...
* upgrade RN to 0.72, expo to 49
* prettier filter sheet
* fix: use react-native activity indicator
* uninstall @react-navigation/material-bottom-tabs
* fix: plugin card loading size
2024-03-05 13:22:11 +07:00
nyagami
2eb6f96b8e
Fix: remove redundant install-time permissions
2024-03-03 00:25:07 +07:00
Patrick Loser
d244001a18
Fix: replaced animation ( #982 )
...
* replaced animation
* lint issue
2024-03-02 23:39:30 +07:00
nyagami
a25e8cb358
Add Polish
2024-03-01 19:57:31 +07:00
Patrick Loser
03b19479c9
Feat: new icons and splashscreen ( #974 )
...
* new icons and splashscreen
* removed playstore image
* changed ic_stat_name to notification_icon
* smaller splashscreen animation
2024-02-28 20:36:26 +07:00
Rider21
4f5451495f
Fix: Webview theme ( #977 )
...
* fast fix
* hotfix
* fixed browser opening
* rewritten
* Update Appbar.tsx
* Update Appbar.tsx
* added BackHandler
* Update Appbar.tsx
* Update src/screens/WebviewScreen/components/Appbar.tsx
Co-authored-by: nyagami <hoangquan05112002@gmail.com >
* Update src/screens/WebviewScreen/components/Appbar.tsx
Co-authored-by: nyagami <hoangquan05112002@gmail.com >
---------
Co-authored-by: nyagami <hoangquan05112002@gmail.com >
2024-02-28 20:09:27 +07:00
Rider21
6510270037
Fix: webview improved ( #975 )
...
* Update pluginManager.ts
* test
* fix
* fix Share
* add qs
* test webview
* Update WebviewScreen.tsx
* Update WebviewScreen.tsx
* webview
* test
* fix crash
* react-native-cookies/cookies
* Update SettingsAdvancedScreen.tsx
* yes
* Compact
Co-authored-by: nyagami <hoangquan05112002@gmail.com >
* expandURL -> resolveUrl
* delete button
* Update fetch.ts
* test
* fix crash
* Update src/services/plugin/fetch.ts
Co-authored-by: nyagami <hoangquan05112002@gmail.com >
---------
Co-authored-by: nyagami <hoangquan05112002@gmail.com >
2024-02-26 20:33:50 +07:00
nyagami
0208b4265f
Fix: backup/restore covers | clean build configs ( #976 )
...
fix: backup/restore covers | clean build configs
2024-02-26 11:35:18 +07:00
Rajarshee Chatterjee
334475431c
Sort Plugins by Name & Center Plugin's Spinner
2024-02-26 09:19:44 +05:30
nyagami
a2220cf3b8
Beta ( #973 )
...
* revert: plugin host
* fix: totalPages for legacy backup
2024-02-25 16:47:45 +07:00
nyagami
9c05266c3c
Feat: Add features from main and fixes ( #972 )
...
* fix: download chapters filter
* fix: deletechapters missing
* fix: tweak chapter
* optimise: chapters preprocess
* fix: bookmark chapter
* fix: not showToast when no network
* fix: preprocess updates|history|download
* fix: ScrollView for morescreen
* feat: exclude download chapter filter
* fix: show labels in nav by default
2024-02-25 13:30:59 +07:00
nyagami
21e46d5493
Fix: Bug fixes ( #969 )
...
* fix: Range selection text
* fix: backup novel transaction
* fix: not show fetch plugins error
* fix: Filter button color
* adjust: plugin detail weight
* minor: plugin tab bar ripple color
* fix: category card buttons
2024-02-24 20:58:23 +07:00
nyagami
ca688bb294
Upgrade TTS ( #968 )
...
* fix: plugins in/uninstall problem
* fix: remove useCallback for plugin item
* feat: implement new UI for TTS
* magic TTS
* fix: infinite loop
* fix: safe epub path
* magic: chose start point for TTS
2024-02-24 11:43:36 +07:00
nyagami
93f5871f1a
Optimizations and bug fixes ( #964 )
...
* upgrade react-native-webview
* optimise: no render reader content when change reader settings
* optimise: no render reader content when change general settings
* fix: missing page when open reader
* fix: library only downloaded filter
* fix: center reader footer
* fix: reader footer padding
* fix: stop loading after fetch chapters
* showToast if cancel epub
* optimise: plugin list
* fix: remove LNReader path
* optimise: replace RNFS utf-8 by native
* fix: add description as epub summary
* feat: hot reload for assets files (reader statics files)
2024-02-22 18:51:16 +07:00
nyagami
1bcc0e6664
LNReader beta version ( #961 )
...
* beta host
* Refactor: url -> path (#944 )
* refactor: url -> pathr
* fix: pluginId
* page support (#947 )
* add new fields
* minor fix
* pages for novel
* render novel pages with drawer
* support real paginated novels
* descending novel chapter list
* update when has new latest chapter
* set hasUpdate for all pages after update
* fix: insert pageIndex
* fix: refreshChapters
* minor refactor: pageIndex
* fix: update page logic
* fix: order by pageIndex
* refactor: Chapter.pageindex -> index (position in page)
* Revert "refactor: Chapter.pageindex -> index (position in page)"
This reverts commit 109298e0ccfa4a0d3d369087e05cb6f307a786b4.
* refactor: pageindex -> position
* fix: reader drawer
* temporary fix migration
* fix: Serialize plugins into one file (#949 )
* serialize plugins into one file
* fix typo
* Fix: insertChapters (#950 )
* Fix: re-renders in novel screen(#951 )
* remove unnecessary wrap
* fix: add local novel back to local category
* fix: use variables for default states
* fix: do not re-render when no FAB
* close drawer if pages length = 1
* add Portal.Host
* Cheaper useNovel hook (#952 )
* fix: using pure state for novel and chapters
* fix: remove latestChapter mmkv hook
* shorter key
* fix: bookmark
* fix: save chapter progress in db
* minor refactor: chapterProgressElement
* Fix: Error/Empty actions (#956 )
* fix: reader error handler
* fix: opacity for novel summary
* fix: library empty view
* fix: upsert and pages logic
* fix: update novel logic
* fix: import epub
* fix: plugin site in global search
* fix: scrollbar font size
* minor fix
2024-02-19 12:48:42 +07:00
nyagami
1b5e345236
more default headers ( #942 )
...
more default headers
2024-02-07 18:53:52 +07:00
nyagami
e5a1753e52
Fix tabiew ( #939 )
...
* fix: tabview look
* fix: error when library is not fetched fully
* fix: legacy backup
* fix: handle error for plugin methods
2024-02-03 10:19:09 +07:00
uy/sun
4bf615477e
Fix update only when chapter info changed ( #935 )
...
fix: update only when info changed
2024-02-01 12:04:09 +07:00
uy/sun
e0dbf87ca7
Fix chapters status lost problem ( #934 )
...
* ci: rename workflows
* chore: update translations
* fix: use upsert
2024-02-01 09:44:57 +07:00
nyagami
ad2412eb62
Zip backup ( #933 )
...
* add remote zip/unzip
* reimplement: remote backup
* fix: close backup request
* get response for remote zip
* add zip drive backup
* add zip drive restore
* fix: categories are not restored
* change scope to drive.file
* add description for backup action
* refactor: Backup types
2024-01-31 19:19:30 +07:00
nyagami
6c20d1855d
Pre alpha patch 5 ( #928 )
...
* fix: `default` category is added after id = 1 was deleted
* add new fields for Novel and Chapter table
2024-01-31 14:30:27 +07:00
nyagami
3f59bcf751
fix: display native lang in plugin card
2024-01-29 18:15:46 +07:00
nyagami
aeafe9d1ca
minor: add NativeLanguage type
2024-01-29 18:06:48 +07:00
nyagami
2501e5a20e
Merge remote-tracking branch 'origin/update-drive-auth'
2024-01-29 17:16:57 +07:00
nyagami
bd3ccdbc07
Pre alpha patch 4 ( #919 )
...
* update google-services.json
* fix: wrong package name - ZipArchive
2024-01-28 19:55:23 +07:00
nyagami
8c70e39492
refactor: EpubParser -> ZipArchive
2024-01-28 18:45:52 +07:00
nyagami
58f6475749
update: use cheerio to parse local novel
2024-01-28 18:43:20 +07:00
nyagami
de9763e83e
update google-services
2024-01-27 12:22:00 +07:00
nyagami
fdc15a0936
Fix: pre-alpha-patch-3 ( #914 )
...
* fix: not allow to delete local category
* fix: throw github cache issue
* refactor: use english key
* minor: native language details
* add translatable strings
2024-01-27 09:26:37 +07:00
uy/sun
0e633b42ba
chore: add more translatable strings ( #908 )
...
* chore: strings in browseScreen
* chore: update translations in strings.json
* chore: translate MoreScreen and downloader.serviceRunning
* chore: translate all things in moreScreen
* feat: support passing options
* chore: update more translations in settings
* chore: translation in LibraryScreen
* chore: add missing en translations
* chore: rearrange strings path
* chore: translate backupScreen
* chore: translate SettingsReaderScreen
* chore: translate statsScreen
* chore: translate HistoryScreen
* chore: translate NovelScreen
* chore: translate remaining strings
* chore: missing translations
* chore: add missing and improve Chinese translation
* chore: improve naming
* chore: remove toast section and add more translations related to notifications
* revert: status translations
* chore: translate NovelStatus
* chore: translate error messages I have encountered
* chore: add more translations used in updateNotification
* chore: update missing translations
* chore: translate backup modal
* chore: translate all taskTitle
* chore: improve translations
* chore: add common.example
* chore: improve emptyChapterMessage
* chore: rearrange backup strings
* chore: flatten keys
* chore: remove unused strings
* chore: translate more stuff
* chore: flatten aboutScreen
* chore: flatten generalSettingsScreen
* chore: flatten readerSettings
* chore: flatten browseSettingsScreen
* chore: flatten settingsScreen
* chore: updated based on review
* chore: translate DefaultCategory
* chore: fix sources translation
2024-01-26 18:47:39 +07:00
nyagami
bf4d761c05
fix: not allow to delete local category
2024-01-26 16:18:39 +07:00
nyagami
09d51b26c6
update plugins host ( #910 )
...
* update plugins host
* fix: missing branch
2024-01-25 20:04:17 +07:00
nyagami
8f6c390dc2
Fix issues reported by pre-alpha users - patch 2 ( #906 )
...
* delete background_action key before action done
* force to delete BACKGROUND_ACTION.
in case app is shutdowned while running bg actions
2024-01-24 09:02:53 +07:00
nyagami
0cf75fd6f9
Fix: pre-alpha-patch-1 ( #905 )
...
* fix: wrong version checker, update lastused
* fix: only show update dialog if newer version
* fix: remove chapter id in chapter item
* fix: date in chapter drawer
* fix: decode uri for local epub
* fix: simpler SetCategoriesModal
* fix: not allow local as default
* fix: no delay on selfhost backup/restore
2024-01-22 23:08:27 +07:00
nyagami
b823c913b5
Last step to Alpha ( #904 )
...
* update CONTRIBUTING.md
* fix: change host branch
* fix: remove showToast from plugin sandbox
* update actions
* update version
2024-01-22 08:55:30 +07:00
nyagami
01e6e9873e
More fetch, add urlencode ( #903 )
...
* feat: add fetchText
* minor: add urlencode
2024-01-21 15:35:01 +07:00
nyagami
d299e91a93
Merge pull request #897 from nyagami/main-feats
...
Add some features from main, improve UI
2024-01-21 13:05:32 +07:00
nyagami
430e5712fa
fix: add chapter number, fix novel screen ui
2024-01-20 20:49:16 +07:00
nyagami
551425c018
feat: artist name,
...
fix: chapter release as local time
2024-01-20 18:26:45 +07:00
nyagami
665bca00ea
fix: regex freeze app
2024-01-18 23:16:09 +07:00
nyagami
2ec6032673
chores: add translations
2024-01-18 15:40:37 +07:00
nyagami
d52f630775
fix: circle requires in deleteCachedNovels
2024-01-18 15:04:22 +07:00
nyagami
3e7f51e9ae
feat: custom UserAgent
2024-01-18 14:56:31 +07:00
nyagami
bc977fd0cb
feat: useUserAgent
2024-01-18 14:23:32 +07:00
nyagami
deef93172b
fix: clear novel settings when deleting
2024-01-18 14:12:26 +07:00
nyagami
fa8b69a630
fix: chapter drawer layout
2024-01-18 14:07:04 +07:00
nyagami
abd8d65914
fix: cleanup
2024-01-18 12:50:36 +07:00
Nyagami
c71dda77d4
feat: save novel cover to download folder (if possible)
...
remove clear cached covers
2024-01-18 00:18:57 +07:00
Nyagami
c2caee6ef9
replace FastImage by regular Image
...
- Glide -> Fresco (image loader)
2024-01-17 18:41:22 +07:00
Nyagami
e2588908c1
minor: page number required in searchNovels
2024-01-16 17:39:40 +07:00
Nyagami
9b36043a00
feat: search next page
2024-01-15 23:24:19 +07:00
Nyagami
72fe3bb0f3
remove Flipper (which may cause internet stuck)
2024-01-15 21:01:13 +07:00
Nyagami
9f75945cf6
fix: skip chapter when error downloading
2024-01-15 20:47:36 +07:00
Nyagami
82f2b4e3b5
fix: filter picker value text color
2024-01-15 20:22:15 +07:00
Nyagami
bdb7eb4521
fix: expo notification icon (not app icon)
2024-01-15 19:59:37 +07:00
Nyagami
c42f0a0bb0
fix: background actions notification icon
2024-01-15 19:57:37 +07:00
Nyagami
a33db07583
fix: expo notification icon
2024-01-15 19:45:23 +07:00
Nyagami
2b99c3d17d
fix: android user-agent
2024-01-14 23:22:48 +07:00
Nyagami
6ea1ecb43d
fix: handle fetchApi for 2 kind of headers
2024-01-14 23:22:18 +07:00
Nyagami
bbe5ccea81
remove cookie stuffs
2024-01-14 23:19:05 +07:00
Nyagami
da3a589c88
refactor MMKV backup data to util
2024-01-14 14:56:47 +07:00
Nyagami
26b312372e
add tracker client variables for build action
2024-01-14 14:22:13 +07:00
Nyagami
39dc3ec8d6
fix: center label when no badge in library
2024-01-14 11:34:04 +07:00
Nyagami
560848f5d5
fix: reader bottom tab border
2024-01-14 11:32:55 +07:00
Nyagami
0bbd0da68c
fix: ui for tracker
2024-01-14 10:24:39 +07:00
Nyagami
bbdd569522
fix: jump to chapter modal keyboard
2024-01-14 10:02:08 +07:00
Nyagami
937e789b67
fix: exclude some MMKV keys when backup
2024-01-14 09:47:58 +07:00
Nyagami
f8647a8e49
upgrade react-native-paper to fix modal ondismis
2024-01-14 02:12:12 +07:00
Nyagami
f93bceb136
remove play button from history
2024-01-13 22:46:58 +07:00
Nyagami
e8d343893f
add animated fab
2024-01-13 22:38:48 +07:00
Nyagami
769ff36352
custom js, css modal
2024-01-13 22:02:30 +07:00
Nyagami
1253f44413
update ui for installed plugined
2024-01-13 17:52:02 +07:00
Nyagami
1c802c5e3b
fix: update plugin logic
2024-01-13 17:50:55 +07:00
Nyagami
a19b374cb4
fix: small plugin card, loading when installing
2024-01-13 16:25:53 +07:00
nyagami
420603f911
Replace Redux thunk by react native MMKV ( #893 )
...
* refactor: useBoolean hook
* refactor: useGithubUpdateChecker hook
* refactor: move showToast to utils
* refactor: useBackHandler hook
* refactor: useTextToSpeech hook
* refactor: useDeviceOrientation hook
* refactor: usePreviousRouteName hook
* refactor: useFullscreenMode hook
* refactor: useSearch hook
* refactor: useTheme hook
* fix: remove updates reducer
* refactor: useCategories hook
* refactor: useHistory hook
* refactor: useLibrarySettings hook
remove unused useCategories hook
* fix: reanimated version for expo
* refactor: library, chatper hooks
* refactor: app, browse settings hooks
* refactor: usePlugins hook
* fix: max depth in useEffect, plugins state logic
* feat: add Anilist tracker
* refactor: useTracker hook
* useTrackedNovel hook
* minor fixs
* refactor: useNovel hook
* minor fix: book mark button
* refactor: useDownload hook
* fix: migrate function
* remove redux + cleanup
* update node version for build
* fix: download Queue, migrate action
* fix: increaes hit slop for thumb, add reader playground
* fix: plugins not updated when installing while searching
* fix: safe plugin management
* Squashed commit of the following:
commit 51968f66bdd69f28f1863b5668f9511ba53c3fff
Author: Nyagami <hoangquan05112002@gmail.com >
Date: Sat Jan 13 13:20:33 2024 +0700
better logic for download progress bar
commit 5069de11644e7aece39efc73dfd80d093982b032
Author: Nyagami <hoangquan05112002@gmail.com >
Date: Sat Jan 13 13:14:33 2024 +0700
fix: delete BACKGROUND_ACTION in finally clause
commit 181103e994831da6744d122faaa60c48da529a63
Author: Nyagami <hoangquan05112002@gmail.com >
Date: Sat Jan 13 13:10:56 2024 +0700
update react-native-background-actions
2024-01-13 14:28:24 +05:30
nyagami
7a6710dc0b
feat: Google Drive Backup ( #872 )
...
* setup google signin
* minify build scripts, add google signin modal
* feat: Drive backup
* feat: drive restore
* fix: remote backup
* upgrade react native to stable version
+ less build configs
* fix: path separator.
feat: sync backup between 2 methods
* legacy backup
* fix: expo speech
2024-01-07 16:58:05 +05:30
Marcin Majewski
7262f1d249
Filters Redesign ( #856 )
...
New filters system adding intelisense
Co-authored-by: Rajarshee Chatterjee <rajarshee.adm@gmail.com >
2023-12-27 19:36:45 +05:30
nyagami
5c12540071
refactor: Convert Javascript files into Typescript ( #845 )
...
* cheaper debug build
* index.ts, App.tsx
* TS for navigators
* TS NovelScreen
* TS Reader Screen
* TS More Screen
* TS Source Screen
* TS Browse Settings Screen
* TS Global Search Screen
* fix: useNavigation for more stack
* fix: Composite Types for More Screen
* TS Browse + Migrate Screen
* TS Settings Screen
* TS util
* TS services
* fix: Library query
* TS Components
* refactor: settingsSliceV1
* refactor: Preference reducer
* TS for MAL
* refactor: Native modules
* Not TS the entry file
* fix: zip folder entry, special file name
* fix: plugin is undefined if 'local'
* fix: add param for morestack navigation
* fix: Component is bool
* fix: novel reducer
* fix: not updating local novels
2023-12-27 19:35:05 +05:30
nyagami
7fbdd92117
feat: Import EPUB ( #833 )
...
* implement classes for plugins
* feat: plugin manages UA, cookie itself
* fix: repo path
* safer regexString
* feat: EpubParser native module
* add reject to parser
* local category, better insert category trigger
* add isLocal field to Novel
* category update logic for local novels
* feat: import epub
* delete downloaded folder when delete novel
* local novel screen
* update build.yml
* fix: novel without cover
2023-11-10 18:31:09 +05:30
nyagami
5c818be5ab
refactor: Classes for Plugins ( #824 )
...
* implement classes for plugins
* feat: plugin manages UA, cookie itself
* fix: repo path
* safer regexString
2023-11-04 15:46:18 +05:30
nyagami
1b25acba26
refactor: Using classes for reader UI ( #775 )
...
using classes
2023-09-15 07:46:28 +05:30
nyagami
434d03615c
fix: Remove Description and Protected ( #753 )
2023-08-22 18:07:20 +05:30
nyagami
9bde9528df
feat: FileSystem, Highlight TTS ( #741 )
...
* fix restoreCategory
* feat: using file for js, css
- cheaper seekbar (maybe)
- cheaper showScrollPercentage
- autoSaveInterval
- cheaper loading image
- cheaper error images handler (no need protected attribute anymore)
* feat: store downloads in file
* move plugins to app download folder
* Feat: Hightlight TTS
- optimise render chapter text
- scroll fix
2023-08-18 21:44:05 +05:30
nyagami
191975f0f9
Tssupport, backup AppVersion ( #680 )
...
* add exports variable
* fix: remove pinned and lasteUsed after uninstall
* fix: language filter for installed plugin
* create index for Chapter in novelId
* reorder headers parame in fetchApi
* remove Language from plugin libs
* fix: not backup empty cover
* feat: backup app version
* fix: chapter index
* feat: checkAppVersion when restoring
* update: using normal exports instead of default
move fetchFile into fetch.ts
* defaultCoverUri -> defaultCover
2023-08-17 08:49:28 +05:30
nyagami
f8895b80b4
fix: wrong mincroll in Update, History. TS Reader, Navigation (Main) ( #665 )
...
* fetch prev&next chapter and text at the same time.
* typescript for Main and Reader (and some related screens)
* fix: update time order
* feat: three dots button for browse
* fix: reader got wrong minscroll
* remove unused package drawer
* fix: seekbar bottom position
* add data-set in script (Reader)
2023-08-17 08:49:14 +05:30
nyagami
e5c73615f1
feat: Remote Backup ( #659 )
...
* feat: remote backup (novel, category)
* feat: full backup
* fix: throw when downloading without installed plugin
* update: using websocket to tranfer data
* remote restore
* error handler for restore
* normalize code by recursion
* Not backuping tracker.
Because users can share their backup.
And tracker setting cotains their own token.
* fix: not create .nomedia in download dir
* fix: 2 children have same key in filter input
* fix: 2 children have same key in Picker Item
2023-06-30 09:41:10 +05:30
K1ngfish3r
800eb5ee30
Update pluginManager.ts ( #661 )
...
add showToast
2023-06-30 09:39:16 +05:30
nyagami
721b7edf1c
fix: new github path for plugins json files ( #636 )
...
* change plugins host
* remove suffix
* update: new github path
2023-05-16 21:10:36 +05:30
nyagami
27501b223d
fix: Update Plugins Host ( #627 )
...
* change plugins host
* remove suffix
2023-05-11 21:08:21 +05:30
nyagami
0e5c4b8243
feat: Plugins & Rework Database ( #579 )
...
* remove AsyncStorage, disable hermes
* init
* update logic
* update libs for plugins
* move interface to types
* refactor, add language type
* small refactor of languages
* getPlugin
* update alias
* collect plugin on launch
* update interface Plugin
* move lang to PluginItem
* implement install plugins
* fix plugins reference
* fix fetching logic
* fix empty list
* refactor Browscreen
* implement searchNovels
* refactor plugin reducer
* try to remove old sources
* try to refactor
* tabview with theme, remove rn-fetch-blob
* update lib for plugin, temp fix for browse
* try to replace source by plugin in db
* many updates
* update db
* fix queries error
* update db
* update db
* update History table
* update db types
* format table name
* rename service
* rename field
* refactor interfaces
* update constrait
* update novel queries
* update constrait
* update novel and category queries
* more flexible category
* update library queris
* create category trigger, add constraints
* sync variables name with js rule :(
* setup database 90%
* updates queries
* queries to add novel to lib
* remove delete updates => delete download
* minor
* app work 20%
* query default one time
* createdb first
* remove 90% sources
* fix library queries
* temporary fix
* remove all source
* remove old languages constant
* update trigger
* update types
* refactor types, update trigger, refactor queries
* at least can go to novel screen
* update novel redux
* can go to novel screen
* remove generator
* change sourceId to pluginId
* can read chapter :(
* minor fix
* can use history screen
* unique key in historyscreen
* remove never use hook
* at least can use reader
* minor
* fix download queries
* fix history and chapterDrawer doenst need setNovel
* fix last read
* update click heart to follow novel
* insertNovel
* long press novels in library,
* change default category by move up
* update edit category, fix foreign constrait
* loading before get novel done
* fix categories were added.
Dont know why trigger didnt work.
So I decide to use normal queries
* fix errors when edit infos
* shorter init plugin
* fix stats screen
* minor fix for seekbar
* set re-request, fix download chapter
* hard fix:), maybe refactor it later
* must use sum to count :D
* update query
* fix migrate screen
* minor fix
* fix migrate screen and global search display
* minor
* quick fix for update screen
* update plugin props
* lol :D
* Backup work now.
But need to install plugins
* restore error backup
* If get novel without chapters. Fetch it again
* if all error novels are restored, remove error file
* minor fix
* remove never used packages.
* Complete plugin feature. Bump to RN 0.69.
I will write a changelog soon
* fetchFile for app side
* Fix: transparent bottem sheet, undefined index.
hideNavigationBar causes transparent bottem sheet (still opening but invisible.
Hope to find an actual fix later
* newUpdateDialog without markdown
* fix: Browse plugins behaviors
* fix: reader screen crashs when plugin is not installed
* Minor fix: undefined variables when updating
* minor fix: fetchFile return base64
* only update newversion
* fix: buildReleas succesfully but app crashes when opening.
from: https://github.com/facebook/react-native/issues/34114
* fix: webview send correct body height
* Refactor: remove HistoryTable.
remove PluginStatus
* Refactor: Migrate Update and History into Chapter.
- remove nerver used hook: useChapter
* fix: edit categories modal in novel screen
* minor: LL date format
* minor: remove html2text lib
* minor: migrate inlibrary novel
* Migrate novel and clean up
* small fix for migrate function
* Database Diagram
* optimise: O(1) to determine if lastread is read
* fix: position could be undefined
* refactor: change prop name. postion.position -> postion.offsetY
* fix filter
* fix: missing param in parseChapterNumber
* not a good fix, but it works xD
* fix: Text trunct almost title, should find a better fix later.
* enable feature: migrate from browse screen
* add data-plugin-id tag
* no `ghost` novel (which has no category)
* minor fix: detele all novel categories when removing novel form lib
* minor: deleteDownloadsSnackbar
* edit warning
* add chapter tag on preview
* add id for plugin, novel, chapter. smaller padding
* Use BottomSheetModal
* implement cookies bypass
* default language filter
* change default user agent
* shorter langue native name
* missing NOVEL_ERROR
* add filterInputs
* correct spelling :)
* add dayjs
* minor: remove console.log
* update site for pluginItem
* update icon,
* minor: remove unnecessary things
2023-05-08 07:09:20 +05:30