im0o
|
bd087aabea
|
接入六个新页面,外壳加内核状态心跳
导航新增「规则」项;设置、配置、规则页接 saved 事件重读配置,仪表盘只
读传 data。心跳每 10 秒探一次内核在不在:kernel.online 原本只在 load()
里更新,用户停在任何页面期间它都是静态快照,内核重启一次,请求页和
仪表盘会锁死在「内核未连接」,各页等它回来的 watch 永远不可达。恢复
在线的那一次顺带拉新运行时数据。
|
2026-08-11 21:14:03 +08:00 |
|
im0o
|
c5ac59ecf9
|
按审查结论重构:先补测试网,再搬代码
顺序是刻意的。前端一行测试都没有,直接挪代码挪坏了 bun test 不会红,所以先把纯逻辑
抽到能被测试的位置并补上用例,最后才动组件。测试从 37 条增加到 77 条。
抽出来的四块:
- shared/outbound-chain.ts 「这个端口现在走哪条线」的链路解析,带防环,9 条测试
- web/delay-test.ts 延迟测试失败时说什么,6 个分支原本一条测试都没有
- web/runtime.ts 运行时状态的模块级单例,照 prefs.ts 已有的模式
- web/components/InboundList.vue 入站列表
出站的文本原本散成四份(读一份、显示一份、写回一份、表单又抄一份),加一种出站模式
要同时改四处,漏一个就是显示与写回不一致。合并成 OUTBOUND_PRESETS 一张表。
给认证和透传白名单补了 20 条测试。两者都是安全边界、都是纯函数、都不需要内核在线,
之前却只靠需要活内核的冒烟脚本间接覆盖。其中「形似但不是健康检查的路径」几条确认了
正则没写松。
另外:配置快照不再把整份文件原文下发(前端从不读,白白让响应体积翻倍);
yaml-cosmetics 的测试改走生产路径,之前它自己拼了一遍三步流程,落盘链路漏掉其中一步
测试照样会绿。
|
2026-08-10 18:21:23 +08:00 |
|
im0o
|
cf24755375
|
路由页做完:新增、编辑、删除入站
弹窗用原生 <dialog>,焦点捕获和 Esc 关闭是浏览器自带的,自己实现只会更差。
表单字段由那张从内核源码提取的字段表驱动:公共字段加当前类型的必填项。
20 种类型合计 398 个字段,全铺出来没人填得完,冷门的留给配置文件手写。
默认入站不再显示出站选择块——那一整块对它都是不可选的,画出来只是噪音,
换成一行说明。另外去掉了行里那根装饰线,导航把仪表盘挪到路由前面。
|
2026-08-10 12:27:39 +08:00 |
|
im0o
|
1fc052028e
|
改成左右布局,接上图标,措辞换成配置里的原词
图标用 unplugin-icons 在打包时内联成 SVG,运行时不发网络请求——目标机器可能没外网,
而且一个图标一次请求对 2 核的机器不划算。autoInstall 关掉,不让构建过程偷偷联网装东西。
出站显示从「跟着规则走」改成 RULE,其余解释性长句删掉或收进 title。
新增了紧凑模式(只显示图标),默认关:这工具是隔一阵子才动一次的,纯图标对偶尔来的人不友好。
|
2026-08-10 11:37:07 +08:00 |
|