fix(gateway): restore bespoke WhatsApp setup dropped by plugin migration - #104
Merged
Merged
Conversation
PR #93's design note says whatsapp uses the generic vars-schema flow, but its _PLATFORMS entry has no vars schema — WhatsApp auth is QR pairing that writes session creds, not env-var credentials — so setup fell through to the unusable 'configure in config.yaml' hint. Restore the pre-refactor (e39b468^) bespoke delegate to cmd_whatsapp and map it in _builtin_setup_fn; amend the design note accordingly. Fixes DAN-2181. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
🔎 Lint report:
|
3 tasks
github-actions Bot
pushed a commit
that referenced
this pull request
Jul 21, 2026
…2141) (#108) The Tests workflow's status badge on main is stuck red on run 29596109244 (commit b763acc, 2026-07-17). That commit predates the restoration of _setup_feishu (PR #93) and the other test-suite repairs (#89/#94/#97/#104/#107), so its slice 5 fails on tests/gateway/ test_setup_feishu.py — ImportError: cannot import name '_setup_feishu'. The fixes are all on current main (verified locally: agent.json pins 0.15.0 matching pyproject; systemd unit renders WorkingDirectory; the issue's named tests — test_registry_manifest, test_gateway_service TestGatewayStopCleanup/TestSystemUnitPathRemapping, test_setup_feishu — all pass). PR #107's CI run (29763092727) was fully green across all six slices on Linux, proving current main is green. The badge never refreshed because the fix-bearing PRs were squash- merged by GitHub's auto-merge bot; those pushes are performed with the repository GITHUB_TOKEN, which GitHub will not use to spawn new push-triggered workflow runs. The CI Auto-Healer can only List, view, and watch recent workflow runs from GitHub Actions. USAGE gh run <command> [flags] AVAILABLE COMMANDS cancel: Cancel a workflow run delete: Delete a workflow run download: Download artifacts generated by a workflow run list: List recent workflow runs rerun: Rerun a run view: View a summary of a workflow run watch: Watch a run until it completes, showing its progress FLAGS -R, --repo [HOST/]OWNER/REPO Select another repository using the [HOST/]OWNER/REPO format INHERITED FLAGS --help Show help for command LEARN MORE Use `gh <command> <subcommand> --help` for more information about a command. Read the manual at https://cli.github.com/manual Learn about exit codes using `gh help exit-codes` Learn about accessibility experiences using `gh help accessibility` the frozen red commit (now at run_attempt 3/3), so it cannot repair a stale badge on a newer HEAD. Add so a fresh Tests run can be triggered on main's current HEAD (Actions tab or ), refreshing the badge once the code is already green. No test or source change needed — the underlying failures are already fixed on main. Fixes DAN-2141 Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to #93 / supersedes the WhatsApp portion of closed #103.
#93's design note says mattermost/whatsapp/email/sms/dingtalk/wecom all use the generic vars-schema
_setup_standard_platform()flow — but whatsapp's_PLATFORMSentry has novarsschema (WhatsApp auth is QR pairing that writes session creds, not env-var credentials), sohermes gateway setupfell through to the unusable "Configure WhatsApp in config.yaml" hint. Every other platform in that note has a full vars schema and works as designed.This restores the pre-refactor (
e39b46801^) 5-line bespoke delegate tocmd_whatsapp(which still exists inhermes_cli/main.py), maps it in_builtin_setup_fn, and amends the design note to explain why whatsapp is the exception.Fixes DAN-2181.
Test plan
whatsappresolves to_setup_whatsapp; telegram/slack/matrix/feishu/signal/weixin/qqbot/bluebubbles/webhooks still resolve to bespoke fns; mattermost/email/sms/dingtalk/wecom/wecom_callback correctly resolve toNoneand each carries avarsschema for the generic flowtests/hermes_cli/test_setup.py,test_setup_irc.py,test_gateway_platform_gating.py,tests/gateway/test_config.py,tests/gateway/test_setup_feishu.py: 103 passed🤖 Generated with Claude Code