Teodor-Mihai Cosma
9f958a44e2
feat(i18n): add Romanian (ro) translation ( #3708 )
...
* feat(i18n): add Romanian (ro) translation
* chore: update tauri submodule for Romanian language support
2026-04-01 09:22:04 +02:00
Huang Xin
f67930feb1
fix(opds): fix Copyparty books showing as "Untitled" in mixed feeds, closes #3667 ( #3705 )
2026-03-31 17:35:14 +02:00
Huang Xin
e68dedd10d
fix(layout): fix primary view detection on fractional DPR devices, closes #3681 ( #3701 )
2026-03-31 15:04:02 +02:00
Huang Xin
e9c5ebb696
fix(fonts): fix Adobe font deobfuscation and CSS var fallbacks, closes #3662 ( #3696 )
...
Two issues caused embedded EPUB fonts to fail:
1. Adobe font deobfuscation (http://ns.adobe.com/pdf/enc#RC ) derived the
XOR key from the wrong UUID. getUUID() picked the first UUID across all
dc:identifier elements (e.g. Calibre's internal UUID) instead of the
book's unique-identifier. Also fixed getElementById not working on
DOMParser-parsed XML (no DTD), and made UUID regex case-insensitive.
2. transformStylesheet replaced generic font families (sans-serif, serif,
monospace) with CSS var() references without fallback values. In
fixed-layout iframes where setStyles doesn't inject the variables,
the undefined var() invalidated the entire font-family declaration
per CSS spec, causing all fonts to fall back to system defaults.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 19:06:22 +02:00
Huang Xin
797fe9c604
fix(layout): fixed infinite expand calls and freeze in the paginator, closes #3683 ( #3690 )
2026-03-30 14:50:59 +02:00
Huang Xin
b3333c384c
chore(fdroid): get rid of wasm binaries in fdroid build ( #3677 )
2026-03-29 18:31:46 +02:00
Huang Xin
c4e3315642
feat(scroll): add single section scroll option, closes #3663 ( #3668 )
2026-03-28 13:57:20 +08:00
Huang Xin
52df478f21
fix: show proper background images in continuous scrolled mode, closes #3638 ( #3645 )
2026-03-26 16:41:55 +01:00
Huang Xin
5a072e7d1f
fix(pdf): apply theme colors for PDFs, closes #3593 ( #3626 )
2026-03-25 16:50:12 +01:00
Huang Xin
2905506017
fix(layout): fixed total scrollable width in vertical scrolled mode, closes #3583 ( #3586 )
2026-03-22 11:56:12 +01:00
Huang Xin
1936136596
fix: resolve various tracked exceptions in ph ( #3584 )
...
* fix: handle synced bookmarks without cfi
* chore: clean up some exceptions in ph
2026-03-22 08:16:38 +01:00
Huang Xin
0177a03a90
fix(tts): properly follow tts reading position in scrolled mode ( #3581 )
2026-03-21 18:08:45 +01: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
1f4f5f8a6d
feat(annotator): responsive layout for the loupe ( #3568 )
2026-03-19 17:54:24 +01:00
Huang Xin
eab83c6d3f
feat(annotator): show the loupe when selecting text in instant annotation, closes #3539 ( #3565 )
2026-03-19 15:10:33 +01:00
Huang Xin
e4ab06abcd
fix(footnote): don't preload other sections in footnotes ( #3563 )
2026-03-19 04:10:16 +01:00
Huang Xin
ad9bb58cd4
fix(ios): resolve stale closure crash preventing highlight popup on iOS ( #3559 )
2026-03-18 10:11:13 +01:00
Huang Xin
1f7483b911
feat: scroll to the nearest item in the search results or annotation lists ( #3555 )
2026-03-17 16:01:56 +01:00
Huang Xin
3831f24ff7
fix(android): fix page navigation layer z-index, closes #3511 ( #3552 )
2026-03-17 09:52:21 +01:00
Huang Xin
3bec89c85d
fix(progress): show remaining pages for current section instead of all loaded sections ( #3550 )
2026-03-17 09:18:39 +01:00
Huang Xin
1af55e24da
feat(epub): support continuous scroll and spread layout for EPUBs, closes #3419 and closes #1745 ( #3546 )
2026-03-16 18:24:07 +01:00
Huang Xin
7a605a357a
feat(pdf): support pitch to zoom and scroll mode for PDFs, closes #3461 ( #3520 )
2026-03-12 16:07:55 +01:00
Huang Xin
af649edd0d
fix(pdf): show search results when navigating to new page, closes #3148 ( #3513 )
2026-03-11 17:55:58 +01:00
Huang Xin
a8572ab7c6
feat(reader): tap notch area to scroll to top in scrolled mode, closes #3474 ( #3510 )
2026-03-11 18:20:38 +08:00
Huang Xin
907b672313
fix(a11y): improve TOC screen reader accessibility for NVDA, closes #3477 ( #3509 )
2026-03-11 14:30:01 +08:00
Huang Xin
8850e6c00f
feat(pdf): support TTS and annotation on PDFs, closes #2149 & #3462 ( #3493 )
...
* chore: bump jsdom to the latest version
* feat(pdf): support TTS and annotation on PDFs, closes #2149 & closes #3462
2026-03-09 10:28:19 +01:00
Huang Xin
5273ef75dc
feat(database): add database service abstraction with libsql/turso backend ( #3472 )
2026-03-05 02:38:23 +08:00
Huang Xin
35ade2c855
fix(tts): handle documents without lang attribute or XHTML namespace, closes #3291 ( #3456 )
2026-03-03 10:35:33 +01:00
Huang Xin
7f636a2072
fix(toc): correct TOC grouping to prevent unnecessary nested layers ( #3445 )
2026-03-02 16:44:02 +01:00
Huang Xin
480b8b98a3
fix(css): properly constrain the max width and height of images, closes #3432 ( #3444 )
2026-03-02 16:20:01 +01:00
Huang Xin
d1fb67316f
compat(css): support duokan-page-fullscreen in spine to display cover image in fullscreen, closes #3424 ( #3443 )
2026-03-02 15:16:04 +01:00
Huang Xin
f0e9ddd2ae
feat(font): support loading custom font if embedded fonts in EPUBs are missing ( #3439 )
2026-03-02 09:18:18 +01:00
Huang Xin
bf5805910d
feat(footnote): add back navigation for footnote popup with link history, closes #3420 ( #3434 )
2026-03-01 16:30:59 +01:00
Huang Xin
0d2e5b7c76
fix(translation): reduce initial layout shift in the translation view, closes #3078 ( #3428 )
...
* fix(css): allow overriding the padding of the root html
* fix(translation): reduce initial layout shift in the translation view, closes #3078
2026-03-01 09:12:02 +01:00
Huang Xin
f3ad97b989
fix(opds): add missing book description in OPDS feed ( #3408 )
2026-02-28 09:30:56 +01:00
Huang Xin
c533da498d
feat(annotator): add page number for annotations, closes #3082 ( #3405 )
...
* feat(annotator): add page number in annotation
* feat: add page number for annotations, closes #3082
2026-02-28 08:08:56 +01:00
Huang Xin
96c465931c
fix(toc): fix phantom subchapter TOC item ( #3397 )
2026-02-27 07:23:12 +01:00
Huang Xin
2bd54ac236
fix(tts): also show highlight when navigating in paused mode and improve abbreviations processing ( #3396 )
...
Closes #3317 .
2026-02-27 06:46:27 +01:00
Huang Xin
51468862a2
fix(ui): show progress 100% at the last page, closes #3383 ( #3390 )
2026-02-26 11:08:21 +01:00
Huang Xin
3904c1e8e7
perf: use GPU-accelerated scroll for smoother paging animation ( #3385 )
2026-02-26 03:39:37 +01:00
Huang Xin
664cc772d0
fix: more sensitive paging without snapping animation, closes #3310 ( #3381 )
2026-02-25 17:47:55 +01:00
Huang Xin
118538ba35
fix(epub): replace background also for scrolled mode, closes #3344 ( #3350 )
2026-02-24 04:37:44 +01:00
Huang Xin
548d50a882
fix(tts): navigate to follow the current TTS location for the next section, closes #3198 ( #3276 )
2026-02-12 16:13:41 +01:00
Huang Xin
411f9e236d
feat(metadata): support parsing series info from calibre exported EPUBs, closes #3259 ( #3267 )
2026-02-11 15:39:48 +01:00
Huang Xin
950bbd0821
fix: expose srcdoc also for html sections, closes #3264 ( #3266 )
2026-02-11 13:15:56 +01:00
Huang Xin
fd3533dba1
feat(annotator): add a loupe when adjusting text selection range, closes #3002 ( #3261 )
2026-02-11 10:13:22 +01:00
Huang Xin
9444be7fcc
feat(annotator): rounded highlight style for horizontal and vertical layout, closes #3208 ( #3252 )
2026-02-10 16:13:53 +01:00
Huang Xin
c9a69a922b
fix(layout): workaround for hardcoded table layout, closes #3205 ( #3251 )
2026-02-10 15:19:36 +01:00
Huang Xin
9a11b05833
fix: don't cache section content when updating subitems, closes #3242 and closes #3206 ( #3250 )
2026-02-10 14:29:57 +01:00
Huang Xin
1ed84a3256
feat(tts): navigation in TTS mode with back to current button, closes #3100 ( #3189 )
2026-02-06 18:26:14 +01:00