Huang Xin
5190bbcafc
fix(macos): don't quit app on Cmd+W, only on Cmd+Q, closes #3927 ( #3928 )
...
On macOS, closing the last window (Cmd+W or the red traffic light) was
quitting the app, which is unexpected — the native convention is that
Cmd+W closes the window while the app keeps running in the dock, and
only Cmd+Q quits.
Intercept the window CloseRequested event on macOS, prevent the close,
and hide the window instead so the app remains active. Handle the
Reopen event (fired when the user clicks the dock icon) to restore the
hidden window. Cmd+Q continues to go through applicationWillTerminate:
and exits the app normally.
2026-04-22 14:11:04 +02:00
Huang Xin
ff94dc76c6
fix: fixed crash on app start when there is no main window but a reader window running, closes #3897 ( #3902 )
2026-04-20 16:05:01 +02:00
Yuan Tong
7d852518a3
feat(windows): use overlay scrollbar ( #3868 )
...
* feat(windows): use overlay scrollbar
* fix format
2026-04-14 19:03:07 +02:00
Huang Xin
ab7da981da
fix(eink): remove scroll animation in eink mode and optimize eink detection ( #3822 )
...
* fix(eink): remove scroll animation in eink mode
* fix(android): fix startup ANR on e-ink devices from getprop subprocesses
2026-04-10 18:22:06 +02:00
Huang Xin
91bc4ddec7
feat(library): backup to and restore from a zip file ( #3571 )
2026-03-20 18:27:52 +01:00
Huang Xin
54bc1514df
feat(database): add platform-agnostic schema migration system ( #3485 )
2026-03-06 20:07:26 +08:00
Huang Xin
97cab2d70b
feat(database): support turso fts in tauri apps ( #3484 )
2026-03-05 21:00:15 +01:00
Huang Xin
13588b4a65
chore(testing): add Tauri integration tests and E2E test infrastructure ( #3483 )
...
Set up WebDriver-based testing for the Tauri app with two tiers:
- Vitest browser-mode tests (*.tauri.test.ts) running inside the Tauri WebView
for plugin IPC testing (libsql, smoke tests)
- WDIO E2E tests (*.e2e.ts) for UI-level interaction testing
Key changes:
- Add webdriver Cargo feature gating tauri-plugin-webdriver
- Add runtime capability for remote URLs (webdriver builds only)
- Add vitest.tauri.config.mts and wdio.conf.ts connecting to embedded
WebDriver server on port 4445
- Add shared tauri-invoke helper for IPC from Vitest iframe context
- Add testing documentation in docs/testing.md
2026-03-05 19:14:01 +01:00
Huang Xin
5273ef75dc
feat(database): add database service abstraction with libsql/turso backend ( #3472 )
2026-03-05 02:38:23 +08:00
scinac
38552a0c2e
feat(reader): adding current Time and Battery to Footer ( #3306 ) ( #3402 )
...
* added current time to desktop bar
* added time prototype to footer, needs code cleanup and settings toggle
* fixed settings toggle, added translations and code cleanup
* added battery support and moved Statusbar to own Component
* #3306 added 24 hour clock support
* refactored code styling and getting rid of any type in battery hook
* Add battery info for Tauri Apps
---------
Co-authored-by: Huang Xin <chrox.huang@gmail.com >
2026-03-03 17:10:13 +01:00
Huang Xin
2c54e9ae2f
feat(updater): in-app updater for AppImage ( #3072 )
2026-01-25 14:45:37 +01:00
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
2d7d6b08a9
compat(opds): parse attachment filename from download requests, closes #2969 ( #2976 )
2026-01-16 17:13:30 +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
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
462ca46fee
feat(eink): optimize color and layout for e-ink mode ( #2887 )
2026-01-08 17:29:33 +01:00
Huang Xin
8a43c58fd4
fix(tts): resolve Edge TTS being blocked in certain regions ( #2741 )
...
This should close #2739 and close #1821 .
2025-12-19 03:24:51 +01:00
Huang Xin
524de92f5e
feat(macOS): add open file global menu for macOS, closes #2692 ( #2708 )
2025-12-13 17:36:25 +01:00
Huang Xin
ba3f060cc4
feat: add support for importing from a directory recursively, closes #179 ( #2642 )
2025-12-08 07:16:57 +01:00
Huang Xin
e28dabce65
fix(layout): refactor full height for edge to edge env and in browser env ( #2582 )
2025-12-01 13:48:14 +01:00
Huang Xin
2ca3561093
feat(opds): support downloading ebooks from OPDS catalogs ( #2571 )
2025-11-30 21:22:54 +01:00
Huang Xin
bd2b45e1c1
refactor(extensions): move windows-thumbnail to extensions ( #2562 )
2025-11-28 05:44:11 +01:00
AlI
2b6f7b71b0
feat(windows): Add explorer thumbnail registration and installer hook… ( #2557 )
...
* feat(windows): Add Windows Explorer thumbnail support for ebooks (closes #2534 )
- Implement IThumbnailProvider COM handler for Windows Shell integration
- Support EPUB, MOBI, AZW, AZW3, KF8, FB2, CBZ, CBR formats
- Add cover extraction with Readest icon overlay
- Register thumbnail handler via NSIS installer hooks
- Only show thumbnails when Readest is the default app for the file type
* chore: clean up build script for thumbnail extension
---------
Co-authored-by: chrox <chrox.huang@gmail.com >
2025-11-27 21:31:52 +01:00
Huang Xin
ba2aa4bee6
fix(layout): skip applying safe area insets when the iframe content is reloaded ( #2550 )
2025-11-26 04:10:52 +01:00
Huang Xin
6d5b16ea8b
fix(iap): open external app for payment ( #2465 )
2025-11-18 12:07:43 +01:00
Huang Xin
3fc4c05e50
feat: build portable Windows binaries with app data kept within the executable directory ( #2126 )
2025-09-26 11:23:55 +02:00
Huang Xin
9aa6a8e6b9
chore: bump tauri to the latest version ( #2117 )
2025-09-25 09:32:55 +02:00
Huang Xin
c9a1557674
refactor: support custom root dir for readest file system ( #2092 )
2025-09-21 07:59:27 +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
70a7f5be19
fix: use transparent background for rounded window on Linux, closes #1982 ( #1991 )
2025-09-07 10:38:27 +02:00
Huang Xin
856ed4d3b3
ux: add splash screen for iOS and Android and reduce flash when opening books ( #1926 )
2025-08-29 19:10:09 +02:00
Huang Xin
267fe58a8c
fix: reduce screen flash with different background colors when app starts, closes #1915 ( #1922 )
2025-08-28 20:02:53 +02:00
Huang Xin
438d3ae0c2
config: default to open file with new window ( #1691 )
2025-07-27 19:12:19 +02:00
Huang Xin
842062fe44
perf: multi-part download with range access ( #1690 )
2025-07-27 18:56:41 +02:00
Huang Xin
88ccc528d4
layout: hover header to show traffic light window control on macOS, closes #1645 ( #1653 )
2025-07-21 17:16:58 +02: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
6da6b85530
feat: support multiple reader windows on desktop, closes #259 ( #1596 )
2025-07-17 10:21:37 +02:00
Huang Xin
6fb7897092
chore: flatpak with custom oauth ( #1574 )
2025-07-11 11:28:43 +08:00
Huang Xin
5db1847f7e
layout: add window border on Windows 10, closes #1551 ( #1556 )
2025-07-08 17:24:43 +02:00
Huang Xin
c3113ade13
chore: fix uninlined format args warning ( #1482 )
2025-06-27 10:27:21 +02:00
Huang Xin
658969e97a
feat: support native tts engine on Android ( #1387 )
2025-06-12 17:56:14 +02:00
Huang Xin
4779e2638f
fix: disable updater for non-appimage app on linux, closes #1129 ( #1141 )
2025-05-13 12:50:40 +02:00
Huang Xin
a424ae8b15
feat: retrieve system fonts on iOS and Android and show font weight variants, closes #949 and closes #557 ( #976 )
2025-04-26 17:37:04 +02:00
Huang Xin
de21182240
fix: don't panic on plugin log initialization error, closes #953 ( #961 )
2025-04-25 14:42:57 +02:00
Huang Xin
ec86d68b80
fix: check xdg-mime before registering deeplink in Linux, closes #475 ( #951 )
2025-04-24 16:19:14 +08:00
davimed
6260168caa
Fix filename with quotes ( #897 )
...
* Escape double quotes in filenames
* Format code
2025-04-16 17:34:15 +02:00
Huang Xin
8efad90932
feat: in-app updater for Android ( #885 )
2025-04-14 14:21:58 +02:00
Huang Xin
f7d53508a6
refactor: new updater dialog ( #874 )
2025-04-13 02:06:14 +08:00
Huang Xin
c807f0ccc8
refactor: OAuth flow is now handled via ASWebAuthenticationSession on macOS ( #866 )
2025-04-12 12:49:41 +08:00