Repository navigation
滚猫md v0.5.5
v0.5.5 为 Windows 和 Android 版增加搜索自动定位与全部命中高亮,并包含保存、网页粘贴及图片导出的可靠性修复。
本次发布 Windows 便携版 EXE、Android ARM64 APK 与 SHA-256 校验文件。Android 已补充更新至 v0.5.5 / 5005,沿用旧版签名,可覆盖安装;同时包含 v0.5.3–v0.5.4 的阅读位置和源码显示修复。
更新内容
- 自动定位与全部高亮:输入搜索词后自动跳到第一个结果;只有一个结果时直接定位该处,有多个结果时高亮全部命中的原文。当前结果使用更深的底色和下划线,输入框保持焦点,支持上一项、下一项和循环查找。
- 覆盖三种视图与大文档:普通文档的所见即所得、源码和阅读视图均支持;大文档仅绘制可视区高亮,继续保留分块渲染。编辑、撤销或替换后刷新结果,清空或关闭查找后清除高亮。
- 查找面板布局:面板在正文上方单独占位,文首结果在桌面和窄屏上均可见。旧 WebView 的阅读视图支持高亮回退。
- 保存与关闭保护:保存后等待本地记录写入期间出现新编辑或异步粘贴时,保留当前文档供再次确认;重复关闭请求、草稿写入失败和关闭失败后重试保持一致,旧对话框的延迟关闭事件不会误关新提示。
- 长文件名保存:原子保存使用独立的短临时文件名,避免合法的长文件名因附加临时后缀而超过文件系统名称上限。
- 网页代码粘贴:保留代码块中的连续空行、缩进和仅包含空白的行。
- 图片导出边界:修复 Markdown 代码围栏与原始 HTML 块之间的状态判断,正确处理代码中的 HTML 示例及带尾随文字的围栏样式代码行。
验证与产物
2026-10-13 完成以下检查及 Windows、Android 生产构建。两平台使用同一 v0.5.5 发布提交 d6687d8。
| 项目 | 本轮结果 |
|---|---|
| JavaScript 测试 | npm test:261/261 通过。 |
| Rust 测试 | cargo test --locked --manifest-path src-tauri/Cargo.toml:17/17 通过。 |
| 查找浏览器回归 | node scripts/qa-find-highlights.mjs(亦可使用 npm run test:find):208/208 通过,覆盖普通/大文档、三视图、三主题、桌面/窄屏、文首遮挡、导航、清理、编辑、替换、撤销及原文完整性。 |
| 查找补充检查 | work/qa 临时检查共 30 项通过,包含跨格式命中、长段落末端、Reader 回退、切换文档及转义换行的零命中。回退通过禁用 Edge 的 Highlight 构造器模拟。 |
| 异步粘贴与保存竞态 | npm run test:paste-races:8/8 通过,页面异常与意外提示均为 0。 |
| TextPack 与恢复 | npm run test:browser:13/13 通过;页面异常为 0,出现 1 条测试注入的预期保存失败提示。 |
| 阅读位置 | npm run test:position:43/43 通过,包含带图 TextPack、三主题、窄屏与大文档。 |
| 首次帮助与设置 | npm run test:help:10/10 通过,页面异常与意外提示均为 0。 |
| 前端与 Windows 生产构建 | npm run dist:win 成功,包含 npm run build:renderer;Rust release 构建用时 2 分 53 秒,前端构建用时 3.23 秒。构建保留 bundle 大小及动态导入提示。 |
rollcat-md.exe |
文件版本与产品版本均为 0.5.5,6,654,976 字节(约 6.35 MiB);本轮 4 个 CSS/JavaScript 资源名均已核对嵌入 EXE,高亮样式已核对。 |
| Android 构建与版本 | 前端构建 3.25 秒、ARM64 Rust release 构建 1 分 01 秒;Gradle assembleArm64Release 成功,用时 2 分 21 秒。APK 为 com.sonicacd.rollcatmd,0.5.5 / 5005,arm64-v8a,minSdk 24 / targetSdk 36,11,154,875 字节(约 10.64 MiB)。 |
| Android 相关测试 | Android 构建、图标和移动工具栏 Node 测试 20/20;test:windows 平台检查 5/5,包含模拟 Android 入口隔离,页面异常与提示均为 0。 |
| Android 文件接收规则 | scripts/test-android-intents.ps1 -Offline:源码及最终合并 Manifest 分别通过 241/241,包括 Android 7/API 24 与 Android 14/API 34 的 Intent 匹配各 102 项、生产接收策略 37 项。 |
| APK 内容与签名 | 包内原生库与本次 Rust release 产物完全一致,包含本轮 4 个 CSS/JavaScript 资源名;15 张图标 PNG 像素、2 个自适应 XML 和 Manifest 图标引用正确。v2/v3/v4 签名、16 KiB ZIP 对齐检查通过,证书与 v0.5.2 相同。 |
| 校验文件 | SHA256SUMS.txt 记录 EXE、APK 及 APK .idsig;两个平台同时提供各自的 .sha256 文件。 |
| Android 真机 | 当前 adb 未连接设备,未进行安装、文件管理器、系统授权及生命周期实测。 |
npm run dist:android 完成前端与 Rust 编译后,遇到本机已有的 Windows 符号链接权限限制。沿用 v0.5.2 的构建回退,将本次 ARM64 原生库复制到 jniLibs,执行 :app:assembleArm64Release -x :app:rustBuildArm64Release 完成组装,并核对最终包内库文件。Gradle 保留 SDK XML 版本及弃用特性提示。
Windows EXE SHA-256:
b0d5b3441d732c3eb9199ebd0d0da91e663aa9f83089bab8ac65b86701e756b3
Android APK SHA-256:
524a64d648e7567339d13512d955aa78cae7857d5ab3ea9b68cf0b48878c232c
浏览器检查使用隔离 Edge,文件、窗口关闭及原生接口使用测试替身。Windows 原生 WebView 界面、旧版 WebView 实机及 Android 设备操作尚未实测。
English
v0.5.5 adds automatic search navigation and persistent highlighting to the Windows and Android apps. Entering a search term jumps to the first result and highlights every match, with a stronger background and underline for the current result. Input focus is preserved, and previous/next navigation wraps through the results. Clearing or closing Find removes the highlights; edits, undo and replacements refresh them.
All three views and large documents are supported. Large documents decorate only the visible viewport. The Find panel reserves space above the document so results at the beginning remain visible on desktop and narrow screens. Reader mode includes a fallback for WebViews without CSS Highlight support.
Additional fixes protect newer edits while local records are flushed before leaving a document, handle repeated close requests and failure retries, save files with names near the filesystem limit, preserve blank and whitespace-only lines in pasted code blocks, and correct code-fence/raw-HTML boundaries during image export.
This release ships the Windows v0.5.5 portable EXE, Android v0.5.5 / 5005 ARM64 APK, APK v4 signature sidecar, and SHA-256 files. Both builds use release commit d6687d8. Android retains the existing signing certificate for in-place upgrades and also includes the reading-position and source-display fixes from v0.5.3–v0.5.4.
Validation on 2026-10-13 passed 261 JavaScript tests, 17 Rust tests, 208 search browser checks, 30 additional search edge checks, 8 paste/save race scenarios, 13 TextPack/recovery checks, 43 reading-position checks, and 10 startup Help/settings checks. The TextPack suite produced one expected injected save-failure alert; the other suites reported no unexpected page errors or dialogs.
The frontend and Windows production builds succeeded, with bundle-size and dynamic-import warnings. The Rust release build took 2 minutes 53 seconds and the frontend build took 3.23 seconds. The EXE reports file/product version 0.5.5, is 6,654,976 bytes, and contains all four hashed CSS/JavaScript asset names from this build. Its SHA-256 is recorded above.
Android validation additionally passed 20 relevant Node tests, 5 platform browser checks, and 241 framework/policy cases against each of the source and final merged manifests. The signed APK is 11,154,875 bytes, targets ARM64 with minSdk 24 / targetSdk 36, and reports version 0.5.5 / 5005. Its v2/v3/v4 signatures verify with the v0.5.2 certificate, and 16 KiB ZIP alignment passes. All 15 packaged launcher PNGs, both adaptive icons, and Manifest references match the source resources. The packaged native library matches the current Rust release build and contains all four frontend asset names.
The Android frontend and Rust builds took 3.25 seconds and 1 minute 01 seconds. A local Windows symlink restriction then interrupted npm run dist:android; copying the freshly built native library into jniLibs and running Gradle assembly with the Rust task excluded completed packaging in 2 minutes 21 seconds. SDK XML version and Gradle deprecation warnings remain. The APK SHA-256 is recorded above; the combined checksum manifest also includes the unchanged Windows EXE and APK signature sidecar.
Browser checks use isolated Edge with mocked file, window-close, and native interfaces. The Reader fallback was tested by disabling Edge's Highlight constructor. Native Windows WebView UI, actual older WebViews, and Android devices remain unverified.