隐藏文件控制、软连接支持、文件监听、Markdown 中 PlantUML、SVG 图表、公式渲染 - #674
Open
yangzexuan-cc wants to merge 1 commit into
Open
Conversation
PR quality triageChanged areas: area:desktop, area:server CLI core policy: No CLI-core policy block detected. Missing-test policy: No missing-test policy block detected. Coverage baseline policy: No coverage-baseline policy block detected. CLI core files:
Coverage policy files:
Required check plan:
Test coverage signals:
Risk notes:
Hard merge gates come from the deterministic GitHub Actions contract lanes above. |
This was referenced Jun 2, 2026
yangzexuan-cc
force-pushed
the
feature/workspace-enhancements
branch
from
July 1, 2026 15:20
3756465 to
d4e021a
Compare
主要功能: - 文件树:隐藏文件控制(showHiddenFiles 默认 true)、软连接支持(isSymlink 检测 + link 图标) - PlantUML:Markdown @startuml 代码块 → SVG 图表(pipe 模式渲染) - KaTeX:行内/块级公式渲染 - 文件监听:chokidar 替代 fs.watch,WebSocket file_changed 实时推送 细节修复: - symlink 路径级联检测(pathHasSymlinkComponent),目标在工作区外也可访问 - symlink 文件类型检测(resolveSymlinkIfNeeded),.md 软连接按 Markdown 渲染 - symlink 目录 stat 修正(macOS Dirent.isDirectory 返回 false) - PlantUML pipe 渲染(spawn -pipe + headless),DOMPurify SVG 安全清洗 - 覆盖率门禁容忍测试失败退出码,修复 ENFILE 耗尽 - Vite proxy 移除,改用 VITE_DESKTOP_SERVER_URL 指定后端 - start-dev.sh 一键启动脚本 测试: - 新增 PlantUMLRenderer.test.tsx(5 条)、settings.test.ts PlantUML 端点(2 条) - 新增 workspace-service symlink + watcher 专项测试 - 修复 isSymlink 类型在各测试文件中的缺失 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
yangzexuan-cc
force-pushed
the
feature/workspace-enhancements
branch
from
July 16, 2026 06:52
145ef12 to
92b3667
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
isSymlink检测 + 图标)、文件监听(chokidar替代fs.watch)@startuml代码块 → SVG 图表、KaTeX$...$/$$...$$公式渲染spawn -pipe渲染、pathHasSymlinkComponent跳过 canonical 边界检查、覆盖率门禁容忍测试失败影响范围
workspacePanelStore(showHiddenFiles、isSymlink、file_changed handler)、settingsStore(plantumlJarPath 配置)PlantUMLRenderer(新增)、MarkdownRenderer(PlantUML + KaTeX 分发)、WorkspacePanel(symlink 图标、refresh 按钮)Settings(PlantUML jar 路径输入框)workspaceService(readTree isSymlink、readFile symlink 类型检测、chokidar 文件监听、pathHasSymlinkComponent)settings(PlantUML pipe 渲染端点)handler(file watcher 生命周期管理)、events(file_changed 消息类型)quality-gate/coverage.ts(容忍非零退出码读取覆盖率数据)测试说明
自动测试:
PlantUMLRenderer.test.tsx(5 条)、workspace-service.test.tssymlink 专项(检测、目录展开、readFile 穿透)手工测试清单(桌面端改动必须):
./docs/script/start-dev.sh一键启动localhost:1420.开头文件可见,.git隐藏tests/doc/有测试 symlink)@startuml的 Markdown$E=mc^2$的文档touch工作区内文件剩余风险
Dirent.isDirectory()在 macOS 和 Windows 上对指向目录的 symlink 行为不同,已用fs.stat()统一修正startWatchercatch 块空),不会影响主流程changed-lines匹配逻辑依赖 lcov 与 git diff 的路径对齐,当前运行显示 "No changed lines matched",但不影响 suite 级覆盖率阈值