主要更新内容
- 允许创建空的 Ping 任务:移除
admin.ping.add中"当default_on为 false 时必须指定 clients"的校验,现在可以创建未分配任何节点且非默认启用的 Ping 任务。
其他
- 新增 CI 测试工作流(
.github/workflows/test.yml),在 PR 和 dev 分支推送时自动执行go vet、单元测试、竞态检测及覆盖率报告。 - 重构多个包的测试基础设施:为
database/accounts、database/tasks、web/api引入TestMain共享内存数据库,避免各测试间 DSN 冲突;为pkg/rpc增加resetRegistry以支持-count=N重复运行。 - 新增安全相关测试:
web/api/auth_sensitive_test.go(2FA 敏感操作校验)、web/api/terminal/terminal_test.go(终端会话所有权与越权防护)、web/upload/chunk_test.go(上传 ID 路径穿越防护与分片存储校验)、web/router/router_test.go(管理端路由完整性)。 - 移除或合并部分低价值/易碎测试(
utils/geoip、utils/log、utils/notifier、web/agent/connections、web/backup/restore、web/migration、web/rpc/jsonrpc/common_gpu、web/rpc/jsonrpc/common_record、internal/plugin/features中的选择器解析测试、pkg/jsruntime中的 CommonJS require 缓存测试等)。 - 修复 SQLite 内存数据库 DSN 在并行测试中冲突的问题(追加纳秒时间戳),并将 WebSocket 心跳测试的超时参数缩短以加快 CI 执行。
Commits
Full Changelog: 1.6.1...Snapshot-2611061538