Files
BlueArchiveToolkit/infrastructure/src
nyaKazuhaandClaude Fable 5 eac1edd455 feat(official-sync): 配置校验与 server-info/marker 拉取接入错误码
catalog.refresh 真机 e2e 暴露的缺口:任务配置校验失败落 900001,而
输入域码表(100xxx)早已定义却无使用点。本次接入:

- 配置校验四处类型化(经 anyhow::Error::new 保留 DownloadError,
  task worker 现有 downcast 直接归类):
  缺少应用版本 → MISSING_APP_VERSION(100001)、
  缺少连接组 → MISSING_CONNECTION_GROUP(100002)、
  缺少服务器信息来源 → MISSING_SERVER_INFO_SOURCE(100003)、
  GameMainConfig 缺 ServerInfoDataUrl → LAUNCHER_RESPONSE_INVALID
  (600004,launcher 链内容缺陷)。
- fetch_bytes 改返回 DownloadError:非官方 URL → NON_OFFICIAL_URL、
  curl 失败保留准确网络域码。server-info / endpoint marker / 种子
  catalog 拉取(5 处调用)由 anyhow::Error::msg 改 Error::new 保留
  类型——发现阶段的网络失败此前全部落 internal,现携带 3xx 网络码。

测试:3 个配置校验错误码 downcast 断言 + fetch_bytes 双拒绝映射
(非官方 URL / 404)。真机 e2e:无 auto-discover 的 daemon 上
catalog.refresh → task.status 报 BAT-ERR-100001 missing_app_version
(domain=input),修复前为 900001。全量 fmt / clippy --workspace
--all-targets -D warnings / test --workspace 全绿。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 10:20:08 -07:00
..
2026-06-28 12:39:17 +08:00