Skip to content

Releases: YangChen-cn/YYReader

YYReader 1.3.0

Choose a tag to compare

@YangChen-cn YangChen-cn released this 05 Sep 06:49

YYReader 1.3.0

YYReader 1.3.0 带来全新的本地 TXT 导入、深度拟真的学术文献论文伪装模式、更美观实用的书房首页以及更加稳定的连续阅读体验。本次同时提供 macOS arm64 DMG 与 Windows x64 自包含安装包。

论文模式(Academic Paper Mode)

  • 学术拟真排版:支持使用 ⌃⌥P(macOS)/ Ctrl+Alt+P(Windows)快速切换;提供单栏与双栏排版,窄屏自动单栏适配。
  • 右上角微缩引用:引用标号自动去重、排序并以淡蓝色微缩上标呈现(如 [10, 15, 17]),避免阅读正文时被打断。
  • 中文论文首行缩进与双栏中线:正文段落标准 2 字符全角缩进,双栏模式中央添加 0.6pt 优雅细垂直分割线。
  • 期刊级页眉与页脚:包含 IEEE Transactions 抬头、小节标题、DOI 水印及柔和纸张卡片阴影。
  • 多样化学术公式与三线表:轮替自注意力机制、交叉熵、状态方程等经典 LaTeX 风格公式,配备大写罗马数字表号(TABLE I)、显著性标记的三线表及学术蓝折线图。
  • 动态字号缩放:字号、行距、标题及公式标号完全跟随阅读器设置自适应等比缩放。

论文模式与核心性能稳定性增强(macOS)

  • 模式切换防跳章与锚点精准同步:彻底解决从普通模式切换到论文模式时因正文异步水合与滚动恢复竞态导致跳过当前章节的问题;先确保段落就绪后再精准复位,定位异常时严格限制在同章节头部保底。
  • 连续阅读正文保护与关系自愈:论文规划统一基于稳定书籍身份,不再依赖章节反向引用,解决历史数据部分章节退回普通模式甚至正文丢失的问题,并在加载与拼接时自动自愈反向关联。
  • 后台 Processing Worker 与主线程轻量化:新增 NovelProcessingWorker actor,将大目录合并、URL 规范化、章节去重、分页正文聚合与大字符串拼接移出 MainActor,确保阅读滚动与 UI 交互始终流畅响应。
  • 并发任务 Generation 校验防覆写:为书籍导入、目录刷新、进度保存、可见章节 debounce、连续章节加载与尾章探测全面引入 generation 校验,防止迟到的旧后台异步结果意外覆写前台最新状态。
  • 书架读取故障安全防御refreshBooks() 不再在数据库瞬时读取异常时退化覆盖为空书架,自动保留当前内存中的书架、选书与阅读会话,并向用户提示明确错误。
  • 阅读器极速性能优化Chapter.isCached 改为零分配极速检查;会话 reset、挂接下一章与正文水合逻辑复用段落缓存,消除对整章文本的重复切分;阅读锚点状态变动去重,大幅减少滚动时的无效视图渲染。

连续阅读与章节跳转修复

  • 无缝长章节拼接:移除了多章节拼接时的滚动事务拦截,彻底解决读完第 2 章后无法连续自动挂接后续章节的问题。
  • 精准锚点跳转:切换章节时立即重置滚动偏移量并对准顶部卡片锚点,彻底解决点击“下一章”后视口悬空在空白区域的问题。

本地 TXT

  • 支持 UTF-8、UTF-8 BOM 与 GB18030/GBK 编码,智能识别章节,支持导入前后编辑书名与作者。
  • 根据原始文件字节生成稳定书籍身份;重复导入保留章节和阅读进度,删除原文件后仍可阅读。
  • 本地书不发起网页刷新、尾章探测或离线下载,清理缓存不会删除 TXT 正文。
  • SyncSnapshot v2 增加 local-txt-v1 能力协商,书架传输继续使用 v1。正文不进入同步文件;在另一台设备导入同一 TXT 可补全占位书。

书房首页(Windows)

  • 新增彩色书封、最近阅读卡片、藏书统计及本章进度。
  • 支持按书名/作者搜索(Ctrl+F)和本地 TXT/离线正文筛选。
  • 同步状态移入底部入口,异常继续显示明确提示。

安装与验证

macOS

  • 自动化测试:147 项全部通过;严格并发检查通过。
  • 架构要求:Apple 芯片(arm64),macOS 15.0 或更高版本。
  • 安装包:YYReader-1.3.0-arm64.dmg
  • SHA-256:cd44e9a37df99880b0eabacd5b63cd335335f8defe82a987e427df8b876467cf

Windows

  • 自动化测试:115 项全部通过;应用版本、x64 架构、WinUI 资源和运行库排除检查通过。
  • 系统要求:x64 Windows 10 1809 或更高版本,推荐 Windows 11。
  • 安装包:YYReader-Setup-x64-1.3.0.exe
  • SHA-256:C596F1F6A2738B6A30F1DE1AF053B20AA0AADA85A8CFEDA448C07125EB1D2872

YYReader 1.2.3

Choose a tag to compare

@YangChen-cn YangChen-cn released this 16 Aug 16:34

YYReader 1.2.3

YYReader 1.2.3 是连续阅读预取与跨端进度恢复的稳定性更新。本次同时提供 macOS arm64 DMG 与 Windows x64 完整安装程序。

macOS 1.2.3

连续阅读与预取

  • 空闲预取由下一章扩展为最多 3 章,保持 .utility 低优先级、严格串行、可取消,并跳过已缓存章节。
  • 修复可见章节前移时旧 prefetch 取消仍属于新窗口的 continuousLoadTask,新 prefetch 又复用已取消任务而提前停止的竞态。
  • 重叠预取窗口会转移在途加载的所有权;真正退出、禁用或切到不重叠窗口时仍会取消。
  • 每次章节加载使用独立 generation,旧任务结束不会清理后来创建的新任务。

文件夹同步

  • Windows 的更后阅读位置合并到当前打开的书籍后,立即更新所选章节与 Reader session,并按保存段落恢复滚动。
  • 同章更后段落同样即时恢复;较早章节或较早段落仍不会覆盖本地进度。
  • 当前阅读书籍的远端删除仍延迟到退出 Reader 后安全应用。

双端源码对齐

  • 合入 Windows 连续阅读最多 3 章预取、chapter single-flight 取消语义和 append 后 anchor 恢复修复。
  • Windows 文件夹同步改为原地更新同一个 windows.json;云盘离线导致既有文件暂时消失时停止写入并等待恢复。

安装与验证

  • 安装包:YYReader-1.2.3-arm64.dmg,支持 Apple 芯片 Mac 与 macOS 15 或更高版本。
  • macOS 自动化测试:119 项全部通过;Release 为纯 arm64,DMG 完整性、签名、App Icon 与资源检查均通过。
  • macOS arm64 DMG SHA-256:216d41cdbc2237e188c2606120dc60ebe31fba666e65ad552a9bac7f4b0eb4e7
  • Release 使用 ad-hoc 签名且未经过 Apple 公证;首次启动时可能需要在 Finder 中右键 YYReader 并选择“打开”。

Windows 1.2.3

连续阅读与预取

  • 空闲预取从下一章扩展为后续最多 3 章,按目录顺序串行执行,跳过已有磁盘缓存并在书籍末尾自然停止。
  • chapter single-flight 使用独立底层加载生命周期;预取与连续阅读请求同一章节时只发起一次网络请求,取消预取不会误杀正在等待的连续阅读。
  • ViewChanged 使用约 250ms idle debounce,避免方向键和鼠标滚轮产生的临时 final event 提前 attach 下一章。
  • append 前后保留章节 URL、段落索引和真实段内相对位置,修复网络加载完成附近偶发向前跳页。

目录与文件夹同步

  • 打开目录时按正文当前可见章节定位,并在布局完成后将对应章节尽量放在列表中部。
  • Windows 原地更新同一个 windows.json;云盘离线导致文件暂时消失时暂停发布,避免 iCloud 等服务产生大量编号冲突副本。
  • 云盘探测、同步 watchdog 与恢复重试保持在后台执行,本地书架和正文阅读不受同步目录状态影响。

Windows 安装与验证

  • 安装包:YYReader-Setup-x64-1.2.3.exe,支持 x64 Windows 10 1809 或更高版本,推荐 Windows 11。
  • 安装包为自包含版本,包含 .NET 8 与 Windows App Runtime,不需要目标电脑另行安装运行库。
  • Windows 自动化测试:91 项全部通过;Release 构建不包含未使用的 ONNX Runtime、DirectML 或 Windows AI 组件。
  • Windows x64 安装包 SHA-256:317DB5BF7A8474B1BAE6CA0B967FDC2EAC62F57D25E005DC24A3D19E777456B4
  • 安装程序尚未使用商业代码签名证书,Windows SmartScreen 可能显示“未知发布者”。

YYReader 1.2.2

Choose a tag to compare

@YangChen-cn YangChen-cn released this 13 Aug 09:46

YYReader 1.2.2

YYReader 1.2.2 聚焦通用网站兼容、完整目录刷新和 Mac/Windows 无目录小说 identity 一致性。本次同时提供 macOS arm64 DMG 与 Windows x64 安装程序。

macOS 1.2.2

通用解析与目录

  • 正文使用可靠的 dedicated、articlemain 容器时,即使侧栏存在大量章节链接也不会被误判为目录。
  • 加强书名、作者、章节标题、上下章导航和正文噪声识别,正文中的阅读设置、导航与水印会被清理。
  • 刷新目录会遍历完整目录分页;完整目录可以替换首页倒序的最新章节预览,同时保留网站 DOM 顺序。
  • 完整目录链接指向自身时正常结束,真正的跨页循环仍会停止并报错;章节正文分页 URL 使用 canonical identity 去重。
  • 补齐 序言 等文字章节标题的高可信判断,description 只从明确的 《书名》 结构提取书名。

书架与跨端一致性

  • 书架工具栏直接提供继续阅读、刷新目录、下载、添加和删除操作,并保持继续阅读与下载为独立按钮。
  • 下载整本前先刷新完整目录,避免只下载网站首页展示的少量章节。
  • 无目录小说继续使用稳定的 derived source identity;HTTP identity 与新发现目录 canonical 一致时恢复目录刷新与整书下载能力。
  • yyreader-book:// identity 不自动迁移,避免改变既有同步身份;Mac 与 Windows 使用一致的明确 metadata 与章节 canonicalization 规则。

macOS 安装与验证

  • 修复阅读器方向键焦点不稳定、首次左右翻页无效以及按键触发系统提示音的问题,翻页响应更直接。
  • 安装包:YYReader-1.2.2-arm64.dmg,支持 Apple 芯片 Mac 与 macOS 15 或更高版本。
  • macOS 自动化测试:111 项全部通过;Release 为纯 arm64,DMG 完整性、挂载后签名、App Icon 与资源检查均通过。
  • macOS arm64 DMG SHA-256:f9ea39d3aa05633cae24634da0240a94024c4c518eaaa2459ea6c9150602eae8

Windows 1.2.2

通用解析与目录

  • 加强 dedicated 与语义正文容器、书名作者 metadata、章节导航、嵌套标题和正文噪声识别。
  • 正文使用可靠 article/main 时,即使侧栏存在大量章节链接也不会被误判为目录。
  • 支持“全部章节”“完整目录”等入口,完整目录可以替换首页倒序的最新章节预览,并保持网站 DOM 顺序。
  • 修复完整目录链接指向自身时误报分页循环;真正的跨页 A → B → A 循环仍会停止并报错。
  • 补齐 序言 高置信度章节判断和章节正文分页 URL 去重边界。

跨端 identity 与离线下载

  • 无目录章节的解析结果保持 CatalogUrl = null,不再把当前章节 URL 误认为真实目录。
  • 无目录小说使用与 macOS 一致的 derived book identity;书名作者 fallback 同步大小写与重音折叠规则。
  • 后续章节真正发现目录时才升级 HasCatalog 并持久化真实目录 URL,不会把同步 identity 改成当前章节。
  • 下载全书前先刷新完整目录,避免只下载首页展示的少量最新章节。

验证与安装

  • Windows 自动化测试:81 项全部通过。
  • Debug 与 Release 构建要求 0 warning、0 error。
  • 发布产物为自包含 x64 中文安装程序 YYReader-Setup-x64-1.2.2.exe,包含 .NET 8 与 Windows App Runtime。
  • 安装包不包含未使用的 AI/ML、ONNX Runtime 或 DirectML 组件。
  • Windows x64 安装包 SHA-256:40f4478430987ec8935233da4c3b98c845681aa55d96ed0f302e60cefe6bcf5e

系统要求与已知限制

  • x64 Windows 10 1809 或更高版本,推荐 Windows 11。
  • 不自动解决 CAPTCHA,不绕过登录、付费墙或网站访问控制;第三方网站结构变化仍可能影响解析。

YYReader 1.2.1

Choose a tag to compare

@YangChen-cn YangChen-cn released this 12 Aug 11:22

YYReader 1.2.1

YYReader 1.2.1 是跨平台稳定性与性能更新。Windows 版本已先行发布,本次补齐 macOS arm64 DMG;两端重点对齐文件夹同步、连续阅读尾章探测、滚动稳定性和大规模离线正文管理。

macOS 1.2.1

文件夹同步与书架传输

  • 新增 SyncSnapshot v2 文件夹同步。用户可选择 iCloud Drive、Dropbox、OneDrive、Syncthing、NAS 或其他共享目录;Mac 只写 mac.json、读取 windows.json
  • 新增 .yyreader、JSON 文件与剪贴板书架导入导出,导入前区分新增、已有、无效和重复条目;同步与传输均不包含正文缓存、Cookie 或验证状态。
  • 云盘或 File Provider 暂不可用时先显示本地书架,同步权限恢复、文件 I/O 和失败重试不会阻塞应用启动或当前 Reader。
  • 本地阅读进度只发布 Mac 快照,不读取 Windows 文件;完整 peer merge 仅在启动、回到前台、手动同步或对端 signature 改变时执行。
  • 章节 rank map 按目录变化失效并复用,普通段落进度发布不再反复 canonicalize 全书架章节。
  • 远端 tombstone 会等当前阅读退出后再安全应用;同步失败不会清空本地书架,也不会重建当前连续阅读 session。

连续阅读

  • 本地目录尾章缺少下一章链接时,轻量重新加载当前尾章并读取权威 nextChapterURL,不刷新数百页完整目录。
  • 探测到新章节后更新尾章 metadata、创建或复用下一章,并进入既有预取与挂接流程;仍无下一章时显示“已是最新章节”。
  • 最新状态使用 45 秒 TTL,避免章末上下滚动反复请求;手动“重新检查”可绕过 TTL。
  • 探测或加载失败只在章节边界显示重试,不弹阻塞式对话框,也不影响当前正文阅读。
  • continuationStatus 保持只读,修复 SwiftUI body 查询状态时创建模型对象导致的偶发闪退。
  • 保留滚动事务 attach gate:下一章可以提前加载,但用户滚动时不改变 entries,滚动安全结束后才追加;已滚过章节和文档顶部几何保持不变。

离线下载与内存

  • 整书下载改用轻量 chapter descriptor,非当前章通过独立 SwiftData actor/context 逐章持久化,正文按阅读需要取回。
  • 当前阅读章仍可保留正文;目录中的离线状态与当前内存是否已加载正文分离,降低上千章下载时的 Reader 内存和 MainActor 压力。
  • 单章失败累计失败数并继续后续章节;取消仍立即停止,已经成功保存的章节继续可离线阅读。
  • 删除离线缓存通过后台持久化层清除正文,同时保留当前阅读章。
  • 8 章段落 LRU 容量与内容更新失效规则保持不变。

macOS 安装与验证

  • 下载 YYReader-1.2.1-arm64.dmg,打开后将 YYReader 拖入 Applications;要求 Apple 芯片 Mac 与 macOS 15 或更高版本。
  • Release 为纯 arm64、版本 1.2.1(build 6),保留 App Sandbox 用户选择文件夹读写与出站网络权限。
  • macOS 单元与回归测试:95 项全部通过;Swift 6 严格并发构建无新增 warning/error。
  • 使用 ad-hoc 签名且未经过 Apple 公证;首次启动时可能需要在 Finder 中右键应用并选择“打开”。

Windows 1.2.1

文件夹同步

  • 同步目录探测、读取、写入和文件替换移出 UI 线程,应用启动和打开书籍不再等待云盘响应。
  • 增加同步恢复保护、后台看门狗和更稳健的文件发布流程,降低云盘占位文件、暂时离线或异常中断造成的卡住与回滚风险。
  • 同步只合并书籍元数据、当前章节 URL 和阅读位置;遇到本地未知章节时保存 URL 占位并按需加载,不再自动刷新数百页完整目录。
  • 云端导入或立即同步后不会重建正在阅读的正文、抢走当前章节,也不会重复启动目录刷新。

连续阅读正确性

  • 本地目录到尾部时不再直接判定“已到最新章节”;阅读器会重新加载当前尾章,并通过适配器解析权威的下一章链接。
  • 启迪小说与通用站点统一使用增量尾章探测,不扫描完整目录;远端确认没有下一章后才显示“已到最新章节”。
  • 探测或验证失败显示可重试错误,不伪装成最新章节,也不会在停留章末时反复自动请求。
  • 静态请求遇到 HTTP 403 时可进入 WebView2 验证 fallback,验证后的正文仍由原生 WinUI 阅读器显示。

Reader 性能与内存

  • continuation 状态区保持固定高度,加载、检查、最新和失败切换不再改变正文布局,修复章末抖动和闪烁反馈环。
  • 下一章网络加载与正文 attach 分离:滚动中可以完成加载,待滚动停止后再一次性追加,保持当前可视 anchor。
  • 新 tail 会为短章节重新武装连续加载,同一 tail 不重复探测;单次 near-end visit 设置补章上限,兼顾短章衔接与请求安全。
  • 修复 BodyText 释放后阅读位置段落数变为 0、重新进入章节回到开头的回归;继续避免聚合正文与段落数组双份常驻。
  • 目录面板关闭时 append 章节只标记 dirty,不再排序和重新绑定完整目录;打开目录后才按需刷新。
  • 目录用小点标记已缓存或已下载正文的章节,离线状态更直观。

Windows 验证

  • Windows Core 单元测试:63 项全部通过。
  • Debug 与 Release 构建要求 0 warning、0 error。
  • 发布产物为自包含 x64 安装程序 YYReader-Setup-x64-1.2.1.exe,包含 .NET 8 与 Windows App Runtime,不包含未使用的 AI/ML、ONNX Runtime 或 DirectML 组件。

系统要求与已知限制

  • x64 Windows 10 1809 或更高版本,推荐 Windows 11。
  • 安装程序尚未使用商业代码签名证书,Windows SmartScreen 可能显示“未知发布者”。
  • 不自动解决 CAPTCHA,不绕过登录、付费墙或网站访问控制;第三方网站结构变化仍可能影响解析。

发布产物校验

  • macOS arm64 DMG SHA-256: fbc5584d35b5d00ac4a1cb30d70be1dbe61caebd669ae163422fee1e12d05349
  • Windows x64 installer SHA-256: b56f6daf7f9148854ebbc9764316c84509fd0ca57b1e9393c3d56afc014c5528
  • macOS build commit: 4eab17ee38ace17f9540729935082ad1f7471dfb

v1.2.1 标签保留在已先行发布的 Windows 1.2.1 提交;macOS 构建来自上述 main merge commit。

YYReader 1.2.0

Choose a tag to compare

@YangChen-cn YangChen-cn released this 11 Aug 21:33

YYReader 1.2.0

YYReader 1.2.0 同时提供原生 macOS 与 Windows 客户端,并加入可选的跨平台书架与阅读位置交换。两个客户端都保持原生正文渲染,不同步正文缓存、Cookie 或网页验证状态。

macOS 1.2.0

文件夹同步与手动传输

  • 新增文件夹自动同步。用户可选择 iCloud Drive、Dropbox、OneDrive、Syncthing 或其他任意共享目录,不绑定具体云盘。
  • 使用 SyncSnapshot v2 与 Windows 交换书籍元数据、章节序号和阅读位置;Mac 只写 mac.json、读取 windows.json
  • 新增 .yyreader/JSON 文件及剪贴板的书架导入、导出,导入前会预览新增、已有、无效和重复条目。
  • 书籍按 canonical source URL 合并;阅读位置只允许由目录中更后的章节或同章更后的段落覆盖。

同步稳定性

  • 修复 iCloud Drive、OneDrive、Dropbox、NAS 或 File Provider 不可用时可能阻塞应用启动和前台恢复的问题;YYReader 会先显示本地书架并保持 Reader 可用,再在后台恢复权限和尝试同步。
  • 本地书架与阅读进度变化走独立发布路径,只构建 Mac 快照并更新 mac.json,不会读取或解析 windows.json
  • 仅在启动、回到前台、手动同步或检测到 Windows 文件确实变化时执行完整合并。
  • Windows 文件 signature 只在读取、合并和落库全部成功后确认;读取失败后 watcher 与低频轮询仍可重试。
  • 远端 tombstone 不会立即破坏当前 Reader session;正在阅读的书会在退出阅读后再安全刷新。
  • 修复同步触发跳章、旧章节覆盖新章节、后台重复同步及目录暂不可访问时错误清空本地状态的问题。
  • 修复无完整目录的小说在连续阅读章末查询下一章时修改界面状态、导致 Reader 偶发闪退的问题。

macOS 安装

  • 支持 Apple 芯片 Mac,要求 macOS 15 或更高版本。
  • 下载 YYReader-1.2.0-arm64.dmg,打开后将 YYReader 拖入 Applications。
  • 使用 ad-hoc 签名且未经过 Apple 公证;首次启动时可能需要在 Finder 中右键应用并选择“打开”。

macOS 验证

  • 全量单元与回归测试:90 项全部通过。
  • Release 为纯 arm64、版本 1.2.0(build 5),App Sandbox 保留用户选择文件夹读写和出站网络权限。
  • ad-hoc 签名、DMG 校验和、挂载后签名、应用图标、资源及便携性检查全部通过。

Windows 1.2.0

YYReader 1.2.0 是首个可正式分享的原生 Windows 版本。它使用 C#、.NET 8、WinUI 3、Windows App SDK 和 SQLite,延续 macOS 版“原生、简洁、流畅、适合长期阅读”的核心方向。

阅读与书架

  • 新增 Windows 11 风格书架、继续阅读区域、目录侧栏和统一自定义标题栏。
  • 正文使用 WinUI 原生文本渲染,支持连续滚动、连续章节、阅读位置恢复、键盘翻页和稳定的段落锚点。
  • 提供字号、字体、行距、段距、正文宽度、段首缩进及日间、夜间等阅读主题。
  • 阅读位置使用章节 URL、段落索引和进度比例恢复;排版变化后保持在当前段落附近。

导入、目录与离线阅读

  • 支持从小说 URL 导入,包含 qidiy.com 专用适配器和通用 HTML 解析器。
  • JavaScript、Cookie 和网站验证由 WebView2 处理,提取后的章节仍在原生阅读器中显示。
  • 支持完整目录分页刷新、章节搜索、前后章节发现和下一章后台预取。
  • 支持下载当前章节、后续 20 章或全书;下载可取消,已完成章节继续保存在 SQLite。
  • 章节正文按需从 SQLite 加载,避免整书缓存后在启动时一次性进入内存。

Mac 与 Windows 数据交换

  • 支持 BookshelfTransfer JSON、.yyreader 文件及剪贴板批量导入,并按 canonical source URL 去重。
  • 支持书架导出到剪贴板或 .yyreader 文件。
  • 新增 SyncSnapshot v2 文件夹同步:Windows 只写 windows.json、读取 mac.json,按更新时间合并元数据、章节号和阅读位置。
  • 同步不会在用户阅读过程中重建正文、切换屏幕章节或覆盖本机刚产生的 UI 状态。

稳定性与性能

  • 修复连续阅读章末抖动、失败后不能重试、下一章尚未加载时出现空白及切章不回标题等问题。
  • ReaderItem 改为轻量结构并批量追加,正文缓存保持有界,同时优先维持稳定滚动几何。
  • 目录刷新、预取、离线下载和同步均避开滚动热路径及 UI 线程中的网络、解析和 SQLite 写入。
  • 修复后台目录刷新阻塞打开小说、标题栏控件双击误触最大化、系统主题切换后已显示正文颜色未更新等问题。

安装与打包

  • 提供 YYReader-Setup-x64-1.2.0.exe 中文完整安装包,包含 .NET 8 与 Windows App Runtime。
  • 安装后创建开始菜单入口,可选择桌面快捷方式,并支持在 Windows“已安装的应用”中卸载。
  • 重新生成标准多分辨率 Windows 图标,修复安装程序、应用和快捷方式显示白纸图标的问题。
  • Windows App SDK 改为按组件引用,移除应用未使用的 AI/ML、ONNX Runtime 和 DirectML 依赖。

验证

  • Windows Core 单元测试:45 项全部通过。
  • Release 构建:0 warning、0 error。
  • 完整安装、快捷方式图标、已安装应用启动和自包含运行环境已完成本机验证。

系统要求与已知限制

  • x64 Windows 10 1809 或更高版本,推荐 Windows 11。
  • 安装程序尚未使用商业代码签名证书,Windows SmartScreen 可能显示“未知发布者”。
  • 不自动解决 CAPTCHA,不绕过登录、付费墙或网站访问控制;第三方网站结构变化可能影响解析。

YYReader 1.1.2

Choose a tag to compare

@YangChen-cn YangChen-cn released this 11 Aug 12:23

YYReader 1.1.2 聚焦阅读位置恢复、正文渲染性能和可缩放排版。本版本仅提供 Apple 芯片 arm64 DMG。

修复

  • 修复“继续阅读”总是回到章首的问题,现在会恢复已保存的顶部段落。
  • 高级阅读设置新增“完成”按钮,并支持 Escape 退出。

性能与阅读体验

  • 新增 8 章容量 LRU 段落缓存,避免反复拆分整章文本并自动淘汰远离章节。
  • 大目录使用章节和位置索引,可见目标按章节顺序显式排序。
  • 正文宽度改为 em 模型,提供 38/48/58em 三档和 20~80em 自定义滑块。
  • 行距、段距随字号缩放;连续章节边界更紧凑并按主题统一视觉语言。
  • Debug 与 Release 脚本在验证后清理 DerivedData 中间 App。

验证与安装

  • 69 个代码测试和 1 个 UI 测试通过。
  • arm64 Release、ad-hoc 签名、DMG 校验和、挂载后签名及资源检查均通过。
  • 本版本未经过 Apple Developer ID 签名或公证;首次启动时可能需要在 Finder 中右键 YYReader 并选择“打开”。

YYReader 1.1.1

Choose a tag to compare

@YangChen-cn YangChen-cn released this 10 Aug 18:27

YYReader 1.1.1

YYReader 1.1.1 聚焦阅读体验:全新主题体系、整屏铺色阅读区与焕新的外观设置。本版本仅提供 Apple 芯片 arm64 DMG。

新功能

  • 全新阅读主题体系:每个主题拥有专属强调色,章首与章尾加入主题装饰。
  • 新增“绯霞”主题取代“象牙”,设置自动迁移,无需手动重新选择。
  • 阅读区改为整屏铺色,去掉纸页卡片的内外圈与上下间距。
  • 设置“关于”页焕新:作者卡片、GitHub 链接与更新日志。

阅读体验

  • 修复方向键滚动只能前进一次的问题,按住可连续滚动。
  • 新增 ←/→ 整页滚动与 ↑/↓ 小幅滚动,页面之间保留重叠便于衔接上下文。
  • 稳定重复滚动与阅读窗口:连续换章与惯性滚动时正文布局不再跳动。
  • 阅读外观面板与主题选择器焕新:迷你页面样张、八格两排、不再按深浅分组。

系统要求与安装

  • macOS 15.0 或更高版本。
  • 仅支持 Apple 芯片 Mac(arm64)。
  • 下载 YYReader-1.1.1-arm64.dmg,打开后将 YYReader 拖入 Applications。
  • 本版本使用 ad-hoc 签名,未经过 Apple Developer ID 签名或公证。首次启动时可能需要在 Finder 中右键 YYReader 并选择“打开”。

项目

已知限制

  • 不自动解决 CAPTCHA,不绕过登录、付费墙或网站访问控制。
  • 第三方网站结构和反自动化策略可能变化,通用解析无法保证支持所有站点。

YYReader 1.1.0

Choose a tag to compare

@YangChen-cn YangChen-cn released this 10 Aug 09:43

YYReader 1.1.0

YYReader 1.1.0 聚焦连续阅读、离线下载和通用小说网站兼容性。本版本仅提供 Apple 芯片 arm64 DMG。

新功能

  • 新增可选的连续章节阅读,进入当前章节后立即后台预取下一章,接近章节底部时再安全加入阅读视图。
  • 新增“下载到本地”,支持下载当前章节、后续 20 章或整本目录;已缓存章节自动跳过,下载可取消并可隐藏到后台。
  • 新增轻量阅读进度,显示当前章节位置和本章阅读百分比。
  • 设置新增“关于”页面,显示应用版本、作者、GitHub 链接和本版更新日志。

阅读体验

  • 连续阅读保持稳定的章节视图结构,不在滚动过程中删除上方整章。
  • 章节连接区域使用固定高度,加载状态变化不再改变正文布局。
  • 一次滚动事务最多进入下一章,修复惯性滚动跨越多个章节的问题。
  • 修复连续换章时目录 selection 反向触发 Reader 重置所造成的闪烁。
  • 支持方向键逐段滚动,目录打开时自动居中当前章节。
  • 重新打开应用后恢复上次阅读的书籍和章节。

网站兼容性

  • 支持直接从书籍目录页导入小说。
  • 支持没有目录的小说,并使用稳定的书籍级身份避免重复书籍。
  • 改进章节页与目录页判断,避免侧栏章节链接导致正文页被误判。
  • 支持按 DOM 顺序合并多个同级卷或章节区块。
  • 静态 HTML 解析失败时,可复用持久 WebKit 会话获取 rendered DOM 后重试;只有成功解决解析问题才升级该网站的加载偏好。
  • 保留 qidiy.com 专用适配器和 Cloudflare 持久会话。

系统要求与安装

  • macOS 15.0 或更高版本。
  • 仅支持 Apple 芯片 Mac(arm64)。
  • 下载 YYReader-1.1.0-arm64.dmg,打开后将 YYReader 拖入 Applications。
  • 本版本使用 ad-hoc 签名,未经过 Apple Developer ID 签名或公证。首次启动时可能需要在 Finder 中右键 YYReader 并选择“打开”。

项目

已知限制

  • 不自动解决 CAPTCHA,不绕过登录、付费墙或网站访问控制。
  • 第三方网站结构和反自动化策略可能变化,通用解析无法保证支持所有站点。

YYReader 1.0.0

Choose a tag to compare

@YangChen-cn YangChen-cn released this 09 Aug 18:36

YYReader 1.0.0

首个公开版本。YYReader 是一款支持 Apple 芯片和 Intel Mac、以正文为中心的原生 macOS 小说阅读器。

主要功能

  • 输入章节网页 URL,自动识别书名、作者、章节标题、正文、目录和前后章节。
  • 自动抓取并合并同一章节的多个分页。
  • 使用 SwiftUI 原生正文视图,支持文字选择、连续滚动和阅读位置恢复。
  • 提供多书书架、目录搜索、章节缓存、离线阅读和下一章预取。
  • 提供系统、白色、轻暖纸张和夜间主题,以及字体、字号、行距、正文宽度和段首缩进设置。
  • 阅读模式默认突出正文;目录、外观设置和书籍管理操作按需显示。

网站加载与解析

  • qidiy.com 使用专用解析器,支持章节分页和多页目录。
  • 其他站点使用基于结构化元数据、语义标签和正文密度的通用解析器。
  • Cloudflare 网站触发验证后,同一域名持续复用 WebKit 会话,避免每个分页重复验证。
  • HTTP 429 不会自动重试;目录刷新支持取消和超时,当前章节成功后不再依赖完整目录下载。
  • 目录保持网站 DOM 顺序,章节标题数字只用于辅助识别,避免正文与番外重新编号时错乱。

阅读体验

  • 书架模式中,单击章节即可在右侧预览;双击、按 Return 或点击“继续阅读”才进入沉浸阅读。
  • 沉浸阅读默认隐藏书架,目录可通过系统侧栏按钮展开。
  • 工具栏移除了重复的书名、搜索框和章节导航按钮。
  • 章节搜索框只出现在目录侧栏中。
  • 返回书架后继续保留当前书籍、章节与阅读位置。

系统要求与安装说明

  • macOS 15.0 或更高版本。
  • Apple 芯片 Mac 使用 arm64 构建,Intel Mac 使用 x86_64 构建。
  • 本版本使用 ad-hoc 签名,未经过 Apple Developer ID 签名或公证。首次启动时可能需要在 Finder 中右键 YYReader 并选择“打开”。

下载

  • YYReader-1.0.0-arm64.dmg:Apple 芯片 Mac。
  • YYReader-1.0.0-x86_64.dmg:Intel Mac。

已知限制

  • 不自动解决 CAPTCHA,不绕过登录、付费墙或网站访问控制。
  • 第三方网站结构和反自动化策略可能变化,通用解析无法保证支持所有站点。
  • 首版不包含整本批量下载、全文搜索、书签、高亮、批注、同步和 EPUB 导出。