Skip to content

Latest commit

 

History

History
69 lines (46 loc) · 3.02 KB

File metadata and controls

69 lines (46 loc) · 3.02 KB

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/磁盘写入)

感谢关注与贡献!