# PrivyDrop 项目路线图 ## 简介 - 目标:把文件/文本传输这件事做得轻盈、顺滑、可靠,且易于自托管。 - 现状快照:断点续传、分块与背压、跨浏览器(含 Safari/Firefox)、Docker 一键部署。 --- ## 范围说明 - 范围:仅文件/文本传输(点对多),以房间为单位进行会话。 --- ## 路线图 - P0 代码优化与瘦身 - 架构收敛与边界清晰:传输(发送/接收)、WebRTC 封装、状态管理与 UI 分离;拆分过大文件,公共类型/常量下沉共享。 - 冗余清理与精简:移除死代码与未用导出;合并重复工具与重复逻辑(封包/解包保留权威实现)。 - 配置与命名统一:分块大小/批大小/背压阈值来自单一配置源,仅统一来源,不改既有行为。 - 状态管理收敛:以 Zustand 为唯一状态源;自定义 hooks 负责订阅与意图触发,不承载业务逻辑。 - 异步与错误路径简化:统一 Promise/事件用法与返回值;集中错误类型与边界。 - 日志与调试(本批重点):统一 logger(error/warn/info/debug + 开关),生产默认低噪;替换散落的 console/postLog,并在房间/会话/文件维度埋点一致。 - 类型与构建健康度:收紧 TypeScript(小步),减少 any/隐式 any;保持 Lint/格式化一致。 - P0 最小测试集 - 单元测试:分块读取/切片、嵌包解析、顺序落盘器的乱序/重复/尾块处理等核心边界。 - 轻量集成:伪造数据通道验证“发送 → 接收 → 落盘”的最小闭环,覆盖背压等待与断点恢复路径。 - 后端最小单测:房间与速率限制的关键契约。 - P1 错误体验与只读网络体检 - 错误提示:用语清晰、可重试建议;显示发送/接收状态与失败简述。 - 只读体检:展示连接状态、数据通道状态、发送缓冲、当前/平均速率、最近错误;仅展示,不做复杂探测。 - P1 文档与部署一致性 - 快速上手与 Docker 自托管流程对齐;常见问题与排错路径补充;截图与术语口径统一。 - 前端架构文档与实现同步(Zustand + 自定义 Hooks)。 --- ## 完成定义(达成即止) - P0 代码优化与瘦身 - 模块边界清晰、目录与命名统一;重复实现合并,死代码清理完毕。 - 分块/批/背压等配置项有单一来源,保持现有行为不变。 - Zustand 统一为状态源;组件无业务副作用;自定义 hooks 角色明确。 - 日志体系可按等级与开关控制,生产默认低噪;无散落调试输出。 - 构建与 Lint 通过;类型告警明显减少。 - P0 最小测试集 - 关键模块单测覆盖核心边界;存在一个最小集成用例完成“发送 → 接收 → 落盘”。 --- ## 术语口径 - 发送/接收(Sender/Receiver) - 房间(Room) - 分块(Chunk)与背压(Backpressure) - 断点续传(Resume) - 数据通道(DataChannel) - 落盘(OPFS/磁盘写入) 感谢关注与贡献!