Skip to content

Releases

Folio 2.11.1

Choose a tag to compare

@github-actions github-actions released this 15 Nov 05:06

Full Changelog: v2.11.0...v2.11.1

Folio 2.11.0

Choose a tag to compare

@github-actions github-actions released this 15 Nov 04:50

Full Changelog: v2.10.0...v2.11.0

Folio 2.10.0

Choose a tag to compare

@github-actions github-actions released this 15 Nov 02:28

Full Changelog: v2.9.5...v2.10.0

Android 3.6.0

Choose a tag to compare

@github-actions github-actions released this 15 Nov 02:27

Folio 2.9.5

Choose a tag to compare

@github-actions github-actions released this 14 Nov 18:58

Full Changelog: v2.9.4...v2.9.5

Folio 2.9.4

Choose a tag to compare

@github-actions github-actions released this 14 Nov 18:11

Full Changelog: v2.3.0...v2.9.4

Folio 2.9.3

Choose a tag to compare

@github-actions github-actions released this 14 Nov 17:25

Full Changelog: v2.9.2...v2.9.3

Folio 2.9.2 — 超长篇滚动不再错位

Choose a tag to compare

@flulwh flulwh released this 14 Nov 09:58

桌面端 2.9.2:解除超长篇的滚动高度上限。

修复

  • Chromium 单个滚动容器的可滚动高度只有约 2^25 物理像素(125% 缩放下约 2680 万 CSS px)。整本书塞进一个 spacer 时,四十多万段的长篇在换大字号或收窄栏宽后会触顶,超出上限的段落全挤到同一个 y 上,滚动到底错位
  • 现在滚动容器只在书里开一个 800 万 px 的窗口:接近窗口边缘时整体换窗,以当前阅读位置为中心重新开窗,并反向补偿 scrollTop;逻辑偏移与屏幕上的段落位置都不变
  • 换窗与可视范围更新在同一帧用 flushSync 提交,不闪;.reader-scroll 关闭浏览器滚动锚定,避免二次补偿
  • 书首 / 书末、目录跳章、搜索跳转、痕迹跳转、进度条拖动、自动滚动、云端续章全部改按逻辑偏移计算
  • 自动滚动改用逻辑游标,滚到窗口底部会无缝换窗继续,不再误判「已到书末」

实测

  • 86.7 万段、总高约 4100 万 px 的压力样本:恢复 70% 位置落在第 607,040 段(误差 0px);End 到末段附近且进度 100%;Home 回到第 0 段
  • 连续滚到窗口底部:段落号 167k → 251k → 335k → 419k 单调推进
  • 目录跳第 801 章,顶部正是该章标题;相邻段间隙 ≤ 1px,无重叠
  • 普通长度书籍回归:恢复位置、Home / End、PageDown、目录跳章与 2.9.1 一致

兼容

  • 数据格式、IPC、书源规则不变,升级不丢书架 / 进度 / 痕迹
  • Android 客户端不受影响

产物

  • Folio-Setup-2.9.2.exe(推荐)
  • Folio-Portable-2.9.2.exe
  • Folio-2.9.2-win-x64.zip

Folio 2.9.1 — 长篇不再重排,目录恢复

Choose a tag to compare

@flulwh flulwh released this 14 Nov 09:35

桌面端 2.9.1:修两个和长篇直接相关的问题 —— 打开书反复重排、目录只渲染几行。

修复

  • 超长篇每次打开都整本重排:高度缓存原先用 JSON 小数数组保存、上限 20 万段,四十多万段的长篇永远存不进缓存。现在改为 Uint16 二进制 + base64(44 万段约 880KB,原约 4MB),上限提到 120 万段,另加一层会话内内存缓存
  • 测量量减半:空行段落不再逐段进 DOM(.vp-gap 是固定高度,用一个真实探针量一次后批量填充),长篇里空行常占一半
  • 首次排版更快:批次大小按书的大小自适应(约 16 帧量完,而不是七百多帧),测量层直接拼 DOM 不走 React,虚拟滚动的高度表改用 Float64Array
  • 目录面板恢复虚拟滚动:依赖 DOM 的 effect 改挂面板存活开关(alive),修 viewHeight 恒为 0 导致只渲染 9 行、滚动也不换窗口的问题

实测

  • 86.7 万段 / 20MB 的压力样本:首开 14.3s、复开 0.32–0.40s
  • 1600 章的书:目录首屏 20 行,滚到 50% 显示第 793–820 章,点选可正常跳章
  • 位置还原与段落高度连续性已逐项校验(相邻段间隙 0–1px,无重叠)

兼容

  • 数据格式、IPC、书源规则与 2.9.0 完全一致,升级不丢书架 / 进度 / 痕迹
  • Android 客户端不受影响

产物

  • Folio-Setup-2.9.1.exe(推荐)
  • Folio-Portable-2.9.1.exe
  • Folio-2.9.1-win-x64.zip

Folio 2.9.0 — 双端阅读痕迹同步

Choose a tag to compare

@flulwh flulwh released this 14 Nov 06:28

桌面端 2.9.0:为 Android 3.3.0 开放阅读痕迹的局域网读写,双端的书签、划线、笔记可以互相同步。

新增

  • GET /api/marks:一次取回整份 marks.json(按书 id 分组),供手机拉取
  • POST /api/marks:接收某本书的痕迹与待删除 syncKey,按 kind|chapterNo|paraIndex 归一合并,updatedAt 新者胜出
  • 手机写回后主进程回推 lan:marks,已打开的桌面端阅读页与痕迹抽屉即时刷新
  • ping 能力位新增 marks,老客户端不受影响;marks.json 只新增 updatedAt 字段,无需迁移

兼容

  • 桌面端书签 / 划线 / 笔记的交互与 2.8.0 完全一致,只多了同步入口
  • Android 3.2.0 及更早版本不会调用新接口,行为不变

产物

  • Folio-Setup-2.9.0.exe(推荐)
  • Folio-Portable-2.9.0.exe
  • Folio-2.9.0-win-x64.zip