当目录(或其任何子目录)具有 macOS 的 `com.apple.provenance` 扩展属性时,`gum 文件`会渲染一个空的选择器
作者: moonpetaldev创建于 2026年7月28日更新于 2026年7月28日
** 注:** 这个问题的说明是在大赦国际的帮助下编写的,因为我很难清楚地解释问题,也难以自己提供足够的技术细节。 基础的bug和repro步骤是真实的,经过人工验证.
□ 说明
'gum file' 使一个完全空的拾取器 - 没有条目,没有可导航的,只是页脚 keybind 提示(\ 导航 • esc close • 输入选择 ) - 当浏览目录树时,任何条目(文件或子目录)都带有 macOS " com.apple.provinance" 扩展属性。
这个属性是一个SIP保护的安全属性 macOS 自动适用于由某些进程创建的文件/目录(例如 shell 脚本编写文件,或"AWS s3 cp"下载一个). 它不能被用户取出 - 'xatr - d com.apple.province ` small no-ops, 甚至‘sudo xattr -d' 失败而不失效 SIP.
关键是,空白渲染并不局限于被标记的条目本身:一个没有自身出处属性的家长目录,如果它的孩子只有一个,也会完全空白. 这表明取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取
□ 复制步骤
- 在macOS上,通过普通脚本创建目录和内部文件,例如: 嘘 mkdir -p /tmp/ repro/ sub 图像 AWS s3 cp s3://some-bucket/some-file /tmp/repro/sub/file.txt 互联网档案馆的存檔,存档日期2013-12-22.
(任何导致macOS标记新文件的工作的过程----通过`AWS s3 cp'不断复制。 )
2. 确认标签:
嘘
xattr - l /tmp/ repro/ sub 数据
#com.apple. 证明:
- 运行 : 嘘 口香糖文件 -- -- 所有/tmp/repro
□ 预期行为
采取者通常列出 " sub/ " (和在 " file.txt " 中航行)。
□ 实际行为
picker 显示一个空列表区域 - 只有页脚帮助行 。 无所可选或可通航. 即便同一目录上的 " ls-la " / " find " 平面显示有正常权限的条目,而且没有连锁关系,但这种情况仍会发生。
□ 环境
- 口香糖版本:0.17.0
- OS: macOS 26.2(建造25C56)
- 拱门:arm64
- 通过Homebrew安装(`/opt/homebrew/bin/gum')
# 工作间 #
避免树上可能含有出处标记的条目的 " gum文件 " 。 将文件手工列出和输入“gum choice”(例如`find <dir'-type f-QQ gum choice')并不受影响,并按预期工作.
内容来源: charmbracelet/gum