Skip to content

0.0.10

  • 0.0.10
  • bd96526
  • Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
  • Choose a tag to compare

  • 0.0.10
  • bd96526
  • Choose a tag to compare

  • Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
@wangzhizhou wangzhizhou tagged this 24 Oct 15:53
官方状态码有 0..10(含 9 = TRANSFERRING),但 `ServerStatus` 枚举漏了 9。
后果不是"显示错一个值",而是:

- WebSocket 的 `status` 消息 `data` 解码成 `Server` 时,枚举初始化失败 →
  整条消息抛错 → 上层收不到这次状态更新(服务器启动/停止时的迁移阶段会卡住)。

实测(真实账号,HTTP 轮询与 WS 推送对照)确认服务器会依次经过
10 PREPARING → 6 LOADING → 2 STARTING → 1 ONLINE → 3 STOPPING → 5 SAVING → 0 OFFLINE,
其中迁移阶段的状态码就是 9。

改动:

- `ServerStatus` 补 `case TRANSFERRING = 9`;
- 新增 `case UNKNOWN = -1` 与宽容的 `init(from:)`:将来新增状态码时退化成 `.UNKNOWN`,
  不再让整条 `Server` 解码失败;
- 新增 `ServerStatusDecodingTests`:11 个官方取值逐一断言 + 未知码退化用例。

上层(OrzMCApp)需要相应把 `.UNKNOWN` 当成过渡态展示。
Assets 2
Loading