Huang Xin
001e836ae3
chore: bump eslint-config-next to version 16 ( #2294 )
2025-10-22 15:57:04 +02:00
Huang Xin
34a5e58872
feat: add keyboard shortcuts to go prev/next sections, closes #2287 ( #2291 )
2025-10-22 07:41:33 +02:00
Huang Xin
c1d6825793
fix: more sensitive snap to paginate, closes #2252 ( #2256 )
2025-10-17 16:05:39 +02:00
Huang Xin
60ddb17547
feat: add support for per-book background image settings in addition to global settings, also closes #2223 ( #2225 )
2025-10-14 08:54:26 +02:00
Huang Xin
f696b9a573
fix: handle scrolling/panning in zoomed in PDFs, closes #2184 ( #2194 )
2025-10-10 07:56:41 +02:00
Huang Xin
562ccd4b9e
feat: add keyboard shortcuts for toggling bookmarks/sidebar, importing books, closing window ( #2170 )
...
And make the shortcuts compatible with GNOME Human Interface Guidelines.
This closes #2079 and closes #2168 .
2025-10-04 16:12:31 +02:00
Huang Xin
bdef593cdd
feat: support global settings from library menu, closes #2140 ( #2151 )
2025-10-01 09:59:37 +02:00
Huang Xin
0a1e0212e2
feat: supported background TTS with media session controls, closes #2099 and closes #964 ( #2138 )
2025-09-29 19:45:17 +02:00
Huang Xin
1e6525d085
fix(sync): handle incomplete config data from koreader ( #2115 )
2025-09-25 11:49:43 +08:00
Huang Xin
509320813f
tts: support media session in desktop apps ( #2071 )
2025-09-19 10:22:39 +02:00
Huang Xin
54d7e73acb
fix: disable swipe up to toggle action bar for PDF zoomed in ( #2068 )
2025-09-18 19:46:47 +02:00
Huang Xin
e30a39f9cb
fix(config): prevent occasional errors when saving progress and configs ( #2065 )
2025-09-18 16:56:44 +02:00
Huang Xin
91a5454b46
feat(sync): aggregate books with metadata hash for progress and annotation sync ( #2062 )
2025-09-18 14:05:16 +02:00
Huang Xin
9fd152d727
refactor(a11y): add basic lint for accessibility ( #2021 )
2025-09-11 18:57:04 +02:00
Huang Xin
2571ceede4
fix: also apply zoom shortcuts to PDFs ( #2016 )
2025-09-10 17:32:23 +02:00
Huang Xin
210eda0340
fix: pagination with volume keys now has right direction for RTL books, closes #1996 ( #2004 )
2025-09-09 05:36:45 +02:00
Huang Xin
e03b0af58a
feat: swipe to paginate on fixed layout books, closes #1028 ( #1995 )
2025-09-07 16:14:34 +02:00
Huang Xin
71c2143cba
fix: avoid pagination until book view is inited, closes #1983 ( #1994 )
2025-09-07 14:47:35 +02:00
Huang Xin
dfe68988aa
fix(kosync): use 1-based indices in xpointer, closes #1968 ( #1973 )
2025-09-06 07:40:32 +02:00
Huang Xin
06db7f36f8
refactor: rename ConfirmSyncDialog to KOSyncResolver ( #1937 )
2025-08-31 05:46:43 +02:00
Huang Xin
cb126613b1
perf(sync): incremental sync of library books ( #1917 )
2025-08-27 19:04:57 +02:00
Huang Xin
515bfee2a1
fix(kosync): normalize xpointer to improve KOReader sync tolerance, closes #1857 ( #1914 )
2025-08-27 09:18:32 +02:00
Huang Xin
584f3511f8
refactor(kosync): move kosync into reader sidebar menu and add manual pull/push trigger ( #1912 )
2025-08-27 13:32:00 +08:00
Huang Xin
bfacadb964
layout: fix options list align right on Windows ( #1829 )
2025-08-18 16:10:06 +02:00
Huang Xin
0dfa8e96f5
feat(sync): add readest koplugin for progress sync, also implements #1729 ( #1785 )
2025-08-12 18:24:47 +02:00
Zeedif
595608bd62
feat: Implement KOReader Progress Synchronization ( #1770 )
...
* feat(sync): implement KOReader progress synchronization
This commit introduces a comprehensive feature to synchronize reading progress with a KOReader sync server. It includes a compatibility layer to handle discrepancies between Readest's CFI-based progress and KOReader's XPointer/page-based progress, primarily using the `percentage` field as a common ground.
Key additions include:
- A new settings panel under "KOReader Sync" for server configuration, authentication, and sync strategy management (e.g., prompt on conflict, always use latest).
- A conflict resolution dialog that appears when remote progress differs significantly from local progress, allowing the user to choose which version to keep.
- A client-side `useKOSync` hook to manage the entire synchronization lifecycle, including API calls, state management, and conflict resolution logic.
- A new API endpoint `/api/kosync` that acts as a secure proxy to the user-configured KOReader sync server, handling authentication and forwarding requests.
- Logic to differentiate between paginated (PDF/CBZ) and reflowable (EPUB) formats, using page numbers for paginated files where possible and falling back to percentage for reliability.
- Spanish translations for all UI elements related to the KOReader sync feature.
- Addition of `uuid` package to generate a unique `device_id` for sync purposes.
Refactor:
- The `debounce` utility has been improved to include `flush` and `cancel` methods, allowing for more precise control over debounced function execution, which is now used in the sync hook.
* fix(kosync): add support for converting between XPointer and CFI in progress synchronization
* fix(kosync): update navigation method to use select instead of goTo for paginated formats
* fix(kosync): refactor synchronization settings and improve conflict resolution handling
* fix(kosync): add event dispatcher for flushing KOReader synchronization
* fix(sync): handle xpointer in a different section, fix styling
* i18n: update translations
---------
Co-authored-by: Huang Xin <chrox.huang@gmail.com >
2025-08-11 17:53:28 +02:00
Huang Xin
b9add62ba7
translation: skip translating pre, code and math tags, closes #1693 ( #1698 )
2025-07-28 09:18:19 +02:00
Huang Xin
74e1b733a9
layout: dismiss system context menu popup when selecting text on iPad, closes #1485 ( #1549 )
2025-07-07 14:57:04 +02:00
Huang Xin
8eefba2bee
feat: add an option to show/hide original text in translation, also closes #1492 ( #1511 )
2025-07-02 07:27:05 +02:00
Huang Xin
49e6877810
feat: add option to toggle Parallel Reading on/off when viewing multiple books, closes #1496 ( #1504 )
2025-06-30 19:06:59 +02:00
Huang Xin
bc2c3a2c9a
feat: add options to reset settings in the config dialog, closes #1111 ( #1475 )
2025-06-26 09:59:34 +02:00
Huang Xin
8c0cdb0e22
layout: tweaks on layout for iPad ( #1446 )
2025-06-22 05:55:40 +02:00
Huang Xin
b2a4ddae60
feat: show annotation create time and various other UI fixes ( #1412 )
2025-06-18 13:17:18 +02:00
Huang Xin
8a7d0e1b0d
fix: annotation tools now works when TTS is enabled, closes #1403 ( #1406 )
2025-06-16 08:53:55 +02:00
Huang Xin
261ce95ed1
feat: add keyboard shortcut t to toggle TTS ( #1405 )
2025-06-16 08:50:10 +02:00
Huang Xin
f7f8872a13
tts: translation also when TTS is played in the background, closes #1383 ( #1399 )
2025-06-15 09:07:22 +02:00
Huang Xin
467e80cd4b
fix: various fixes on text selector in TTS mode and normal image height ( #1390 )
2025-06-13 17:28:21 +02:00
Huang Xin
ebe1c10c84
sync: also update deleted notes in synchronization, closes #1356 ( #1357 )
2025-06-06 11:47:26 +02:00
Huang Xin
3f8d03ae28
sync: add sync status menu item in view menu, closes #844 ( #1324 )
2025-06-03 11:43:58 +02:00
Huang Xin
c51c95b883
feat: support note taking with markdown, closes #1097 ( #1315 )
2025-06-02 11:35:09 +02:00
Huang Xin
1acba2e08c
fix: notebook now won't prevent pagination, closes #1285 ( #1294 )
2025-05-31 15:02:36 +02:00
Huang Xin
32f9346f84
tts: more robust way to save last speaking location for tts ( #1293 )
2025-05-31 13:34:35 +02:00
Huang Xin
84fc4cec5e
tts: read from last read sentence in tts ( #1291 )
2025-05-31 10:53:36 +02:00
Huang Xin
77fa57438e
tts: show speaking sentence and chapter info in tts media session ( #1289 )
2025-05-31 09:21:17 +02:00
Huang Xin
c7a583c53a
translator: lazy load translation observer ( #1282 )
2025-05-30 09:08:45 +02:00
Huang Xin
5820191c26
translator: also translate table of contents ( #1273 )
2025-05-29 10:08:01 +02:00
Huang Xin
6b033f7509
translator: post-process translated text for punctuation spacing ( #1245 )
2025-05-27 14:32:25 +02:00
Huang Xin
699a01c78f
feat: support full book translation to bilingual books, closes #398 ( #1240 )
2025-05-26 12:23:33 +02:00
Huang Xin
033e161455
layout: overlay the footer of the translator popup and less sensitive page flip with mouse wheel ( #1238 )
...
* layout: overlay the footer of the translator popup
* fix: less sensitive page flip with mouse wheel, addresses #1165
2025-05-25 09:32:00 +02:00
Huang Xin
90f3512ae2
feat: add scrolling overlap in pixels option to paginate in scrolled mode ( #1194 )
2025-05-19 15:21:06 +02:00