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
Huang Xin
ea15906acf
fix(txt): fixed TXT import on platforms that CompressionStream is not working, closes #3255 ( #3302 )
2026-02-14 23:30:38 +08:00
Mohammed Efaz
15d2784725
fix: highlight in dark mode eink ( #3299 )
...
* fix: highlight in dark mode eink
* refactor: deduplicate
* fix: bw eink highlights to use the fg colour so saved highlights are visible
* fix: avoid grayscale color in E-ink mode for better legibility
---------
Co-authored-by: Huang Xin <chrox.huang@gmail.com >
2026-02-14 13:32:52 +01:00
Huang Xin
ae3bb9da9a
fix(annotator): update highlight style, color and range handlers when showing different annotations, closes #3286 ( #3289 )
2026-02-13 16:46:44 +01:00
Mohammed Efaz
239b32fcc2
fix: reader ruler disabled in scroll mode ( #3288 )
2026-02-13 16:35:25 +01:00
Huang Xin
f64739419b
release: version 0.9.100 ( #3279 )
v0.9.100
2026-02-12 18:08:30 +01:00
Huang Xin
af8f036ca3
fix(annotator): apply custom highlight colors in sidebar, closes #3273 ( #3278 )
2026-02-12 17:43:11 +01:00
Huang Xin
24a87508c6
fix(layout): respect image dimension attribute, closes #3274 ( #3277 )
2026-02-12 16:41:57 +01:00
Huang Xin
548d50a882
fix(tts): navigate to follow the current TTS location for the next section, closes #3198 ( #3276 )
2026-02-12 16:13:41 +01:00
Huang Xin
1e81ab5205
doc: update sponsor link in README ( #3275 )
...
Updated the TestMu AI sponsor link in the README.
2026-02-12 14:10:54 +01:00
Huang Xin
a47a480aa2
fix(layout): persistent location for the sidebar toggle, closes #3193 ( #3269 )
2026-02-11 16:29:26 +01:00
Huang Xin
411f9e236d
feat(metadata): support parsing series info from calibre exported EPUBs, closes #3259 ( #3267 )
2026-02-11 15:39:48 +01:00
Huang Xin
950bbd0821
fix: expose srcdoc also for html sections, closes #3264 ( #3266 )
2026-02-11 13:15:56 +01:00
Huang Xin
2824e50b51
feat(annotator): snap text selection to word boundary, closes #3234 ( #3265 )
2026-02-11 12:53:23 +01:00
Huang Xin
129720c916
fix(eink): more legibility for the dictionary and wikipedia popups on Eink devices, closes #3258 ( #3262 )
2026-02-11 10:22:05 +01:00
Huang Xin
fd3533dba1
feat(annotator): add a loupe when adjusting text selection range, closes #3002 ( #3261 )
2026-02-11 10:13:22 +01:00
Huang Xin
920032155b
fix(tts): fix paused tts will still read to the end of the current paragraph, closes #3244 ( #3256 )
2026-02-11 03:06:12 +01:00