Skip to content

feat(传输中心): 支持打开已完成下载的所在位置 - #446

Open
Ezreal-byte wants to merge 1 commit into
t8y2:mainfrom
Ezreal-byte:codex/issue-427-download-location
Open

Ezreal-byte wants to merge 1 commit into
t8y2:mainfrom
Ezreal-byte:codex/issue-427-download-location

Conversation

@Ezreal-byte

@Ezreal-byte Ezreal-byte commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

背景

完成下载后,传输记录只能删除,无法快速回到本地文件。此 PR 在传输中心的已完成下载记录中增加“打开所在位置”,并保证连接关闭后保留的历史记录仍可使用。

Closes #427

改动

  • 在“删除记录”左侧新增“打开所在位置”按钮,仅对已完成的下载显示;上传、失败、取消和进行中的任务不显示。
  • Windows 在资源管理器中选中目标文件或目录;macOS 使用 Finder 定位;Linux 优先通过 org.freedesktop.FileManager1.ShowItems 定位具体文件,再依次回退到 xdg-open 和 gio。
  • 定位操作在后台执行,结果通过窗口 Wake 线程回到 UI,避免文件管理器启动或 D-Bus 调用阻塞界面。
  • 文件已移动或删除、文件管理器启动失败使用不同提示;成功定位不额外打扰用户。
  • 补齐中英文文案、按钮图标、键盘 Enter/Space 激活和无障碍语义。
  • 新增跨平台路径校验、Linux 回退链、连接关闭后的历史记录、仅下载记录可见及错误反馈测试。

验证

  • go test -tags dev ./internal/workbench -run 'Test(TransferCenter|RevealPath)' -count=1
  • go test -tags dev ./internal/i18n -count=1
  • go vet -tags dev ./internal/workbench ./internal/i18n ./cmd/motty
  • Linux amd64 workbench 测试目标交叉编译通过
  • gofmt、git diff --check 通过
  • 独立无上下文子代理完成两轮只读审查;最终未发现阻塞问题或生产路径数据竞争风险
  • GitHub Actions:15/15 项检查通过

全量 internal/workbench 测试在当前 upstream/main 基线仍复现 3 个无关失败:标签弹层滚动裁切、快捷键焦点、工作区主机筛选;本次相关测试均通过。

依赖与兼容性

  • 未新增第三方依赖、字体或安装资源。
  • Motty 已基于最新 upstream/main;Viva 仅同步到最新上游以匹配现有 API,没有 Viva 源码改动。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] 传输中心支持右键打开下载文件或所在文件夹

1 participant