Commit Graph

  • 4874eb9ae7 feat(reader): add TTS highlight granularity setting (word or sentence) (#4807) Huang Xin 2026-06-26 18:48:57 +08:00
  • dced42912f feat(reader): filter exported annotations by color and style (#4801) (#4806) Huang Xin 2026-06-26 17:44:34 +08:00
  • 01a54238ae fix(annotator): clean up empty highlight on annotation cancel (#4791) (#4804) Huang Xin 2026-06-26 15:51:36 +08:00
  • 1558078391 fix(settings): keep global settings in sync across windows (#4580) (#4803) Huang Xin 2026-06-26 15:43:31 +08:00
  • 7544835fb8 chore(agent): update agent memories (#4802) Huang Xin 2026-06-26 13:55:36 +08:00
  • 4ba78490a7 fix(library): prevent series and description overlap in list view (#4796) (#4799) Huang Xin 2026-06-26 11:19:04 +08:00
  • 0b4993407c feat(reader): add contrast option to PDF/CBZ view menu (#4800) Huang Xin 2026-06-26 11:16:36 +08:00
  • 370a516620 feat(reader): glue non-breaking spaces after short Russian words (#4769) (#4798) Huang Xin 2026-06-26 10:52:32 +08:00
  • 4c39d769e6 fix(hardcover): never send a book id as edition_id (#4792) (#4794) Huang Xin 2026-06-26 00:41:00 +08:00
  • 58f84d18c1 fix(sync): keep WebDAV connection after restart when a pull overlaps it (#4793) Huang Xin 2026-06-25 22:55:52 +08:00
  • 13e0fb814f feat(webdav): sort and filter the WebDAV browser (#4724) (#4786) Huang Xin 2026-06-25 16:43:57 +08:00
  • fb943987eb fix(opds): hide popular catalog after adding it to My Catalogs (#4782) (#4787) Huang Xin 2026-06-25 16:12:41 +08:00
  • 99b9adfe85 refactor(sync): provider-agnostic file-sync engine with incremental WebDAV sync (#4784) Huang Xin 2026-06-25 15:57:52 +08:00
  • 79ae8a48ba feat(reader): sync per-book proofread rules across devices (#4781) Huang Xin 2026-06-25 15:49:30 +08:00
  • 0589cb4f4a fix(reader): stop a quick-deleted highlight from being re-drawn (#4773) (#4779) Huang Xin 2026-06-25 15:33:55 +08:00
  • cecb1c5312 chore(deps): bump the github-actions group with 2 updates (#4775) dependabot[bot] 2026-06-25 06:50:48 +02:00
  • cd3a53f507 fix(sync): WebDAV Sync now pulls latest book metadata and merges config (#4756) (#4776) Huang Xin 2026-06-25 12:50:34 +08:00
  • e80ab1762b refactor(settings): polish sync and integration panels (#4774) Huang Xin 2026-06-25 12:10:20 +08:00
  • 0c7ffa9799 fix(reader): stop iOS page-turn animation stutter (#4768) (#4772) Huang Xin 2026-06-25 10:46:16 +08:00
  • 44a6900da0 feat(reader): extend selections and highlights across pages (#4741) (#4767) Huang Xin 2026-06-25 01:23:11 +08:00
  • d963b911c8 fix(reader): zoom linked images on single tap (#4757) (#4766) Huang Xin 2026-06-24 23:57:19 +08:00
  • e0b537bc16 feat(koplugin): bulk download all cloud books from Library view (#4751) (#4765) Huang Xin 2026-06-24 23:42:31 +08:00
  • 163487b5e3 feat(reader): add regex and nearby-words search modes (#4560) (#4764) Huang Xin 2026-06-24 23:23:09 +08:00
  • f7124cbeea fix(css): multiply mix blend for images in dark override color mode (#4763) Huang Xin 2026-06-24 22:12:10 +08:00
  • 005aa2d615 fix(security): iframe srcdoc atrribute can lead to arbitrary code execution (#4762) Huang Xin 2026-06-24 22:01:18 +08:00
  • 7da5f83213 fix(reader): make annotation toolbar customization apply to all books (#4760) Huang Xin 2026-06-24 21:48:03 +08:00
  • ac6249cbc3 feat(opds): show groups as horizontal carousels when 2+ groups (#4750) (#4755) Huang Xin 2026-06-24 13:28:38 +08:00
  • 7d1a60b9ea feat(library): separate background texture for library and reader (#4754) Huang Xin 2026-06-24 13:24:30 +08:00
  • e2f65278ec fix(opds): dereference publication self link for full metadata (#4749) (#4753) Huang Xin 2026-06-24 13:16:59 +08:00
  • 8810aa6db0 fix(reader): stop trackpad pinch-zoom flicker on image viewer (#4742) (#4748) Huang Xin 2026-06-24 00:28:42 +08:00
  • 6301c620a8 fix(library): import books opened via "Open with" by default on mobile (#4746) (#4747) Huang Xin 2026-06-24 00:28:29 +08:00
  • acd4a67dcf fix(reader): require a still-hold before instant-highlight on touch (#4745) Huang Xin 2026-06-23 17:32:41 +08:00
  • b1346bf16d feat(wordlens): en-en glosses, styling, derivation lemmas, display-time cap (#4744) Huang Xin 2026-06-23 17:15:34 +08:00
  • 428168ac91 fix(reader): show the centred section's chapter title in scrolled mode (#4739) Huang Xin 2026-06-23 07:56:10 +08:00
  • e982af1725 feat(reader): adjust text selection with Shift/Ctrl/Opt+Arrow keys (#4728) (#4738) Huang Xin 2026-06-23 07:32:13 +08:00
  • 787641b5b1 chore(agent): update agent memories (#4737) Huang Xin 2026-06-23 00:52:39 +08:00
  • 664b6125a2 feat(android): add monochrome themed launcher icon (#4733) (#4736) Huang Xin 2026-06-23 00:44:57 +08:00
  • bc9b8b23e6 fix(reader): stop per-chapter listener leak that degrades paragraph mode (#4735) Huang Xin 2026-06-23 00:12:39 +08:00
  • 140b71ee30 feat(dictionary): add adjustable dictionary popup font size (#4443) (#4734) Huang Xin 2026-06-22 23:51:23 +08:00
  • 082edc204b fix(sync): sync updated book covers across devices (#4544) (#4731) Huang Xin 2026-06-22 23:31:03 +08:00
  • 1b44b95d3a fix(reader): smooth single-notch wheel scroll over PDF pages in scrolled mode (#4727) (#4732) Huang Xin 2026-06-22 23:17:24 +08:00
  • acf2b165f3 fix(library): keep in-place book paths absolute so uploads stay in fs scope (#4720) (#4730) Huang Xin 2026-06-22 21:53:59 +08:00
  • 942095bcd6 fix(reader): make Shift+P toggle, exit, and resume paragraph mode reliably (#4717) (#4725) Huang Xin 2026-06-22 14:22:00 +08:00
  • f4bb111267 feat(translator): add Urdu as a Translate Text target language (#4721) (#4726) Huang Xin 2026-06-22 12:17:10 +08:00
  • a6d28ffcdf fix(reader): add Alt+P proofread shortcut and let Shift+P exit paragraph mode (#4717) (#4723) Huang Xin 2026-06-22 10:57:04 +08:00
  • b87c735c1e fix(tts): keep native System TTS reading past unspeakable chunks offline (#4613, #4408) (#4716) Huang Xin 2026-06-22 10:50:37 +08:00
  • 9155ae627c feat(sync): decouple the incremental-pull cursor from updated_at via server synced_at (#4678) (#4712) Huang Xin 2026-06-22 03:24:01 +08:00
  • a9c0f3d46d fix(reader): remove 1px white seam in PDF spread at fractional DPI (#4587) (#4713) Huang Xin 2026-06-22 03:20:28 +08:00
  • 30727d353a fix(reader): release volume-key page-flip while TTS is playing (#4691) (#4710) Huang Xin 2026-06-22 01:51:23 +08:00
  • 316ca3c941 fix(kosync): reject non-KOReader-Sync server URLs on connect (#4692) (#4711) Huang Xin 2026-06-22 01:51:15 +08:00
  • 15f1838781 chore(agent): update agent memories (#4709) Huang Xin 2026-06-22 01:09:21 +08:00
  • c781aeddaa feat(reader): add sticky progress bar with chapter ticks (#4707) Huang Xin 2026-06-22 01:03:24 +08:00
  • 9735f497db feat(reader): proofread rule sync, regex, reorder, and dialog refresh (#4700) (#4708) Huang Xin 2026-06-22 01:01:04 +08:00
  • febb0d9a69 fix(backup): normalize Windows backslash paths in backup zip entries (#4706) Huang Xin 2026-06-22 00:48:07 +08:00
  • 799fc0e0ab feat(library): add opt-in "purge reading data" toggle to delete confirm (#4698) (#4705) Huang Xin 2026-06-22 00:24:29 +08:00
  • 4fa7f76bc1 feat(payment): observability for store subscription webhooks (#4704) Huang Xin 2026-06-22 00:02:02 +08:00
  • 359fdddcf4 feat(payment): handle App Store and Google Play subscription webhooks (#4701) Huang Xin 2026-06-21 22:48:17 +08:00
  • 96d65d9960 feat(tts): add native local iOS TTS (AVSpeechSynthesizer) (#4697) Huang Xin 2026-06-21 15:53:23 +08:00
  • ab935f8510 fix(library): preserve original files when deleting "read in place" books (#4696) Huang Xin 2026-06-21 14:42:35 +08:00
  • 2153f7cc0c fix(reader): reset scroll to top on paginated fit-width page turn (#4683) (#4695) Huang Xin 2026-06-21 13:46:33 +08:00
  • 9e163fe746 fix(payment): reflect highest active plan across overlapping Stripe subscriptions (#4694) Huang Xin 2026-06-21 13:29:39 +08:00
  • 89f98979e1 chore(release): fastlane for iOS and macOS release (#4685) Huang Xin 2026-06-20 14:40:15 +08:00
  • 353d381427 fix(deps): bump undici and dompurify overrides for security advisories (#4684) Huang Xin 2026-06-20 14:30:20 +08:00
  • 54d54791b0 release: version 0.11.12 (#4682) Huang Xin 2026-06-20 12:41:25 +08:00
  • 7185dca1a2 feat(reader): add save/share button to image gallery toolbar (#4680) Huang Xin 2026-06-20 12:28:08 +08:00
  • a9526377a2 fix(reader): stretch Duokan fullscreen cover to fill the page (#4679) Huang Xin 2026-06-20 11:33:47 +08:00
  • f7e1bddda6 fix(sync): stop re-pinning statusless books to the top of the library after every sync (#4677) Huang Xin 2026-06-20 11:17:27 +08:00
  • 0ab8f6042f fix(reader): keep cover background-image visible under a texture (#4675) Huang Xin 2026-06-20 10:13:28 +08:00
  • 5f561504e3 fix(sync): keep view settings device-local and exclude them from sync (#4672) Huang Xin 2026-06-20 09:13:03 +08:00
  • b9a3ee725f fix(opds): make saved catalog card hover distinct from dialog background (#4673) Huang Xin 2026-06-20 09:12:10 +08:00
  • 23d1ef6f13 fix(rsvp): restore in-flow control bar layout reverted by #4589 (#4671) Huang Xin 2026-06-20 08:58:47 +08:00
  • 6e9faaa874 fix(pdf): throttle PDF range reads to fix large-file OOM on Android/iOS (#3470) (#4670) Huang Xin 2026-06-20 08:00:44 +08:00
  • d5c640996d fix(opds): show Add Catalog dialog above Settings on mobile (#4669) Huang Xin 2026-06-20 07:41:16 +08:00
  • d8953353cf release: version 0.11.10 (#4667) Huang Xin 2026-06-19 22:04:31 +08:00
  • 7810981417 fix(koplugin): repair reading-stats sync push/pull (#4666) Huang Xin 2026-06-19 21:37:32 +08:00
  • dd53e52453 chore: only show the current position item in TOC and update agent memories (#4665) Huang Xin 2026-06-19 19:17:09 +08:00
  • b7585ac46d chore(send-to-readest): add Chrome Web Store screenshot generator (#4664) Huang Xin 2026-06-19 18:58:24 +08:00
  • 6caa376f82 feat(reader): Webtoon Mode seamless continuous scroll for image books (#3647) (#4662) Huang Xin 2026-06-19 18:37:37 +08:00
  • 590c44f977 fix(send-to-readest): rephrase popup copy and remove em dashes from i18n strings (#4663) Huang Xin 2026-06-19 18:28:25 +08:00
  • 4cb608be20 chore(send-to-readest): v0.2.1, zip packaging script, store submission doc (#4661) Huang Xin 2026-06-19 16:30:30 +08:00
  • 1faa931a0e fix(txt): stop detecting measure-word prose as chapters in TXT import (#4658) (#4660) Huang Xin 2026-06-19 16:09:04 +08:00
  • 86f5502724 fix: bot-review robustness fixes (TTS sync, updater, nightly, a11y) (#4659) Huang Xin 2026-06-19 16:04:34 +08:00
  • e327d0c992 feat(tts): reuse the speaking session across paragraph & RSVP modes (#4657) Huang Xin 2026-06-19 13:47:29 +08:00
  • 72233e1c6a feat: sync reading status across devices and with KOReader (#4634) (#4656) Huang Xin 2026-06-19 11:00:40 +08:00
  • e00a1e4f06 fix(settings): tidy Word Lens data pack and level rows on mobile (#4655) Huang Xin 2026-06-19 08:30:24 +08:00
  • 451f0ccd90 fix(library): count only uploaded, non-deleted books in synced toast (#4654) Huang Xin 2026-06-19 01:53:01 +08:00
  • be5862f08c fix(library): group secondary series sort by series name then index (#4652) (#4653) Huang Xin 2026-06-19 01:09:37 +08:00
  • 446c2c72de fix(security): unblock app-dir downloads broken by transfer_file fs-scope guard (#4651) Huang Xin 2026-06-19 00:48:10 +08:00
  • 6c7c86f346 feat(applock): biometric unlock (fingerprint / Face ID) at startup on mobile (#4650) Huang Xin 2026-06-19 00:39:03 +08:00
  • af587b1a41 fix(metadata): parse FB2 series from title-info sequence (#4646) (#4649) Huang Xin 2026-06-18 22:12:59 +08:00
  • be17654fc0 fix(rsvp): render RTL words whole so Arabic shapes correctly (#4630) (#4648) Huang Xin 2026-06-18 22:03:43 +08:00
  • ff96c6d3f7 feat(annotations): unify highlights and annotations into one record (#3870, #4511) (#4647) Huang Xin 2026-06-18 21:37:46 +08:00
  • 38a6d3d9ba fix(dict): stop iOS instant system dictionary popping multiple times (#4644) Huang Xin 2026-06-18 20:36:31 +08:00
  • 6626db967c fix(reader): keep last paragraph's line spacing by making the section skip link a <span> (#4642) Huang Xin 2026-06-18 16:39:44 +08:00
  • bcd9ed724b fix(reader): paginate inline-block-wrapped chapters instead of clipping them (#4641) Huang Xin 2026-06-18 16:15:22 +08:00
  • 403be32d5a fix(epub): import books whose OPF has an unescaped ampersand (#4640) Huang Xin 2026-06-18 14:22:44 +08:00
  • 4025c4d7b5 fix(security): scope Tauri download_file/upload_file to fs_scope (#4639) Huang Xin 2026-06-18 13:48:06 +08:00
  • 495783d045 fix(security): harden OPDS proxy SSRF, storage key validation, Stripe check (#4638) Huang Xin 2026-06-18 13:45:29 +08:00
  • 2f810a70b3 chore(deps): bump the github-actions group with 3 updates (#4637) dependabot[bot] 2026-06-18 06:40:13 +02:00
  • 1ea607829c fix(share): load cover under COEP, keep share links out of the clipper, fix in-app import (#4636) Huang Xin 2026-06-18 12:18:28 +08:00