1384 Commits

Author SHA1 Message Date
github-actions[bot] cb1a5d9e82 chore: Release v2.1.3 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 v2.1.2 2026-07-29 10:17:01 +00:00