Qiu Yuzhou
7cf04544ce
feat(ng2): add Nushell and Windows proxy environment commands
2026-10-14 12:27:25 +08:00
Qiu Yuzhou
790e2a26fa
feat(home): add target catalog and connectivity testing
2026-10-14 11:19:07 +08:00
Qiu Yuzhou
dc64349702
feat(plugins): bundle Cloak v2 client
2026-10-12 12:38:32 +08:00
Qiu Yuzhou
f72c50dceb
feat(plugins): configure plugin transport mode
2026-10-11 23:58:47 +08:00
Qiu Yuzhou
e50f671975
feat(servers): add ordered favorites
2026-10-09 23:20:11 +08:00
Qiu Yuzhou
7ad7edee3c
refactor(servers): use HSplitView for three columns
2026-10-09 19:23:44 +08:00
Qiu Yuzhou
801348c5b6
refactor(servers): use three-column table navigation
2026-10-09 19:07:44 +08:00
Qiu Yuzhou
bdcbc6cd60
feat(servers): separate details from edit forms
2026-10-06 12:25:13 +08:00
Qiu Yuzhou
be30f64f9f
docs(design): 移除 to-spec 产物,去掉 user-plugin 文档的 -spec 后缀
...
两类文档来源不同,处理方式也不同:
- system-proxy-runtime-control-spec.md、terminal-command-address-spec.md 是
to-spec 技能的原样产物(英文模板小节标题,无标题与日期头)。其内容已发布为
Issue #72 / #73,人类需要的信息已由同日提交的无后缀中文文档承载;在仓库里再
存一份,等于同一份规格有两个事实来源。删除后仍可从 git 历史追回。
- user-plugin-*-spec.md 四份来自 improve-codebase-architecture 会话:该技能把
报告写进 OS 临时目录、不写 docs/design/,因此这四份是模型模仿仓库既有
-spec.md 旧例命名(“猜测旧例”而非技能指令)。去掉后缀后仓库不再有该样板,
后续模型少了可模仿的命名来源。四份保留原名主体,内容不动。
影响面:这六份文件全仓库零入站引用(含 docs/ 内部),移除与改名都无需改写链接。
docs/design/ 现为 12 份,无一带 -spec 后缀,与 AGENTS.md 的定位一致。
有意不做:不加“docs/design/*.md 必须带可解析 日期:/状态: 头”的确定性检查。
AI 输出本就无法保证规范化;更关键的是这类文档的“状态”只描述某次改进上下文,
不跟踪现状,把它当可校验字段是假精确。日期是写作时点的事实,两回事。
2026-10-05 22:39:58 +08:00
Qiu Yuzhou
a6ebb69bbf
feat(servers): add group sharing popover
2026-10-05 16:57:48 +08:00
Qiu Yuzhou
bd68e45ea4
feat(servers): present sharing in a popover
2026-10-05 16:41:18 +08:00
Qiu Yuzhou
fd6fa65a8d
feat(share): rework server share as QR sheet
...
- Replace toolbar QR popover with a window sheet per sketch: top hint,
280pt white-backed QR, copy-image / save-image / copy-ss:// actions
and a Done button; all buttons share a 260pt min label width
- Freeze share payload and suggested file name at presentation time;
transient "copied" feedback on copy actions
- Add ImageClipboard seam (PNG normative type + TIFF in AppKit adapter)
and QrImageSaver seam (NSSavePanel PNG, sanitized suggested name)
- Register new typed failures in the presentation whitelist; extend
platform-effects architecture guard and seam tests
- Record spec in docs/design/server-share-sheet.md; GLOSSARY server
share now covers saved QR image files
2026-10-05 13:54:59 +08:00
Qiu Yuzhou
86779b63ee
feat(plugins): add settings management UI
2026-10-05 12:03:52 +08:00
Qiu Yuzhou
3d8d56b8e1
test(plugins): cover mapping commit and runtime convergence
2026-10-05 11:13:42 +08:00
Qiu Yuzhou
e74f8dfc01
refactor(plugins): derive server form facts from effective catalog
2026-10-05 00:46:43 +08:00
Qiu Yuzhou
128efcc0d6
feat(plugins): add user plugin catalog and runtime wiring
2026-10-05 00:28:16 +08:00
Qiu Yuzhou
4623dc78aa
Merge commit 'a9a7aed' into develop
2026-10-04 22:26:20 +08:00
Qiu Yuzhou
a9a7aedc0b
fix(servers): restore direct creation buttons
2026-10-04 22:03:18 +08:00
Qiu Yuzhou
5968b1fd0b
feat(import): 统一服务器导入入口并支持 SIP-008 文件导入
...
新增统一导入面板(拖放多文件/剪贴板 ss:// 一键/旧版直接导入),来源按内容
嗅探分派(位图→二维码、JSON→SIP-008、其余→文本行),逐来源独立事务与
结果。深模块集中在 CatalogWorkflow.importServers 单一接缝,凭据统一经
journal,退役 ss:// 文本框、二维码预览、Legacy 专属 sheet 与首启主动弹窗。
SIP-008 导入语义见 ADR-0027(文档 ID 只作装配键,目录身份全新生成)。
2026-10-04 21:45:20 +08:00
Qiu Yuzhou
535d62a28a
fix(servers): support root creation and clearing selection
...
Add explicit current-group and root creation menus. Clear the management
tree selection on blank clicks or Escape while focused. Capture creation
parents, retain failed group drafts, and select/reveal created nodes.
Validation: 870 hostless tests (921 executions), 21 Python checks, unsigned
app build, format/lint/diff checks. Standards and spec reviews passed.
Native interaction and visual verification were not performed per request.
2026-10-04 21:36:51 +08:00
Qiu Yuzhou
cb5a535297
feat(rules): simplify details and open conversion reports in a window
2026-10-02 20:38:23 +08:00
Qiu Yuzhou
640ebf9f51
docs: record system proxy repair and suspension design ( #73 )
2026-10-02 10:28:22 +08:00
Qiu Yuzhou
a7465154d2
ui(app): show selected address details as caption lines for #72
...
收起状态按钮只显示当前选中 IP;接口名称(接口:…)与地址类型
(地址类型:…)以说明行展示在按钮下方,与菜单项的 title/subtitle
结构对应。模型移除不再被呈现层使用的 label 组合字段。
2026-10-01 16:06:53 +08:00
Qiu Yuzhou
24666df4ac
ui(app): command address menu items with native title/subtitle for #72
...
Picker(.menu) 的选项桥接会把多 Text 压平成独立菜单项(注记成了单独
item)。改为 Menu + adaptive-controls 桥接(Apple technote 文档化的
title/subtitle 机制):
- 菜单项主行 = IP,副标题 = 「注记 - 接口名称」(无注记时仅接口名称)
- 收起状态显示当前选中项的 {IP} - {name}(borderedButton 样式)
- 选择器下方的类型说明行保留,选中地址类型收起时也可见
2026-10-01 15:54:46 +08:00
Qiu Yuzhou
149cf39ea4
ui(app): render command address annotation as menu subtitle for #72
...
按 ifconfig 同源的 IPv6 类型注记改为次要文本行呈现:
- 菜单项用两个 Text 桥接 NSMenuItem 原生 subtitle(macOS 14+ 官方机制,
Apple adaptive controls technote),主行 {IP} - {name} 不再内联注记
- 选择器下方新增说明行「地址类型:{注记}」——无论菜单桥接行为如何,
当前选中地址的类型始终可见
- TerminalCommandAddress.label 收回纯主行,注记保持独立呈现事实;
地址身份与命令内容不受影响
2026-10-01 15:43:31 +08:00
Qiu Yuzhou
111fa93131
feat(app): annotate and filter IPv6 command addresses by kernel flags for #72
...
经 SIOCGIFAFLAG_IN6 逐地址查询内核 IPv6 标志(与 ifconfig 的注记同源,
Darwin 模块不导出该 ioctl 请求宏,手工展开 _IOWR 编码):
- IN6_IFF_TEMPORARY(RFC 4941 隐私临时地址,会轮换)不进候选
- 其余 IPv6 候选在标签 IP 后附类型注记(位于中段):
autoconf secured / autoconf / dynamic;标志查询失败不注记也不过滤
- 注记只进标签不进命令;地址身份仍为 BSD 接口名 + 规范化 IP
真实主机非视觉验证扩展:每 IPv6 地址标志查询非空、候选注记属 ifconfig
同源闭集、临时地址被过滤;替身用例覆盖 temporary 过滤与标签格式。
2026-10-01 15:19:26 +08:00
Qiu Yuzhou
5c1781c2b8
docs: revise terminal command loopback convention for #72
...
按 issue #72 设计同步修订:ADR-0015 命令地址段落改为「默认兼容回环 +
非本机方式会话内可选 Wi‑Fi/Ethernet 地址」,表格列名改默认命令地址;
CONTEXT.md 命令定义与监听约束同步;设计文档标记已实现。健康检查与系统
代理目标仍由监听方式确定。
2026-10-01 10:07:05 +08:00
Qiu Yuzhou
82411d92ea
docs(design): publish terminal command address design for #72
...
grill-with-docs 会话产物:交互设计与测试边界定稿,spec 已发布为
issue #72;CONTEXT.md 增加 Terminal command address 词条。
2026-10-01 09:33:08 +08:00