Files
TrueGrowth/openspec/changes/refactor-sw-duplex-comm/tasks.md

37 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Tasks: postmessage-duplex 通信层重构
## 1. 基础设施
- [ ] 1.1 安装 postmessage-duplex 依赖到 packages/drawnix
- [ ] 1.2 配置 SW 打包支持(内联 postmessage-duplex 到 SW bundle
- [ ] 1.3 创建类型定义文件 `sw-channel-types.ts`
## 2. 应用层改造
- [ ] 2.1 创建 `SWDuplexClient` 新服务(基于 ServiceWorkerChannel
- [ ] 2.2 实现任务创建 RPC 方法 `task:create`
- [ ] 2.3 实现任务查询 RPC 方法 `task:list`, `task:get`
- [ ] 2.4 实现任务操作 RPC 方法 `task:cancel`, `task:retry`, `task:delete`
- [ ] 2.5 实现事件订阅 `task:status`, `task:completed`, `task:failed`
- [ ] 2.6 实现 Chat 订阅 `chat:chunk`, `chat:done`, `chat:error`
## 3. Service Worker 改造
- [ ] 3.1 创建 `SWChannelManager` 管理多客户端通道
- [ ] 3.2 注册 RPC 处理器task:create, task:list 等)
- [ ] 3.3 实现事件广播(排除发起者)
- [ ] 3.4 改造任务创建逻辑(原子性检查 + 响应)
## 4. 集成测试
- [ ] 4.1 单页面任务创建测试
- [ ] 4.2 多页面同时创建相同任务测试
- [ ] 4.3 页面刷新后任务恢复测试
- [ ] 4.4 Chat 流式通信测试
## 5. 迁移与清理
- [ ] 5.1 迁移 `swTaskQueueService` 使用新客户端
- [ ] 5.2 移除旧的 RxJS 订阅逻辑
- [ ] 5.3 更新相关文档