Qiu Yuzhou
d3faf610c1
feat(diagnostics): add selectable log table
2026-10-23 19:25:33 +08:00
Qiu Yuzhou
17848b6fde
ci: add NG2 validation workflow and format checks
2026-10-23 03:05:14 +08:00
Qiu Yuzhou
f847c01e70
chore(deps): update v2ray-plugin to v1.4.0
2026-10-22 00:49:56 +08:00
Qiu Yuzhou
f2424af305
fix(logging): preserve line boundaries and chronology
2026-10-20 16:28:11 +08:00
Qiu Yuzhou
1d85e86b8e
feat(diagnostics): unify log lines into one filtered view
...
Collapse the four definitions of "one log line" into LogLine (timestamp,
level, source, text) with a single renderer and parser. agent.log lines
now carry the uniform prefix, absorbing the ssxng: event marker into the
source column; legacy lines degrade to raw display without rewriting.
Level detection moves into the row model with a classic three-level
taxonomy whose unified-log projection stays unchanged.
The diagnostics log view merges GUI events and the agent.log tail through
DiagnosticLogIntake into one time-ordered list with level and source
filters; the tail window logic moves into the intake and blank lines are
kept for raw fidelity. The report whitelist projection and unified-log
routing are unchanged.
2026-10-20 14:42:51 +08:00
Qiu Yuzhou
003e40d809
refactor(ng2): encrypt proxy listening configuration
2026-10-19 14:31:18 +08:00
Qiu Yuzhou
0f3454602f
refactor: separate proxy preferences from listening configuration
2026-10-19 12:10:48 +08:00
Qiu Yuzhou
507917ab67
refactor(ng2): store secrets directly in server library records
2026-10-18 17:58:30 +08:00
Qiu Yuzhou
27b91d60e1
refactor(settings): drop listen-settings ghost path and error-type mirrors
2026-10-17 14:34:57 +08:00
Qiu Yuzhou
2f0c0d7676
feat: separate local and LAN proxy listeners
2026-10-13 03:58:03 +08:00
Qiu Yuzhou
c49d605a5b
chore(ng2): remove fork issue references from comments
2026-10-13 00:38:06 +08:00
Qiu Yuzhou
20a62117f2
refactor(tests): 按功能领域重组 Tests/ 目录
...
Tests/ 根层原有 138 个平铺测试文件,无法从目录读出测试覆盖的功能领域。
按功能领域重组为 17 个目录(Catalog/Workflow 与 Rules/Custom 两处嵌套,分别
对应 App/Application/CatalogWorkflow 与 Domain/Rules/Custom):Architecture /
Support / Agent / Activation / Catalog / Subscription / Rules / ProxyRuntime /
ProxyControl / Runtime / Settings / SystemProxy / Plugin / Diagnostics /
Credentials / Workspace / Servers;Smoke/ 保持独立 target 不动。138 个移动中
132 个是 100% 相似度的纯重命名,其余 6 个在重命名之上带路径反推改写(见下)。
本次不是纯搬移:测试代码比生产代码多一层位置耦合,有 7 处用固定层数的
deletingLastPathComponent() 从 #filePath 反推仓库路径(都假定文件就在 Tests/
根层)。这 7 处改走新增的 Tests/Support/TestSourceTree.swift——从调用点沿父
目录上溯找到含 project.yml 的目录,因此不再依赖父目录层数,以后移动测试文件
也不会静默指错。
配套改动:
- 新增 Tests 布局守卫 TestsLayoutTests,断言 Tests/ 根层无平铺 .swift。比
Domain 那条弱一档——根层的 Info.plist(info.path 生成物)与
Fixtures/RuleSnapshots 下的 JSON(folder resource)都必须保留,不能用
「树下只有 .swift」覆盖。
- project.yml:Smoke target 按文件引用的 Tests/AppArtifact.swift 改指
Tests/Support/;两处注释里写死的 Tests/SkeletonTests.swift 随移动更新。
excludes 的裸名 "Smoke" / "Fixtures" 仍匹配 Tests/ 直属子目录,无需改动。
- README 的 Tests 条目展开为目录说明,并修掉 Domain 条目里写死的
Tests/SkeletonTests.swift。
- 顺带删去 DomainLayoutTests 文档注释里「整理前 62 个文件」这类易漂移的数字。
验证:xcodegen generate 后单测 target 为 139 个源文件(全部非 Smoke 文件,0 个
Smoke 文件混入)且仍以 Fixtures/RuleSnapshots 为资源,Smoke target 为 8 个
Smoke 文件加 AppArtifact;依赖路径反推的 6 个测试类全绿(路径指错即失败);
task format 未改写任何被移动文件;task lint 与整理前同为 21 条内容型 warning;
build 0 error;task test 1025 用例全通过(整理前 1024,+1 为新守卫);
TestsLayoutTests 经变异验证(根层投放探针即失败);packaging-gate ALL CHECKS
PASSED。
2026-10-05 20:37:35 +08:00