xijibomi-coffee
f875ba88ac
perf: use native walkdir for recursive imports from directory ( #2993 )
...
* fix(perf): replace JS recursion with native Rust walkdir for imports
* fix: implement security scope check in rust recursive scanner
* refactor and format code
---------
Co-authored-by: Huang Xin <chrox.huang@gmail.com >
2026-01-20 06:22:04 +01:00
Huang Xin
d9a6cffe78
feat(discord): support show reading status with Discord Rich Presence, closes #1538 ( #2998 )
2026-01-19 17:42:19 +01:00
Huang Xin
1704736bc8
feat(account): support social login with Discord account ( #2995 )
2026-01-19 05:22:17 +01:00
Huang Xin
6ce9a263ee
fix(a11y): add missing aria labels for some buttons on TTS panel ( #2994 )
2026-01-19 04:29:02 +01:00
Huang Xin
038eca4267
fix(eink): resolved an issue where the dropdown menu would occasionally fail to expand on some Eink devices ( #2991 )
2026-01-18 19:57:09 +01:00
Huang Xin
f0722ec0fe
feat(bookshelf): show one line of book description in list view of the bookshelf, closes #2955 ( #2990 )
2026-01-18 17:16:54 +01:00
Huang Xin
fd299a61a7
feat(notes): export notes with custom template, closes #1734 ( #2989 )
2026-01-18 16:56:32 +01:00
Huang Xin
c44705e269
perf(pdf): pre-render next page for PDFs ( #2984 )
...
This should close #1911 and #13 .
2026-01-18 08:58:00 +01:00
Huang Xin
b28ac99a9e
feat(pdf): support panning on PDFs ( #2981 )
...
This also closes #2978 and closes #2875 .
2026-01-17 09:11:33 +01:00
Huang Xin
2d7d6b08a9
compat(opds): parse attachment filename from download requests, closes #2969 ( #2976 )
2026-01-16 17:13:30 +01:00
Huang Xin
32ea42a835
fix: remove non-breaking space in book title ( #2974 )
2026-01-16 12:02:41 +01:00
Huang Xin
3146ae48a7
fix(proofread): support replace text with space ( #2965 )
2026-01-15 14:10:05 +01:00
Huang Xin
7f26e45ae7
feat(sync): cloud deletion in transfer queue ( #2964 )
2026-01-15 13:50:24 +01:00
Huang Xin
7d97826e4b
feat(tts): replace words for TTS, closes #2057 ( #2952 )
2026-01-14 16:42:11 +01:00
Huang Xin
9c9c79176d
feat(bookshelf): add an option to sort books by publish date, closes #2925 ( #2949 )
2026-01-14 13:40:07 +01:00
Huang Xin
44b4f7995b
fix(android): fix annotator on Android, closes #2927 ( #2946 )
2026-01-14 11:56:38 +01:00
Huang Xin
da5e3a0bd3
perf(fonts): cache first for font cache ( #2945 )
2026-01-14 07:34:00 +01:00
Huang Xin
ed77b0bc7f
fix(android): only dismiss unpinned sidebar and notebook with back key, closes #2920 ( #2939 )
2026-01-13 15:42:03 +01:00
Huang Xin
434a44e62c
feat(proofread): add an option for whole word replacement, closes #2934 ( #2938 )
2026-01-13 15:35:57 +01:00
Huang Xin
aaee04c290
fix(opds): probe filename when downloading PDFs and CBZ files, closes #2921 ( #2932 )
2026-01-12 17:55:50 +01:00
Huang Xin
c04f19ffb4
feat: add support for exporting book files in book details dialog, closes #2919 ( #2930 )
2026-01-12 16:26:32 +01:00
Huang Xin
30385ee5ec
fix(settings): correctly setting configs for selected book in parallel read, closes #2825 ( #2908 )
2026-01-10 15:01:04 +01:00
Huang Xin
1b0c94b9a5
fix(opds): temporary workaround for self-signed cert for OPDS server, closes #2871 ( #2900 )
...
Related to https://github.com/seanmonstar/reqwest/issues/1554
2026-01-10 08:47:12 +01:00
Huang Xin
7cb523eefc
fix(metadata): no need to download book to display book details, closes #2857 ( #2897 )
2026-01-09 15:58:01 +01:00
Huang Xin
20ae09c52d
perf(sync): persist partial library sync to prevent full retry on failure ( #2892 )
2026-01-09 09:23:02 +01:00
Huang Xin
b868146129
feat(config): add an option to toggle footbar by tapping on the footbar ( #2891 )
2026-01-09 03:22:34 +01:00
Huang Xin
462ca46fee
feat(eink): optimize color and layout for e-ink mode ( #2887 )
2026-01-08 17:29:33 +01:00
Huang Xin
93228c4b2a
fix: avoid hydration mismatch for tauri app ( #2884 )
2026-01-08 04:05:10 +01:00
Huang Xin
2ff10f781f
feat(annotator): support vertical layout for annotation editor ( #2882 )
2026-01-07 16:18:57 +01:00
Huang Xin
9614c62360
feat(annotator): instant highlighting with mouse, touch or pen ( #2881 )
2026-01-07 16:13:37 +01:00
Huang Xin
71af91608f
feat(annotator): support editing text range of highlights ( #2870 )
2026-01-05 16:25:58 +01:00
Huang Xin
9603b61776
refactor(annotatot): more cleaner text selector on Android ( #2867 )
2026-01-05 08:53:38 +01:00
Huang Xin
eed84a059a
fix(search): should be able to terminate search when sidebar is invisible ( #2863 )
2026-01-04 17:10:49 +01:00
Huang Xin
604ef65719
perf(search): use cache for search results ( #2861 )
2026-01-04 12:56:40 +01:00
Huang Xin
483d536ca4
feat(search): support search terms history, closes #2836 ( #2859 )
2026-01-04 07:47:43 +01:00
Huang Xin
69a51c5880
compat(footnote): support alt footnote inside placeholder anchor ( #2858 )
2026-01-04 06:06:24 +01:00
Huang Xin
ca8d25341e
compat(opds): support Komga OPDS v1.2 and v2, closes #2839 ( #2851 )
2026-01-03 18:04:39 +01:00
Huang Xin
8a263235ed
feat(search): add annotations navigation bar, closes #2060 ( #2849 )
2026-01-03 14:57:10 +01:00
Huang Xin
a5e09e8454
feat(search): add search results navigation bar, closes #1183 ( #2842 )
...
Add a floating navigation component that appears when search results exist.
The component includes:
- Top bar: displays search term and current section with TOC and close buttons
- Bottom bar: search results, previous, and next navigation buttons
- Page-based navigation using isCfiInLocation to skip between pages with results
2026-01-03 08:10:23 +01:00
Huang Xin
730ee21651
fix(android): don't navigate back with the back button for more predictable navigation ( #2835 )
...
This will revert the link navigation with back button in #2454 .
This will close #2833 and more user reports that found back link navigation confusing.
2026-01-02 15:44:47 +01:00
Huang Xin
d3752dadc6
fix(library): upload files also for open with import and opds import, closes #2826 ( #2827 )
2026-01-02 13:32:52 +01:00
André Angelantoni
e21ef53a3d
fix(settings): ensure global settings sync across all open panes ( #2818 )
...
* fix(settings): ensure global settings sync across all open panes
Previously, changing a global setting (like font size) only updated the currently active book pane, causing split-view panes to desynchronize.
This commit updates the settings logic to propagate global changes to all open book instances immediately. It also ensures that settings UI panels correctly re-render when preferences are updated from outside the component.
* refactor to reuse some code
* fix: pointer in doc check
---------
Co-authored-by: André Angelantoni <andre.angelantoni@performantlabs.com >
Co-authored-by: Huang Xin <chrox.huang@gmail.com >
2026-01-01 07:12:07 +01:00
Huang Xin
71e97998b6
feat(transfer): add a background transfer queue system for book uploads/downloads ( #2821 )
2025-12-31 08:40:28 +01:00
Huang Xin
22f9c45232
fix(annotator): delay highlight action to prevent immediate onShowAnnotation trigger ( #2820 )
2025-12-31 08:35:26 +01:00
Huang Xin
a42897ec5c
feat(annotator): support quick actions for text selection, closes #2505 ( #2813 )
2025-12-30 10:32:01 +01:00
Huang Xin
b76a2adf61
compat(epub): detect missing writing direction for some EPUBs ( #2803 )
2025-12-28 19:43:49 +01:00
Huang Xin
f944ad9b9f
feat(annotator): support rendering vertical annotation bubbles ( #2801 )
2025-12-28 13:52:12 +01:00
Huang Xin
335d91b9c9
fix(layout): dismiss annotation popup on mobile when navigating ( #2799 )
2025-12-28 07:18:03 +01:00
Huang Xin
173404eaad
feat(annotator): show notes popup when annotation bubble icon is clicked, closes #1845 ( #2798 )
2025-12-27 17:31:47 +01:00
Huang Xin
674fed5230
fix(annotator): adjust underline position to the center of two lines, closes #2772 ( #2793 )
2025-12-26 09:51:02 +01:00