Skip to content

wePaper v1.2.0

Choose a tag to compare

@rainhuang0220 rainhuang0220 released this 06 Sep 19:01
· 20 commits to main since this release

wePaper v1.2.0

Public library: https://wepaper.plainlist.space

First-page performance

  • Reader mounts immediately (no metadata waterfall).
  • PDF.js loads with Range only (disableStream / disableAutoFetch), so page 1 is not held hostage to the rest of the file.
  • Gzip for JS/CSS (PDFs stay uncompressed so byte ranges stay valid).
  • PDF.js worker is module-preloaded.
  • nginx proxy_cache is off for this vhost — a cached 206 can no longer replace a PDF with a 64 KB fragment.

Target for ordinary small papers: click → readable first page P50 ≤ 2.0 s / P95 ≤ 3.0 s. Measured cold opens of a 228 KB paper: ~0.33–0.85 s.

PDF fidelity

  • High-DPI canvas using devicePixelRatio (cap 3, 16M pixel clamp).
  • Zoom 50–400% re-renders the page (not CSS stretch).
  • Continuous vertical scroll, text layer, find, and select preserved.

Zotero sync

Unchanged: Local API → agent → server → public catalog.

Dedicated origin and repository

Security

Public read / bearer write. /openapi.json stays 404. PDF Cache-Control is private so shared proxies do not store Range fragments.