Skip to content

refactor(pool): decouple temp mail provider plugins - #153

Merged
ZeroPointSix merged 9 commits into
mainfrom
fix/zer-575-icloud-hme-pool
Aug 24, 2026
Merged

ZeroPointSix merged 9 commits into
mainfrom
fix/zer-575-icloud-hme-pool

Conversation

@ZeroPointSix

@ZeroPointSix ZeroPointSix commented Aug 23, 2026 •

Copy link
Copy Markdown
Owner

变更

  • 邮箱池从运行时 Provider 注册表识别第三方临时邮箱插件,不再维护插件专用白名单。
  • 已注册 Provider 统一走“池内领取 -> 工厂动态创建 -> 写入 temp_emails -> 写库失败按 capability 回滚”流程。
  • Provider 身份继续保存在现有 meta_json.provider_name,不新增专用列或关联表。
  • 所有临时邮箱统一返回 account_type=temp_mail,success 统一进入 used。
  • 移除 v26、claimed_project_key、temp_email_project_usage 及对应专用测试。
  • 新增 ZER-575 插件边界 RFC;长期别名复用由 Worker / Client 上层管理。

兼容性

  • 数据库版本保持 v25,无迁移和回滚脚本。
  • custom、gptmail 兼容别名保持可用。
  • Cloudflare 既有动态创建和远程回收行为保持不变。
  • HME 继续作为独立插件存在,内核不感知其名称或长期资产语义。

验证

  • 定向测试:70 tests,全部通过。
  • CI 模式全量:1679 tests,全部通过,13 skipped。
  • git grep -i "icloud_hme" -- outlook_web:无结果。
  • fresh DB:v25,temp_emails 无 claimed_project_key,无 temp_email_project_usage。
  • Black、isort、Flake8、复杂度、mypy、Bandit 高危门禁:全部通过。
  • 非 CI 的真实 CF Worker E2E 曾尝试运行,上游连接重置;仓库 workflow 在 CI=true 时按既有规则跳过该外部不稳定套件。

关联:ZER-575

@linear-code

linear-code Bot commented Aug 23, 2026

Copy link
Copy Markdown

ZER-575

Copy link
Copy Markdown
Owner Author

ZER-575 契约修复验证

  • delete_message / clear_messages 会根据邮箱元数据中的 provider_capabilities 提前返回明确的 *_UNSUPPORTED 错误,不再把不支持操作映射为上游 502。
  • Daytona:tests.test_pool + tests.test_temp_mail_service 共 53 个测试通过。
  • GitHub Actions:Python Tests、Code Quality 均成功;SonarCloud 两次运行的 1,672 个测试均全部通过。
  • SonarCloud 扫描阶段仍失败:扫描器无法从 SonarCloud 获取 PR #153(Something went wrong while trying to get the pullrequest with key '153')。这是 SonarCloud 项目与 GitHub PR 绑定/权限阻塞,不是代码质量门失败,需要仓库/SonarCloud 管理员检查集成授权。
  • 当前 PR head b532c2ffcf1623e3a2d7c4687e8b3d9a90dd0cfd,PR 可合并。

未执行合并。

factory-droid and others added 3 commits August 24, 2026 03:15
Add provider-aware temp mailbox persistence, HME project reuse, dynamic creation, and migration coverage for ZER-575.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Use the runtime provider registry, keep plugin identity in existing metadata, and restore the standard temp-mail lifecycle and v25 schema for ZER-575.
@ZeroPointSix ZeroPointSix changed the title fix(pool): allow iCloud HME provider refactor(pool): decouple temp mail provider plugins Aug 24, 2026
@ZeroPointSix
ZeroPointSix merged commit ea531a1 into main Aug 24, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants