Huang Xin
9aa6a8e6b9
chore: bump tauri to the latest version ( #2117 )
2025-09-25 09:32:55 +02:00
Huang Xin
9fd152d727
refactor(a11y): add basic lint for accessibility ( #2021 )
2025-09-11 18:57:04 +02:00
Huang Xin
8c31dc85f9
chore: bump next.js, opennext, wrangler and supabase to latest versions ( #1851 )
2025-08-20 05:57:28 +02:00
Huang Xin
7b8d1ddc35
chore: bump tauri to latest dev branch ( #1849 )
2025-08-20 05:15:44 +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
511093a6ef
tts: tts now works when language codes are mistakenly set with language names ( #1737 )
2025-08-02 16:52:32 +02:00
Huang Xin
eaaeb844f3
txt: fix language detection when parsing TXT files, closes #1720 ( #1723 )
2025-07-31 08:52:25 +02:00
Huang Xin
686f8988bc
api: use node api endpoint for iap verifying ( #1683 )
2025-07-26 13:34:36 +02:00
Huang Xin
8974a87168
feat: add IAP server api ( #1676 )
2025-07-25 14:44:56 +02:00
Huang Xin
01c7e4c2e2
chore: fixed failed AppImage builds for Linux
2025-07-21 20:39:57 +08:00
Huang Xin
df3527ceca
fix: chaining file open with OS opening the highest precedence, closes #1622 ( #1636 )
2025-07-20 17:09:19 +02:00
Huang Xin
8e3574509e
chore: downgrade next.js to 15.3 ( #1634 )
...
Until https://github.com/opennextjs/opennextjs-cloudflare/issues/667 is fixed.
2025-07-20 11:12:06 +02:00
Huang Xin
effa922597
chore: bump tauri, next and zustand to latest versions ( #1631 )
2025-07-20 09:42:32 +02:00
Huang Xin
916d63806e
chore: fix loading chunk error of optional chaining for Android WebView below 80 ( #1626 )
2025-07-19 20:24:30 +02:00
Huang Xin
e3c411f043
feat: support to edit book metadata, closes #753 ( #1583 )
2025-07-14 19:46:57 +02:00
Huang Xin
49978c5e3f
layout: add overlay scrollbar for TOC on Android ( #1506 )
2025-07-01 09:17:18 +02:00
Huang Xin
5d61a9808f
feat: add subscription management for tauri platforms ( #1499 )
2025-06-30 10:04:57 +02:00
Huang Xin
d5d0a9abd3
api: add subscription API ( #1491 )
2025-06-29 14:38:04 +02:00
Huang Xin
f77fa17cbc
bump: update tauri to latest dev branch, closes #1468 ( #1471 )
2025-06-25 05:36:45 +02:00
Huang Xin
a1c1a9f983
chore: bump opennextjs and wrangler to latest versions ( #1460 )
2025-06-24 03:22:12 +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
467e80cd4b
fix: various fixes on text selector in TTS mode and normal image height ( #1390 )
2025-06-13 17:28:21 +02:00
James Sizeland
3cae183f51
feat: add syntax highlighting ( #1386 )
...
* add highlightjs
* add github light and dark theme
* inject style classes
* fix typo
* remove conflicting style overrides
* add highlightjs function and language list
* add language select setting
* add language select input
* add watcher to rerender page on changes to language select
* lockfile update
* rename highlightCode variables
* reorder code languages alphabetically
* copy translation style for highlight selector
* move code highlighting below theme color section
* move highlighting toggle logic into settings component
* add conditional statement to docLoadHandler manageSyntaxHighlighting
* reorder imports
* switch to media query for dark mode
* combine useEffect callbacks for code highlighting
* add feature line about code highlighting
* fix table tabbing
2025-06-13 14:40:18 +02:00
Huang Xin
69d418aa61
perf: optimize toc list view for very large toc list, closes #386 ( #1370 )
2025-06-08 15:01:34 +02:00
Huang Xin
00b46dd8bb
bump: upgrade next.js to latest version ( #1362 )
2025-06-06 15:40:33 +02:00
Huang Xin
8ce89ca8f6
bump: upgrade supabase.js to latest version ( #1361 )
2025-06-06 14:37:29 +02:00
Huang Xin
00deca5029
bump: upgrade opennext and wrangler to latest versions ( #1345 )
2025-06-05 10:46:52 +02:00
Huang Xin
03b2af1f97
chore: bump pdf.js to latest release of version 4 ( #1325 )
2025-06-03 13:22:52 +02:00
Huang Xin
c51c95b883
feat: support note taking with markdown, closes #1097 ( #1315 )
2025-06-02 11:35:09 +02:00
Huang Xin
68c3c45da3
feat: add an option to opt-out telemetry ( #1236 )
2025-05-25 07:48:57 +02:00
Huang Xin
0150177a9d
chore: bump tauri to version 2.5.1 ( #1138 )
2025-05-13 09:30:34 +02:00
Huang Xin
f7d53508a6
refactor: new updater dialog ( #874 )
2025-04-13 02:06:14 +08:00
Huang Xin
25be60ce2a
chore: bump tauri to 2.4.1 ( #813 )
2025-04-05 07:40:33 +02:00
Huang Xin
7ccf3d0632
refactor: read local file with fs plugin for Tauri App, closes #553 and closes #489 ( #785 )
2025-04-01 14:26:26 +02:00
Huang Xin
9990de112f
chore: bump updates of next.js and tauri ( #702 )
2025-03-25 04:46:07 +01:00
Huang Xin
ede37757db
chore: support deploy in cloudflare with opennext and fix android build
2025-03-25 03:52:04 +08:00
Huang Xin
cd9290240a
fix: force focus on dropdown menu on older Safari, closes #574 ( #606 )
2025-03-14 10:14:24 +01:00
Huang Xin
5370a9e7f6
bump: bump update next.js to 15.2.2 ( #601 )
2025-03-13 19:03:21 +01:00
Huang Xin
e8eb409f9f
feat: add theme editor for custom theme colors, closes #462 ( #594 )
2025-03-13 14:23:58 +01:00
Huang Xin
f841004e7a
chore: bump update of tauri ( #532 )
2025-03-08 10:53:31 +01:00
Huang Xin
2bb6ed2602
feat: add haptics feedback when entering select mode ( #428 )
2025-02-22 00:18:06 +01:00
Huang Xin
b7ae3f29d9
chore: support deployment with open-next on cloudflare ( #347 )
2025-02-10 19:28:06 +01:00
Huang Xin
dc6cbd2029
chore: bump update of next.js ( #289 )
2025-02-02 22:30:38 +01:00
Huang Xin
643fdd24a9
chore: bump update of tauri ( #288 )
2025-02-02 22:19:49 +01:00
Huang Xin
efd83180f1
sync: initial support to sync document files across devices ( #260 )
2025-01-28 00:03:01 +01:00
Huang Xin
8fd92efbc7
pwa: update next-pwa to latest maintained version ( #250 )
2025-01-25 18:45:43 +01:00
Huang Xin
533324e558
Responsive icon sizes for phones, tablets and desktops, closes #214 ( #217 )
2025-01-22 18:33:00 +01:00
Huang Xin
ee0d7d7ad0
Support PWA for the web version ( #212 )
...
* Support PWA for the web version
* Remove unused Cargo.lock
2025-01-22 00:18:19 +01:00
Huang Xin
e0323bb0ed
Fix access token sometimes invalid in browser context ( #136 )
...
* Update dependencies
* Fix access token sometimes invalid in browser context
2025-01-09 17:58:55 +01:00
Huang Xin
cc1396876e
Add select voice button in the TTS panel ( #129 )
2025-01-09 01:34:30 +01:00