# 协同扩展测试报告(2026-11-05 UTC) 版本:底座 v0.20.0;workflow、todos、notifications、attachments v1.0.0。 | 验证范围 | 结果与证据 | |---|---| | Go 回归与静态检查 | go test ./...、go vet ./... 通过;导航脚本及 JS 语法检查通过 | | 工作流 | 两级顺序审批、当前处理人、版本冲突、并发竞争只能成功一次、拒绝必填、撤销和模板快照通过 | | 待办 | 人工任务指派/完成及当前审批汇总通过;不复制审批状态 | | 站内通知 | 收件人隔离、发送、事件汇总、逐条已读及重启后的已读保留通过 | | 附件 | 顺序分片、内容损坏拒绝、SHA256、共享下载、越权拒绝、32MiB配额及删除释放通过 | | 2MiB 边界 | 实际 H5 上传/下载函数对接真实 HTTP、Docker、PG 通过;模拟首片提交后丢失确认,原请求号重试通过 | | 浏览器保存 | 真实浏览器下载2MiB文件,保存文件 SHA256 与上传原文一致;删除确认和取消通过 | | 服务身份 | 使用真实 oa-platform 用户及生产同等 docker 附加组,在隔离环境启动、读取四个扩展与 H5 资源通过 | | 数据库安全 | 四个独立账号/schema;跨 schema 查询被 PostgreSQL 42501 权限错误拒绝 | | 身份与来源 | 普通角色、指定参与人、业务应用来源隔离、内部 inbox 入口限制、委托 Key 权限上限通过 | | 恢复 | 整个隔离宿主及容器重启后,流程、附件、回执、通知已读仍在 | | 页面 | 同意、拒绝、撤销、模板复用、人工待办、站内发送与已读通过;四页390px无横向溢出,主题同步通过 | 修复:PostgreSQL JSONB 回执统一序列化,重试结果稳定;沙箱 iframe 的原生 prompt/confirm 改为页面内对话框;附件列表先过滤已删除及不可见的未完成上传,再应用条数上限,避免隐藏记录挤占可见文件。 自动化边界:当前内置浏览器未能接管操作系统原生文件选择器,该选择器本身没有记为通过。实际应用上传函数以等价 File.arrayBuffer 输入运行,并连接真实服务;浏览器实际下载、保存和哈希核验已通过。 全部业务写入发生在新建 /var/lib/oa-collaboration-*、独立注册表及 PostgreSQL scope;未创建生产测试账号、未写入生产样例或发送真实邮件。测试包绑定提供者二进制及 H5 桥指纹,安装前再次比对。 复现:internal/platform/collaboration_process_test.go;scripts/verify_collaboration_extensions.py;scripts/test_collaboration_file_pipeline.cjs。隔离环境需 Docker 和受控 PostgreSQL,不能把生产 registry/data 作为测试目录。