This website requires JavaScript.
5c82351ab9
feat(integrations): add WebDAV sync to Reading Sync settings (#4204 )
loveheaven
2026-05-23 00:55:12 +08:00
f4de55e8f3
feat(send): twitter/x site rule + meta-tag fallback for stale rules (#4270 )
Huang Xin
2026-05-23 00:44:19 +08:00
0e97206907
ci: optimize build time for Docker and CI workflows (#4263 )
Amir Pourmand
2026-05-22 20:13:33 +03:30
81bd5ee6b8
fix(send): address extension review findings (#4271 )
Huang Xin
2026-05-22 23:31:04 +08:00
9fa7cb266c
fix(migration): skip migrate20251029 silently on fresh installs (#4268 )
loveheaven
2026-05-22 23:06:36 +08:00
60203a8dc3
docs: add architecture and code-layout guides (#4265 )
loveheaven
2026-05-22 23:05:28 +08:00
912e97cb82
feat(send): iOS share-extension picker + App Group queue + reliable host launch (#4267 )
Huang Xin
2026-05-22 21:46:13 +08:00
f6dfd09d82
feat(send): browser extension that clips pages into Readest as EPUBs (#4266 )
Huang Xin
2026-05-22 20:45:29 +08:00
9ad43aa8b2
feat(docker): add GHCR and Docker Hub image publishing (#4250 )
Amir Pourmand
2026-05-21 21:27:35 +03:30
ae81cd0151
feat(annotator): support global highlights that fan out across all matching positions (#4257 )
loveheaven
2026-05-22 00:59:07 +08:00
62b5ed8138
feat(send): handle shared URLs from system share sheets (iOS + Android) (#4256 )
Huang Xin
2026-05-22 00:50:33 +08:00
17749f7cc7
feat(send): mobile URL clipping via native-bridge plugin (#4252 )
Huang Xin
2026-05-21 22:00:53 +08:00
dabdcdcc53
fix(macos): fix traffic lights position on macOS 26 (#4247 )
loveheaven
2026-05-21 17:52:43 +08:00
1a2e43e659
chore(worktree): copy src-tauri/gen/apple per-worktree so iOS builds the worktree (#4251 )
Huang Xin
2026-05-21 17:13:28 +08:00
b493cf7908
chore(deps): bump the github-actions group with 4 updates (#4249 )
dependabot[bot]
2026-05-21 12:52:26 +08:00
a1279a65ce
feat(send): clip web URLs into self-contained EPUBs via Tauri webview (#4241 )
Huang Xin
2026-05-21 01:48:09 +08:00
3825f355a7
fix(sel): clamp declared fontSize when it disagrees with rendered height (#4244 )
loveheaven
2026-05-21 00:14:15 +08:00
5ac8564e41
feat(library): add Import from Folder dialog with format/size filters (#4229 )
loveheaven
2026-05-20 20:51:53 +08:00
ded64159b6
fix(send): library-clobber + perf: lazy-load conversion deps (#4238 )
Huang Xin
2026-05-20 19:29:46 +08:00
ff4c03919b
refactor(alert): stack title above actions row to fix narrow-width layout (#4239 )
Huang Xin
2026-05-20 13:16:36 +08:00
d943a1c146
fix(library): clear nested-folder groups when deleting from bookshelf (#4226 )
loveheaven
2026-05-20 12:31:39 +08:00
7230981288
feat(send): auto-seed the allowlist with the user's account email (#4237 )
Huang Xin
2026-05-20 12:29:01 +08:00
a30efe49c1
fix(send): make recent-activity status labels translatable (#4236 )
Huang Xin
2026-05-20 11:32:53 +08:00
0b18de0581
feat(send): Send to Readest — multi-channel capture into your library (#4230 )
Huang Xin
2026-05-20 02:06:52 +08:00
97221b8d23
fix(ios): suppress native text-selection menu over annotation tools (#4231 )
Huang Xin
2026-05-20 01:49:58 +08:00
088f690c35
ci(release): use cargo tauri CLI for Linux bundler (#4225 )
Huang Xin
2026-05-19 17:02:26 +08:00
d25c41ee89
chore(security): address code scanning findings (#4224 )
Huang Xin
2026-05-19 15:01:07 +08:00
fe41c42ec5
chore: switch code formatter from Prettier to Biome (#4223 )
Huang Xin
2026-05-19 14:13:36 +08:00
05da6bdf43
feat(dictionary): add system dictionary provider for macOS, iOS, and Android (#4219 )
loveheaven
2026-05-19 13:03:52 +08:00
d35d2002c4
chore(security): add Scorecard workflow for supply-chain security (#4221 )
Huang Xin
2026-05-19 10:59:36 +08:00
5688687011
perf(ci): cache Playwright browsers and apt packages in PR checks (#4215 )
Huang Xin
2026-05-18 15:12:26 +08:00
28a7785e5d
test(e2e): add a Playwright web e2e lane (reading & annotation flows) (#4214 )
Huang Xin
2026-05-18 14:22:17 +08:00
52f9634810
feat(backup): include global settings in backup zip (#4211 )
Huang Xin
2026-05-18 03:16:46 +08:00
689537fd78
fix(ios): refresh appearance on system light/dark change, closes #4057 (#4210 )
Huang Xin
2026-05-18 01:11:32 +08:00
952304a956
fix(sync): push books row alongside in-reader progress auto-sync (#4209 )
Huang Xin
2026-05-18 00:44:17 +08:00
0fba5b7054
feat(config): version book config schema (#4208 )
Huang Xin
2026-05-18 00:23:46 +08:00
1d4b7eed87
fix(txt): merge scene-break sections into the preceding chapter (#4063 ) (#4207 )
Huang Xin
2026-05-18 00:20:55 +08:00
83607d14ea
fix(opds): send Basic auth preemptively for optional-auth servers (#4206 )
Huang Xin
2026-05-18 00:07:15 +08:00
c8fabd331c
fix(reader): resolve KOReader sync conflict against non-KOReader servers (#4205 )
Huang Xin
2026-05-17 23:22:34 +08:00
9f0aa2f55d
fix(tests): materialize zip.js blob before wrapping in File for case-mismatch fixture (#4203 )
loveheaven
2026-05-17 22:31:19 +08:00
ba6e5899e5
feat(reader): RSVP CJK character mode and whole-word highlight (#4199 )
Huang Xin
2026-05-17 21:30:11 +08:00
3620c61038
feat(reader): import annotations from Moon+ Reader (.mrexpt) (#4174 )
loveheaven
2026-05-17 11:37:26 +08:00
a20f68fc11
feat(readwise): allow overriding the Readwise sync base URL (#4196 )
Huang Xin
2026-05-17 03:45:38 +08:00
ad1c2d6bb0
fix(reader): filter Magic Mouse wheel events to stop accidental page turns (#4195 )
Huang Xin
2026-05-17 03:30:53 +08:00
f2a2d96938
fix(koplugin): honor remote annotation deletions, closes #4119 (#4194 )
Huang Xin
2026-05-17 03:30:25 +08:00
f4483643f4
fix(tts): skip hidden footnotes in TTS, closes #4135 (#4193 )
Huang Xin
2026-05-17 03:23:54 +08:00
8dfc0e945e
fix(dictionary): normalize lookup query with trim + case fallback (#4192 )
Huang Xin
2026-05-17 02:52:48 +08:00
2d30868d23
fix(fonts): hydrate custom fonts on library page, closes #4178 (#4191 )
Huang Xin
2026-05-17 02:19:45 +08:00
d2ff47029c
fix(opds): detect XML feeds with leading whitespace, closes #4181 (#4190 )
Huang Xin
2026-05-17 02:03:28 +08:00
40b7c2c15e
refactor(reader): harden saveConfig updatedAt refresh (#4189 )
Huang Xin
2026-05-17 01:56:56 +08:00
411d3ad687
fix: export annotations even without TOC, closes #4186 (#4188 )
Huang Xin
2026-05-17 01:22:18 +08:00
d0464c1031
i18n(ios): add more localized languages in plist (#4187 )
Huang Xin
2026-05-17 00:33:18 +08:00
2acd08202b
fix(a11y): use position absolute for skip-next-section link to prevent blank page (#4182 )
leehuazhong
2026-05-16 22:13:04 +08:00
1a3d393e74
feat(reader): add "Clear Annotations" entry to the book menu (#4175 )
loveheaven
2026-05-16 10:12:46 +08:00
787bbf2103
feat(reader): custom hardware-button page turning (#4177 )
Huang Xin
2026-05-16 01:57:33 +08:00
f5e729a174
fix(reader): revert smooth mouse-wheel scrolling in scroll mode, closes #4130 (#4172 )
Huang Xin
2026-05-15 21:28:57 +08:00
4cd5d56b49
fix(tts): retry Edge TTS preload up to 3 times on failure, closes #4147 (#4171 )
Huang Xin
2026-05-15 17:25:27 +08:00
e0cb433550
fix(koplugin): harden cover-download subprocess against Adreno exit crash (#4169 )
Huang Xin
2026-05-15 16:52:09 +08:00
7716f189c3
fix(layout): keep header/footer transparent and fixed in scrolled mode, closes #4157 (#4168 )
Huang Xin
2026-05-15 16:30:43 +08:00
ab2def32dd
fix(koplugin): stop sync from wiping cloud book fields + Library polish (#4166 )
Huang Xin
2026-05-15 14:05:49 +08:00
cea25ef465
fix(koplugin): omit empty note field when syncing annotations (#4161 )
Bailey Jennings
2026-05-14 14:37:30 -04:00
16ffc17507
fix(eink): fixed sync toggle styles in eink mode, closes #4155 (#4163 )
Huang Xin
2026-05-15 01:57:23 +08:00
708e06a46e
fix(opds): show summary as book description, closes #4156 (#4162 )
Huang Xin
2026-05-15 01:23:32 +08:00
244b3fd994
fix(dev): rewrite HMR WebSocket URL in Tauri mobile dev, closes #4150 (#4160 )
Huang Xin
2026-05-15 01:06:22 +08:00
f6b6281160
fix(kosync): add namespace to koreader plugin modules to avoid collision (#4153 )
Jon Volkmar
2026-05-13 17:56:36 -07:00
54aa20d4f8
fix(footnote): don't treat in-book numeric chapter/verse links as footnotes (#4152 )
Huang Xin
2026-05-14 01:33:26 +08:00
041af6859f
fix(sync): publish custom css settings after applying css, closes #4146 (#4151 )
Huang Xin
2026-05-14 00:25:57 +08:00
7d3065d9ae
feat(android): also upgrade webview from beta, dev and canary channels when the stable channel isn't updatable (#4149 )
Huang Xin
2026-05-13 23:40:26 +08:00
fed8ab7b67
fix(tts): restore cross-section auto-page-turn during TTS playback (#4148 )
Roy Zhu
2026-05-13 10:44:10 -04:00
9a05935caf
feat(reader): improve Japanese selection UX by disabling furigana selection (#4137 )
JustADeer
2026-05-13 21:39:57 +07:00
11469d1e95
chore(deps): bump vulnerable Rust dependencies (#4144 )
Huang Xin
2026-05-13 17:33:34 +08:00
e8df651d5a
chore(deps): bump Next.js to version 16.2.6 (#4143 )
Huang Xin
2026-05-13 16:57:06 +08:00
fc71ca9857
feat(android): upgrade in-process WebView on devices stuck on old system WebView (#4142 )
Huang Xin
2026-05-13 15:01:13 +08:00
058d58b4f2
fix(kosync): populate chapter field on synced annotations (#4134 )
Bailey Jennings
2026-05-11 20:57:45 -04:00
615dc82c17
fix(android): fixed .mdx/.mdd files not shown in file chooser on Android, closes #4124 (#4125 )
Huang Xin
2026-05-11 14:50:35 +08:00
56d6aceb0d
release: version 0.11.1 (#4123 )
Huang Xin
2026-05-11 12:18:03 +08:00
598eb77237
feat(library): redesign empty-library onboarding (#4122 )
Huang Xin
2026-05-11 11:58:54 +08:00
d326e1c73d
fix: hide popup triangle when inside popup + EPUB image-only paragraph rendering (#4121 )
Huang Xin
2026-05-11 10:12:37 +08:00
1705006b6b
fix(mobile): iOS PIN keyboard UX + Safari font line-height in EPUBs (#4120 )
Huang Xin
2026-05-11 02:42:42 +08:00
952e436514
i18n: update translations (#4118 )
Huang Xin
2026-05-11 00:28:56 +08:00
772bb73b46
ui/ux: codify design system and migrate settings to shared primitives (#4116 )
Huang Xin
2026-05-10 23:46:25 +08:00
5774e00c09
feat(sync): opt-in Credentials toggle + keyring v4 migration (#4111 )
Huang Xin
2026-05-10 01:09:57 +08:00
f6f446e8a0
feat(applock): blinking PIN cursor + misc UI polish (#4110 )
Huang Xin
2026-05-09 22:58:59 +08:00
1eae2af23e
feat(sync): batch replica sync into one /api/sync/replicas request (#4109 )
Huang Xin
2026-05-09 22:18:46 +08:00
295a588988
feat(share): route annotation exports through the system share sheet (#4107 )
Huang Xin
2026-05-09 19:50:08 +08:00
4110911011
fix(sync): keep dictionarySettings consistent across devices (#4105 )
Huang Xin
2026-05-09 16:40:19 +08:00
e0b3a6fb0c
fix(i18n): localize quota reset countdown time units (#4104 )
Huang Xin
2026-05-09 15:12:53 +08:00
c30a59a9ed
fix(epub): accept EPUBs with malformed first ZIP local file header (#4103 )
Huang Xin
2026-05-09 13:37:28 +08:00
ae42dcb53a
fix(txt): parse author from txt filename and use edited metadata on fallback cover (#4095 ) (#4102 )
Huang Xin
2026-05-09 11:34:56 +08:00
302363a9fd
feat(sync): per-category sync gates + Manage Sync UI (#4099 )
Huang Xin
2026-05-09 04:52:09 +08:00
cc8f917cdd
fix(layout): silence viewport meta warning on non-Android browsers (#4097 )
Huang Xin
2026-05-09 03:16:52 +08:00
51a553dd89
feat(sync): bundle dictionary settings into the settings replica kind (#4096 )
Huang Xin
2026-05-09 02:42:10 +08:00
6e7c9d1395
feat(sync): bundled settings replica kind for cross-device prefs and credentials (#4094 )
Huang Xin
2026-05-09 01:03:23 +08:00
2d5590ec1f
feat(applock): 4-digit PIN gate at app launch (#4093 )
Huang Xin
2026-05-09 00:10:34 +08:00
dc58d985e7
fix(layout): center fixed modals above the on-screen keyboard on Android (#4091 )
Huang Xin
2026-05-08 20:31:37 +08:00
712d564e9d
feat(sync): encrypted OPDS credentials + Tauri keychain (PR 4c + 4d) (#4090 )
Huang Xin
2026-05-08 19:22:49 +08:00
6bfeb295d2
feat(sync): add opds_catalog replica kind (plaintext fields) (#4087 )
Huang Xin
2026-05-08 11:33:18 +08:00
aea3fda086
chore: bump turso to the latest version (#4086 )
Huang Xin
2026-05-08 02:11:47 +08:00
35227ecd61
feat(sync): wire crypto session for encrypted-field sync (#4084 )
Huang Xin
2026-05-08 02:05:04 +08:00
cb30716830
refactor(hardcover): move note mappings to SQLite on web and native (#4083 )
Huang Xin
2026-05-07 17:28:03 +08:00