Skip to content

refactor(plugin-sdk): share ingress lifecycle fan-in - #113648

Merged
steipete merged 2 commits into
mainfrom
codex/ingress-fanin-helper
Jul 25, 2026
Merged

steipete merged 2 commits into
mainfrom
codex/ingress-fanin-helper

Conversation

@steipete

Copy link
Copy Markdown
Contributor

What Problem This Solves

Seven channel plugins independently implemented the same multi-lifecycle fan-in bookkeeping for inbound message handling, leaving a broad duplicated surface where settlement and abandonment behavior could drift.

Why This Change Was Made

This adds the public Plugin SDK helper fanInChannelIngressLifecycles as the single lifecycle aggregation owner and migrates Mattermost, WhatsApp, Teams, Discord, Signal, iMessage, and Feishu to it. Feishu keeps its plugin-specific replay-claim coordination while two obsolete plugin-local helper files are deleted.

User Impact

There is no intended user-visible behavior change. Plugin maintainers get one tested lifecycle fan-in contract, and production code shrinks by 304 net lines.

Evidence

  • Eight focused Vitest shards passed: 172 tests.
  • Plugin SDK surface and API gates passed.
  • check-changed passed locally after the Testbox sync attempt timed out.
  • Final branch autoreview reported no accepted or actionable findings.
  • git diff --check is clean and the source worktree is clean at f77452dfd128f7499a3bc972af591b376abf686c.

@openclaw-barnacle openclaw-barnacle Bot added docs Improvements or additions to documentation channel: discord Channel integration: discord channel: imessage Channel integration: imessage channel: mattermost Channel integration: mattermost channel: msteams Channel integration: msteams channel: signal Channel integration: signal channel: whatsapp-web Channel integration: whatsapp-web scripts Repository scripts channel: feishu Channel integration: feishu size: L maintainer Maintainer-authored PR labels Jul 25, 2026
@steipete
steipete marked this pull request as ready for review July 25, 2026 12:17
@steipete
steipete force-pushed the codex/ingress-fanin-helper branch from f77452d to e12492d Compare July 25, 2026 12:20
@steipete

Copy link
Copy Markdown
Contributor Author

Resolved the genuine current-main conflict on the exact head e12492dd133c11400199732225426e0293428b5c.

The overlap was additive in scripts/plugin-sdk-surface-report.mjs: current main adds one public SecretRef setup helper and this PR adds one ingress fan-in helper, so the combined public SDK export budget is 4,724. The surface report now passes at exactly 4,724, the rebased branch is mergeable, fresh structured autoreview is clean, and exact-head CI is green in https://github.com/openclaw/openclaw/actions/runs/30157807189.

No ClawSweeper review comment or rank-up move is currently present on this PR.

@steipete
steipete merged commit b06f40a into main Jul 25, 2026
115 checks passed
@steipete
steipete deleted the codex/ingress-fanin-helper branch July 25, 2026 12:34
@steipete

Copy link
Copy Markdown
Contributor Author

Merged via squash.

github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request Jul 26, 2026
* refactor(channels): share ingress lifecycle fan-in

* chore(plugin-sdk): refresh ingress API baseline
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

channel: discord Channel integration: discord channel: feishu Channel integration: feishu channel: imessage Channel integration: imessage channel: mattermost Channel integration: mattermost channel: msteams Channel integration: msteams channel: signal Channel integration: signal channel: whatsapp-web Channel integration: whatsapp-web docs Improvements or additions to documentation maintainer Maintainer-authored PR scripts Repository scripts size: L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant