github zhashut/goread v1.5.8
GoRead v1.5.8

5 hours ago

GoRead v1.5.8

🚀 新增

书签:记录章节目录名与章内精确位置

  • 添加书签时自动记录当前所在章节目录名作为书签标题(无目录信息时仍回退为「第 N 页」),列表里不再只有页码。
  • 书签新增章内精确进度(浮点页码):跳转按精确位置还原、同页书签按精确进度排序,旧书签与不支持精确进度的格式(如 PDF)自动回退为整数页码。
  • 数据库新增 precise_progress 字段并做自动迁移,备份导入/导出同步支持,旧备份文件仍可正常导入。

🐛 修复

TTS

  • 修复个别语音引擎把引号逐字朗读出来的问题:交给引擎前统一剔除引号类符号(直引号、反引号、弯引号、书名式角引号及全角变体),逗号、句号等承担句读停顿的标点保持原样。
  • 整段只有引号时视为无可朗读内容,自动跳过该片段;朗读文本过滤不影响高亮与跟读定位(anchor 仍基于原文生成)。

阅读器(TXT 阅读时长)

  • 修复 TXT 纵向滚动阅读时长被空闲阈值截断的问题:TXT 走 DOM 渲染,滚动不经过通用滚动路径,导致被 10 分钟空闲阈值误判为无操作而停止计时;现按 10 秒节流主动上报阅读活跃。
  • 修复前台事件丢失(Android WebView 上 visibilitychange 可能不对称)后计时永久停表的问题:恢复阅读时首次翻页/滚动即可重新启动计时。

文件系统(Android)

  • 修复别名路径导致的重复扫描:/sdcard、/storage/self/primary 都是 /storage/emulated/0 的符号链接,扫描根目录改为按真实路径归一化去重,且已被父目录覆盖的子目录不再单独遍历,避免同一批文
    件被完整扫描两次。
  • 修复同一本书重复导入与「已导入」标记失效:导入与已导入判定统一做路径归一化,前后端归一化规则保持一致。

⚡ 性能

TTS(Android)

  • 优化朗读过程中主线程的 TTS 引擎调用开销:tts.voices 是同步的引擎调用,在长句合成期间可能阻塞主线程数百毫秒到数秒,现按 TTS 实例代次缓存语音列表,同一实例只枚举一次,实例重建后缓存自
    动失效。
  • 已应用到引擎的音频配置(voice / lang)按标识去重,避免每句都重复设置。

♻️ 重构

  • 移除导出图片(截图 / 裁切)功能,清理截图与裁切遮罩相关代码、入口及多语言文案。

Don't miss a new goread release

NewReleases is sending notifications on new releases.