Repository navigation
Releases
Releases · flulwh/folio
Folio 2.11.1
Full Changelog: v2.11.0...v2.11.1
Folio 2.11.0
Full Changelog: v2.10.0...v2.11.0
Folio 2.10.0
Full Changelog: v2.9.5...v2.10.0
Android 3.6.0
Full Changelog: android-3.5.3...android-3.6.0
Folio 2.9.5
Full Changelog: v2.9.4...v2.9.5
Folio 2.9.4
Full Changelog: v2.3.0...v2.9.4
Folio 2.9.3
Full Changelog: v2.9.2...v2.9.3
Folio 2.9.2 — 超长篇滚动不再错位
桌面端 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 — 长篇不再重排,目录恢复
桌面端 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 — 双端阅读痕迹同步
桌面端 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