TL;DR
Patch release rolling up everything since v3.5.0:
- 🇨🇳 Win 中文 UI 字体修复 — 自 v0.1.12 起 UI 中文变虚的问题,根因找到并修了(#43)
- 📊 自建匿名遥测 — 从 Aptabase 迁到 solomd.app/api/track + Cloudflare D1,零外部依赖
- 🐛 PR #48 合并 — 4 处 polish:PDF 导出 30s 超时、outline 按钮搬到 tab、mermaid 浮窗对比度、HTML
<tbody>
自动升级:现有 v3.5.0 装机会在 24h 内看到更新提示。Mac
brew upgrade --cask solomd也行。
#43 字体修复(最重要的一条)
Win11 用户从 v0.1.12 起反馈 UI 中文字体变细变虚,跟原生 ClearType 不一样。定位到根因:v0.1.12 commit 12b82c7("feat(ios): iPad v0.1.11 feature integration + CJK font fix")把 "SoloMD CJK" 放到了 --font-ui 第一位。这个 @font-face 用 unicode-range: U+3400-9FFF,把所有 CJK 字符的渲染权抢走了 —— 即使 chain 里有 Microsoft YaHei 也不会被选上。SoloMD CJK 是 LXGW WenKai 的 43KB 子集,手写楷书风格,笔画细而软,所以看起来"虚 + 不一致"。
修复:把 SoloMD CJK 挪到两条 chain 末尾,保留 unicode-range 不变。
- Win → 用 Microsoft YaHei(ClearType subpixel rendering,原生效果)
- Mac → 用 PingFang SC(Quartz 提示)
- Linux → 用 Noto Sans CJK SC
- 真 iPad → 用 PingFang
- 只有 iOS Simulator 这种没系统 CJK 字体的环境才回落到那 43KB 兜底字体(这本来就是它的设计目的)
设置面板里"字体 / 写作字体"那个选项一直只控制编辑区,不受这个修复影响 —— 之前选 Microsoft YaHei 没用是因为 UI 字体走的是另一条 chain。
自建匿名遥测(Aptabase → CF D1)
把第三方 SaaS(Aptabase)整个换成自建:
- 客户端:
app/src/lib/telemetry.ts改成 fetch POST 到solomd.app/api/track,2s timeout,AbortController,永不阻塞用户。Anon ID 在 localStorage 里随机生成,不带 IP / UA / 任何 PII。 - 服务端:Cloudflare Pages Function + D1(5M reads/day、100k writes/day 免费额度,按当前 3.4k 装机量绰绰有余)
- 管理面板:
solomd.app/admin/用 Bearer token 鉴权(sessionStorage,不落 cookie),看 KPI / 每日活跃 / 事件 / 版本 / OS / locale 分布 - 退订:Settings → 发送匿名使用数据,默认开
Tauri 那侧 tauri-plugin-aptabase + 它专属的 aptabase:allow-track-event capability + main.rs 那段 Aptabase tokio 注释全删了。详细架构见 web/ANALYTICS.md。
PR #48 — beihai23 的 4 处 polish
Big thanks 🙏 to @beihai23 (王志刚):
- PDF 导出 30s 超时 —
markdownToPdfBlob加Promise.race,html2pdf.js / Mermaid 卡死时也不再冻 UI;DOM 清理逻辑改成幂等,避免 double-remove - Outline 切换搬到 Tab — 移除编辑区左上角浮动按钮,改在每个 Markdown tab 上点 ≌ 直接切;TabBar 和 PaneTabBar 都适配了
- Mermaid 浮窗对比度 — overlay 里的 SVG 自动加主题适配的背景卡片(浅色
#fff、深色#1e1e2e),暗色模式下 mermaid 线条不再消失 - HTML 规范 — MarkdownHelp、Slideshow 中的
<table>补<tbody>,消 Vite warning
升级
# Mac
brew upgrade --cask solomd
# 或直接下 dmg / msi / AppImage / deb / rpm —— 见下方 Assets
# 或 v3.0.x+ 用户直接打开应用,"检查更新"会弹提示CLI / MCP server 也跟着 bump 到 3.5.5:
curl -fsSL https://solomd.app/install.sh | bash # Mac/Linux
irm https://solomd.app/install.ps1 | iex # Windows PowerShellFull Changelog: v3.5.0...v3.5.5