feat(plugins): 迁移非 1.13c 原版「网络封包检查器 (Packet Inspector)」至 plugins/packet-inspector #717

Closed
opened 2026-10-03 05:52:58 +00:00 by troytt · 1 comment
Owner

背景

网络封包检查器(Packet Inspector)用于实时抓包与协议调试,不属于 Diablo II v1.13c 原版客户端功能。

当前核心代码位置

  • src/client/inspector/packet-inspector.ts
  • src/client/toolbar/toolbar.ts:#d2-toolbar-inspector-btn
  • src/client/main.ts / src/client/session/online-session.ts:#d2-inspector-container 挂载与事件转发

迁移目标

  • 依赖顶层 plugins/ 插件框架与 PluginHost 落地后,将封包检查器迁移至 plugins/packet-inspector/。
  • 插件启用时在工具栏贡献区或插件菜单提供开关并挂载面板;禁用时卸载 DOM 面板并停止抓包订阅。

验收标准

  • plugins/packet-inspector/index.ts 实现 D2WebPlugin 契约并通过 tests/arch/boundaries.test.ts 插件边界检查
  • 插件禁用时完全卸载检查器面板且零残留监听器
  • npm run typecheck 与 npx vitest run 100% 通过
## 背景 网络封包检查器(Packet Inspector)用于实时抓包与协议调试,不属于 Diablo II v1.13c 原版客户端功能。 ## 当前核心代码位置 - `src/client/inspector/packet-inspector.ts` - `src/client/toolbar/toolbar.ts`:`#d2-toolbar-inspector-btn` - `src/client/main.ts` / `src/client/session/online-session.ts`:`#d2-inspector-container` 挂载与事件转发 ## 迁移目标 - 依赖顶层 `plugins/` 插件框架与 `PluginHost` 落地后,将封包检查器迁移至 `plugins/packet-inspector/`。 - 插件启用时在工具栏贡献区或插件菜单提供开关并挂载面板;禁用时卸载 DOM 面板并停止抓包订阅。 ## 验收标准 - [ ] `plugins/packet-inspector/index.ts` 实现 `D2WebPlugin` 契约并通过 `tests/arch/boundaries.test.ts` 插件边界检查 - [ ] 插件禁用时完全卸载检查器面板且零残留监听器 - [ ] `npm run typecheck` 与 `npx vitest run` 100% 通过
Author
Owner

Resolved in commit fdde06b (origin/main): completely removed the deprecated Packet Inspector UI and module (src/client/inspector/packet-inspector.ts, #d2-toolbar-inspector-btn, #d2-inspector-container, inspectorOpen, and OnlineSession.packetInspector) while retaining .d2cap replay directly on OnlineSession.

Resolved in commit `fdde06b` (`origin/main`): completely removed the deprecated Packet Inspector UI and module (`src/client/inspector/packet-inspector.ts`, `#d2-toolbar-inspector-btn`, `#d2-inspector-container`, `inspectorOpen`, and `OnlineSession.packetInspector`) while retaining `.d2cap` replay directly on `OnlineSession`.
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: troytt/diablo2-web#717
No description provided.