TidGi-Desktop v0.14.0-1 发布报告
发布日期:2026-06-26
基于标签:v0.13.1-fix(GitHub Release v0.13.1) →v0.14.0-1
改动范围:102 个文件变更,新增 3,787 行,删除 2,009 行
目录
- 新功能:HTML Wiki 工作区编辑
- Git 算法重构与本地 IP 展示
- 历史记录与深度链接修复
- 依赖与工程改进
- 杂项
1. 新功能:HTML Wiki 工作区编辑 (#726)
本版本最大的功能更新:支持将单文件 HTML Wiki 作为 TidGi 工作区打开、编辑并保存。
| 方面 | 变更 |
|---|---|
| 工作区类型 | 新增 WorkspaceType.html,支持直接打开 .html 单文件 Wiki |
| 策略模式 | 引入 folderWikiStrategy 与 htmlWikiStrategy,隔离文件夹 Wiki 与单文件 HTML 的启动、HTTP 路由、Git 作用域逻辑 |
| 保存机制 | 向 HTML 注入 TiddlyFox 风格的 saver bootstrap,并通过下载拦截将保存请求桥接到 IPC,避免触发浏览器下载 |
| HTTP 服务 | 新增 HtmlWikiService,为 HTML 工作区提供本地 HTTP 服务;新增认证 GET/PUT 端点,方便移动端整文件同步 |
| Git 作用域 | Git 操作限定到单个 HTML 文件;GitLog 支持按工作区文件路径过滤 |
| UI/UX | 添加工作区添加向导的「打开 HTML 文件」表单、按工作区类型过滤设置项、i18n 中英翻译 |
| 测试 | 新增单元测试与 Cucumber E2E 场景,覆盖 HTML 工作区导入、保存、重开、GitLog 作用域隔离 |
2. Git 算法重构与本地 IP 展示 (#725)
- HTTP 服务器改为监听
0.0.0.0,不再依赖网关匹配到的单一 IP - 新增
getAllLocalIpV4(),注入所有本地网卡 IP 到$:/info/url/localIP/tiddler - 工作区设置页展示所有本地 IP(适配多网卡环境)
- 移除
default-gateway与ipaddr.js依赖 - 清理
mergeUtilities与gitServer中的旧合并算法代码 - 升级
tw-mobile-sync插件到 v2.1.6 (此发布最终升级到了 v2.3.3)
3. 历史记录与深度链接修复 (#729)
修复 #728 等历史记录与深度链接相关问题:
- 恢复工作区配置中缺失的
rememberLastPageVisited开关;仅开启时显示上次访问 URL 文本框 - 三层拦截
tidgi://深度链接:- WebView
will-navigate事件 window.open()处理器- 协议处理器回退
- WebView
- 支持新 URL 格式
tidgi://<workspaceId>/preferences/<sectionId>,直接打开指定工作区的偏好设置页 - 修复
protocol.ts在渲染进程中的安全性:- 统一使用
TIDGI_PROTOCOL_SCHEME常量 - 渲染进程通过
window.service.context.get('isTest')获取测试模式状态
- 统一使用
- 恢复测试模式下偏好设置页面一次性渲染的行为
4. 依赖与工程改进
🔼 esbuild 0.28.0 → 0.28.1 (#724)
- 由 Dependabot 发起的开发依赖升级
5. 杂项
- 更新
template/wiki子模块 - 提交
v0.14.0版本号
完整 PR 列表
| PR | 标题 | 类型 |
|---|---|---|
| #724 | chore(deps-dev): bump esbuild from 0.28.0 to 0.28.1 | 依赖升级 |
| #725 | Refactor/git algorithm | 重构 |
| #726 | Feat/html edit | 新功能 |
| #729 | Fix/history | 修复 |
完整对比: v0.13.1-fix...v0.14.0-1
# TidGi-Desktop v0.14.0-1 Release Report
Release Date: 2026-06-26
Tag Range:v0.13.1-fix(GitHub Release v0.13.1) →v0.14.0-1
Scope: 102 files changed, 3,787 insertions, 2,009 deletions
Table of Contents
- New Feature: HTML Wiki Workspace Editing
- Git Algorithm Refactor & Local IP Display
- History & Deep Link Fixes
- Dependencies & Tooling
- Miscellaneous
1. New Feature: HTML Wiki Workspace Editing (#726)
The largest feature in this release: open, edit, and save single-file HTML wikis as TidGi workspaces.
| Area | Changes |
|---|---|
| Workspace Type | Added WorkspaceType.html to open .html single-file wikis |
| Strategy Pattern | Introduced folderWikiStrategy and htmlWikiStrategy to isolate startup, HTTP routing, and Git scoping between folder and single-file HTML wikis |
| Save Mechanism | Injects a TiddlyFox-style saver bootstrap into HTML and bridges saves through IPC via download interception, avoiding browser downloads |
| HTTP Service | Added HtmlWikiService providing a local HTTP server for HTML workspaces, plus authenticated GET/PUT endpoints for whole-file mobile sync |
| Git Scoping | Git operations scoped to a single HTML file; GitLog filtered by workspace file path |
| UI/UX | Added "Open HTML file" form in Add Workspace, settings filtered by workspace type, English and Simplified Chinese i18n |
| Tests | Added unit tests and Cucumber E2E scenarios covering HTML workspace import, save, reopen, and GitLog scope isolation |
2. Git Algorithm Refactor & Local IP Display (#725)
- HTTP server now binds to
0.0.0.0instead of a gateway-matched single IP - Added
getAllLocalIpV4()and inject all local NIC IPs into$:/info/url/localIP/tiddlers - Workspace settings page displays all local IPs for multi-NIC scenarios
- Removed
default-gatewayandipaddr.jsdependencies - Cleaned up legacy merge algorithm code in
mergeUtilitiesandgitServer - Upgraded
tw-mobile-syncplugin to v2.1.6 (and finally v2.3.3 in this release)
3. History & Deep Link Fixes (#729)
Fixes history and deep link issues including #728:
- Restored the missing
rememberLastPageVisitedswitch in workspace config; last-visited URL field shown only when enabled - Three-layer interception for
tidgi://deep links:- WebView
will-navigateevent window.open()handler- Protocol handler fallback
- WebView
- New URL format:
tidgi://<workspaceId>/preferences/<sectionId>opens the preference section of a workspace - Fixed
protocol.tsrenderer safety:- Unified use of
TIDGI_PROTOCOL_SCHEMEconstant - Renderer obtains test-mode state via
window.service.context.get('isTest')
- Unified use of
- Restored test-mode behavior of rendering all preference sections at once
4. Dependencies & Tooling
🔼 esbuild 0.28.0 → 0.28.1 (#724)
- Dependabot dev-dependency bump
5. Miscellaneous
- Updated
template/wikisubmodule - Bumped version to
v0.14.0
Complete PR List
| PR | Title | Type |
|---|---|---|
| #724 | chore(deps-dev): bump esbuild from 0.28.0 to 0.28.1 | Dependency Upgrade |
| #725 | Refactor/git algorithm | Refactor |
| #726 | Feat/html edit | Feature |
| #729 | Fix/history | Fix |
Full Changelog: v0.13.1-fix...v0.14.0-1
Full Changelog: v0.13.1-fix...v0.14.0-1