bfcs
e949476d27
fix(translation): resolve DeepL translation failure with auto-detection ( #3412 )
...
* fix(translation): correctly handle DeepL source_lang 'AUTO' by omitting it
* refactor: backward compatibility
---------
Co-authored-by: Huang Xin <chrox.huang@gmail.com >
2026-03-01 06:03:52 +01:00
Huang Xin
0afff573a1
chore: bump dependencies to resolve Dependabot alerts ( #3421 )
2026-02-28 18:31:33 +01:00
Huang Xin
d4bb61f12b
fix(layout): responsive layout for OPDS catalogs and download button ( #3418 )
2026-02-28 17:07:20 +01:00
Huang Xin
09c45b4615
fix(linux): avoid transitions API on WebKitGTK on Linux ( #3417 )
2026-02-28 16:35:39 +01:00
Huang Xin
d8eef87bf0
chore(agents): add AGENTS.md for readest-app ( #3415 )
2026-02-28 15:30:31 +01:00
Huang Xin
66d2fdf999
release: version 0.9.101 ( #3410 )
v0.9.101
2026-02-28 09:50:23 +01:00
Huang Xin
d8e0ceeff1
fix(annotator): add page number in highlight export to Readwise ( #3409 )
2026-02-28 09:45:09 +01:00
Huang Xin
f3ad97b989
fix(opds): add missing book description in OPDS feed ( #3408 )
2026-02-28 09:30:56 +01:00
Huang Xin
1bb49ab023
fix(tts): dispose of the TTS view when shutting down the TTS controller, closes #3400 ( #3406 )
2026-02-28 08:58:02 +01:00
bfcs
f9a0b39586
fix: respect fixed translation quota in UI stats and DeepL provider ( #3404 )
2026-02-28 08:10:31 +01:00
Huang Xin
c533da498d
feat(annotator): add page number for annotations, closes #3082 ( #3405 )
...
* feat(annotator): add page number in annotation
* feat: add page number for annotations, closes #3082
2026-02-28 08:08:56 +01:00
Huang Xin
b50bc0b854
fix: make touchpad scrolling respect the system’s natural scrolling settings, closes #3127 ( #3398 )
2026-02-27 07:24:49 +01:00
Huang Xin
96c465931c
fix(toc): fix phantom subchapter TOC item ( #3397 )
2026-02-27 07:23:12 +01:00
Huang Xin
2bd54ac236
fix(tts): also show highlight when navigating in paused mode and improve abbreviations processing ( #3396 )
...
Closes #3317 .
2026-02-27 06:46:27 +01:00
Huang Xin
6ad549d13c
fix(iOS): correct sidebar insets on iPad and resolve occasional stale safe area inset on iOS ( #3395 )
2026-02-27 05:43:45 +01:00
Blyrium
67249370c9
fix(font): fix generic font family keywords bypassing user font settings ( #3394 )
...
* Fix generic font families resolving incorrectly
Replace `serif`, `sans-serif`, and `monospace` keywords in epub stylesheets with their corresponding CSS variables (`var(--serif)`, `var(--sans-serif)`, `var(--monospace)`), ensuring the user's configured fonts are always used.
Fixes https://github.com/readest/readest/issues/3334
* Got rid of the lookbehind
But now we're using a placeholder.
2026-02-27 08:55:24 +08:00
Huang Xin
fe3ab011ca
fix(tts): set document lang attribute when missing or invalid for TTS, closes #3291 ( #3393 )
2026-02-26 17:17:51 +01:00
Huang Xin
6cb4278b98
fix: fixed all progress at the last page of the book, closes #3383 ( #3391 )
2026-02-26 14:01:42 +01:00
Huang Xin
51468862a2
fix(ui): show progress 100% at the last page, closes #3383 ( #3390 )
2026-02-26 11:08:21 +01:00
Huang Xin
b3a44d066f
fix(layout): enlarge hit area for slider input on iOS, closes #3382 ( #3389 )
2026-02-26 09:26:28 +01:00
Huang Xin
68d4538d40
fix(layout): float the annotation navigation bar, closes #3386 ( #3387 )
2026-02-26 06:56:29 +01:00
Roy Zhu
80105af839
fix(txt): stabilize iOS large TXT import and decode picker paths ( #3320 )
...
* fix: add missing TXT worker files for large import path
* fix(ios): decode import paths and stabilize large TXT conversion
* style(txt): run prettier on TXT conversion files
* fix(txt): restore chunk iterator API and stream cancel behavior
* fix(txt): avoid unused private segment iterator
* chore: clean up log for unit tests
---------
Co-authored-by: Huang Xin <chrox.huang@gmail.com >
2026-02-26 05:30:13 +01:00
Huang Xin
3904c1e8e7
perf: use GPU-accelerated scroll for smoother paging animation ( #3385 )
2026-02-26 03:39:37 +01:00
Alan
99be6c58e2
fix: close searchbar when adding a new annotation ( #3384 )
2026-02-26 09:20:27 +08:00
Huang Xin
664cc772d0
fix: more sensitive paging without snapping animation, closes #3310 ( #3381 )
2026-02-25 17:47:55 +01:00
Huang Xin
21208adbcf
compat: add target class to hide import icon in the bookshelf, closes #3376 ( #3380 )
2026-02-25 14:13:10 +01:00
Huang Xin
70eb59e2d6
compat(css): only override img background when overriding book color, closes #3377 ( #3379 )
2026-02-25 11:43:02 +01:00
Huang Xin
3e7b57282e
fix: delay context menu to prevent broken input loop on macOS, closes #3324 ( #3378 )
...
When a native context menu is triggered via right-click, the menu.popup()
call immediately takes control and disrupts the browser's pointer event
flow. This prevents the pointerUp event from being delivered, leaving the
input event loop in an inconsistent state where the first tap after
dismissing the menu is not captured.
The fix adds a 100ms delay before showing the context menu, allowing the
browser's input loop to complete the pointerUp event for the right-click
before the native menu interferes.
2026-02-25 11:22:25 +01:00
Huang Xin
534582b125
compat(css): unset none user-select in some EPUBs, closes #3370 ( #3374 )
2026-02-25 07:10:06 +01:00
Huang Xin
4465e6986e
chore: add husky pre-commit and pre-push hooks ( #3372 )
2026-02-25 06:39:11 +01:00
Blyrium
a535f6419e
fix: allow CSS targeting of the "NUMBER pages left in chapter" label via <Trans> component ( #3368 )
...
* Allow users to change the "remaining pages" label
Makes the remaining page number and the label text that comes with it targetable with CSS.
Solves https://github.com/readest/readest/issues/3343 .
* Fixed formatting
2026-02-25 06:11:45 +01:00
Huang Xin
65da9c1d47
compat(webview): compat with older webview for iterating gamepads ( #3366 )
2026-02-24 16:59:52 +01:00
Huang Xin
5f71fd9e47
fix(css): override inline image background color only when overriding book color, closes #3316 ( #3365 )
2026-02-24 16:04:28 +01:00
Huang Xin
dcf75e07d1
feat(translator): add Khmer in translator target languages, closes #3323 ( #3364 )
2026-02-24 15:51:50 +01:00
Huang Xin
79ba9b3818
compat(css): unset font-family for body when set to serif or sans-serif, closes #3334 ( #3363 )
2026-02-24 15:18:12 +01:00
Huang Xin
128b238bcb
feat: add directional view transitions with scroll preservation in library view, closes #3357 ( #3362 )
2026-02-24 14:56:45 +01:00
Mohammed Efaz
e26f7e6a2c
fix: empty paragraphs not skipped in paragraph mode ( #3361 )
...
* fix(paragraph): skip empty paragraph ranges
* test(paragraph): cover empty paragraph filtering
2026-02-24 09:05:35 +01:00
Huang Xin
4c5ff59bcf
fix(layout): also scale table with parent width, closes #3284 ( #3359 )
2026-02-24 08:11:45 +01:00
Huang Xin
99b2a34bd2
compat(layout): fix insane block display for tables, closes #3351 ( #3358 )
2026-02-24 07:26:03 +01:00
Huang Xin
40f3268ef3
fix(layout): consistent padding and radius for the dialog header, closes #3352 ( #3356 )
2026-02-24 06:55:47 +01:00
Huang Xin
4dac0850c5
fix: add classes for progress info labels, closes #3343 ( #3353 )
2026-02-24 05:24:01 +01:00
Huang Xin
118538ba35
fix(epub): replace background also for scrolled mode, closes #3344 ( #3350 )
2026-02-24 04:37:44 +01:00
JustADeer
4a92cacd84
fix: changed tagName comparision to localName for case-insensitive in iframeEventHandlers (XHTML xmlns bug fix) ( #3349 )
2026-02-24 09:21:03 +08:00
Matt Vogel
ce53cd2b47
feat: Readwise highlights sync ( #3311 )
2026-02-24 00:08:59 +08:00
JustADeer
b99c1bc19a
feat(ui): image viewing mode support ( #3328 )
...
* feat(ui): image viewing mode support
* Revert foliate-js submodule pointer to 72fda6a (CI-compatible)
* Fix long-press image viewing in foliateViewer instead of foliate-js and other refactors
* feat: add images navigation buttons and table viewer
---------
Co-authored-by: Huang Xin <chrox.huang@gmail.com >
2026-02-22 17:28:48 +01:00
Aniket Kotal
eec2c39f19
feat(docker/podman): self-hosting with docker/podman compose ( #3312 )
...
* initial files
* added testing files
* removed unused files
* cleaned additional mounts
* fixed sql init
* removed more unused files
* moved to docker folder
* revert package.json
* gitignore update
* env example comments and compose necessary healthcheck
* ghcr package impl
* updated dockerfile steps for layer caching
* added development-stage to dockerfile to dev environment
* added documentation on how to use dockerfile and compose.yml
* fixed prettier issues
* fixed image tag
* removed workflow for later
2026-02-18 14:28:10 +01:00
Mohammed Efaz
c6ae85484e
fix(reader): clamp reading ruler within viewport ( #3314 )
2026-02-18 14:13:06 +08:00
Huang Xin
7a9f46e93c
fix(layout): container layout for dimmed area of reading ruler, closes #3304 ( #3313 )
2026-02-17 18:34:48 +01:00
Mohammed Efaz
b9f6578127
feat: remaining time in TTS mode ( #3300 )
...
* feat: add test
* chore: update test
* feat: add translations
* feat: add tts time
* feat: add tts time components
* feat: update test
* feat: fixes and update ui components
* refactor: revert translations and ui
2026-02-14 17:42:37 +01:00
Huang Xin
e75a3d254e
fix(tts): fixed an issue where starting TTS from the annotation tool did not work, closes #3292 ( #3303 )
2026-02-14 17:22:46 +01:00