滚猫md v0.5.2
本次 GitHub Release 集中发布 v0.4.0 之后的累计更新,包含 TextPack、网页图文粘贴、Windows 文件关联入口、启动帮助,以及 Android 打开方式与图标修复。
| 下载文件 | 平台与实际版本 |
|---|---|
rollcat-md.exe |
Windows 便携版,v0.5.1,6,655,488 字节。 |
rollcat-md-android-arm64.apk |
Android ARM64,v0.5.2 / 5002,11,150,779 字节;沿用旧版签名,可覆盖安装。 |
SHA256SUMS.txt |
上述程序与 APK 签名侧文件的 SHA-256 校验值。 |
自 v0.4.0 起的主要更新
- TextPack 单文件图文文档:将 Markdown 正文与图片原始二进制内容打包为
.textpack。支持打开、编辑、保存、另存、三种视图和带附件的草稿恢复;“更多”提供新建 TextPack 和另存为 TextPack。已有.md插图后仍按 Markdown 与旁置附件保存,可通过另存为 TextPack 打包。 - 网页图文粘贴:复制网页的文字和图片后粘贴到编辑区,保留主要内容顺序、标题、列表和基础样式,并尝试下载可访问的 HTTPS 图片。复杂格式会简化,下载失败的图片保留链接。
- Windows 更多菜单:新增“添加到右键打开方式”和“设为默认 .md 程序”。前者登记当前 EXE,后者打开系统默认应用设置,继续在 Windows 中完成选择。移动便携版后可重新登记。
- 启动帮助:首次打开自动显示帮助。勾选“下次不再展示”并关闭后记住偏好;仍可从“更多”手动打开帮助。
- Android 修复:补齐文件管理器打开方式匹配,桌面图标使用 PC 同款猫图。详细范围与验证记录如下。
文件打开方式
安装后,对 .md、.txt、.textpack 文件使用“打开方式”,可选择“滚猫md”。同时支持 .markdown、.mdown 和 .mkd。
此前只声明了少数专用 MIME 类型,部分文件管理器把文档标记为通用二进制或 ZIP,导致应用未进入候选列表。本版补齐常见声明,并检查外部文件的真实名称与读取权限。
Android 的 content:// 地址经常不含文件名,系统候选匹配依赖 MIME,应用取得文件后才能查询显示名称。为兼容通用二进制/ZIP 声明,部分其他文件也可能出现滚猫md候选;不支持的扩展名会在接收时拒绝。Android Intent 匹配规则、data 声明说明。
图标
Android 使用 PC 的同一张猫图标。修复实际 Android 工程仍保留默认 Tauri launcher 资源的问题,提供普通、圆形及自适应图标,兼容不同桌面的裁剪形状。
本版 APK 同时包含 v0.5.1 的启动帮助与“下次不再展示”偏好。
验证记录
| 项目 | 实际结果 |
|---|---|
| JavaScript 测试 | npm test:241/241 通过。 |
| Rust 测试 | cargo test --manifest-path src-tauri/Cargo.toml:16/16 通过。 |
| Android Intent 接收与匹配 | scripts/test-android-intents.ps1 -Offline:源码与最终合并 Manifest 均通过 Android 7/API 24 与 Android 14/API 34 的 IntentFilter 匹配各 102/102,生产接收策略 37/37。提供者名称与读取结果使用替身。 |
| 实际打包图标 | APK 中 15 张 PNG 的 RGBA 像素与当前猫图资源一致;Manifest 正常/圆形图标及两个自适应 XML 均指向猫图资源与 #15191c 背景,已解包查看。 |
| ARM64 APK、版本与签名 | Gradle assembleArm64Release 成功;0.5.2 / 5002,arm64-v8a,11,150,779 字节。APK v2/v3 签名验证通过,与旧版证书一致;显式加载 .idsig 后 v4 验证通过;包内 .so 与本次 Rust release 构建一致。 |
| 真机 | 当前 adb 未连接设备,具体文件管理器与设备入口尚未实测。 |
匹配覆盖 VIEW、SEND、通用 MIME、无 MIME、错误 MIME、多点文件名与不支持的 URI。接收策略覆盖单文件、纯文本分享、多文件、实际名称不受支持及读取失败。Android 7–11 在 MIME 缺失或错误时,文件名路径兜底支持至多四个点;Android 12+ 使用后缀匹配。路径不含名称且 MIME 也缺失或错误时,系统无法识别文件类型,可从应用内打开按钮选择文件。
npm run dist:android 完成前端与 Rust release 构建后,遇到本机已有的 Windows 符号链接权限限制。复制本次编译的 ARM64 .so 到 jniLibs,再运行 :app:assembleArm64Release -x :app:rustBuildArm64Release 完成打包,已核对包内库文件一致。
APK SHA-256:ae992bbc074ff6381d69a68132e8a14c96399b7bf684c3040f37240c6091702c。
Windows EXE SHA-256:50120aced1833da43ebbbb5b68e0c3480a5fc9d5f87281b0783624f771540e69。此 EXE 为此前已完成生产构建和验证的 v0.5.1;其浏览器验证包括 13 项 TextPack 流程、5 项 Windows 菜单流程和 10 项启动帮助流程,全部通过。
English
This GitHub release publishes the accumulated changes since v0.4.0. Assets include the previously built and validated Windows v0.5.1 portable EXE and Android v0.5.2 / 5002 ARM64 APK, with SHA-256 checksums. Android retains the existing signing certificate for in-place upgrades.
TextPack stores Markdown and original image bytes in a single .textpack file, with editing, saving, three views, and attachment-aware recovery drafts. More provides New TextPack and Save As TextPack; existing Markdown documents retain their ordinary save behavior with external attachments. Web text/image paste preserves main content and basic formatting, attempts HTTPS image downloads, and retains links for failed images.
Windows adds Add to Open with and Set as default for .md to More. The latter opens Windows settings to complete the default choice. Startup Help remembers Don't show next time after closing and remains available from More. The Windows EXE passed its production build and 13 TextPack, 5 Windows-menu, and 10 startup-Help browser flows. Android-specific fixes and validation follow.
The app handles .md, .markdown, .mdown, .mkd, .txt, and .textpack documents. Registration now covers common text, Markdown, TextPack, generic binary, and ZIP MIME declarations used by file managers, with real filename and permission validation on receipt. Android's opaque content URIs may not expose the filename during chooser matching, so unrelated binary/ZIP files can also list the app; unsupported extensions are rejected after selection.
The APK now packages the same cat artwork as the PC app with legacy, round, and adaptive launcher resources. It also includes v0.5.1 startup Help and its remembered opt-out.
Final validation results, artifact metadata, and device coverage are recorded above. No Android device is currently connected for file-manager UI testing.
Validation passed: 241 JavaScript tests, 16 Rust tests, and 241 Android framework/policy cases against the final merged manifest. The signed ARM64 APK is version 0.5.2 / 5002 and 11,150,779 bytes; v2/v3 signatures verify with the existing certificate. All 15 packaged launcher PNGs match the source resource pixels. A local Windows symlink restriction required copying the freshly built native library into jniLibs and completing Gradle assembly with the Rust task excluded; the packaged library matches that release build.
Framework tests cover VIEW/SEND, content/file URIs, MIME variants, and filenames containing multiple dots. Production-policy tests cover single-file admission, plain-text shares, multiple files, unsupported names, and read failures with provider I/O doubles. On Android 7–11, filename fallback for missing/incorrect MIME supports up to four dots in the URI path; Android 12+ uses suffix matching. Opaque URIs still require a recognized MIME declaration to appear in the system chooser; the in-app picker remains available.