Skip to content

fix(gateway): respect explicit plugin platform disable - #31596

Closed
applerom wants to merge 1 commit into
NousResearch:mainfrom
applerom:fix/plugin-platform-explicit-disable
Closed

applerom wants to merge 1 commit into
NousResearch:mainfrom
applerom:fix/plugin-platform-explicit-disable

Conversation

@applerom

@applerom applerom commented May 24, 2026

Copy link
Copy Markdown

What does this PR do?

Fixes registry-driven gateway plugin platform activation so an explicit enabled: false configuration is respected even when plugin auto-detection would otherwise enable the platform.

Related Issue

Fixes #31049

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update
  • Refactor
  • Test update

Changes Made

  • Respect explicit enabled: false for registry-driven plugin platforms during gateway env overrides.
  • Preserve auto-enable behavior when a plugin platform has no explicit disable and its check_fn() passes.
  • Add regression coverage for both explicit-disable and default auto-enable paths.

How to Test

  • scripts/run_tests.sh tests/gateway/test_plugin_platform_explicit_disable.py — 2 passed
  • python -m pytest tests/gateway/test_bluebubbles.py tests/gateway/test_whatsapp_group_gating.py tests/gateway/test_plugin_platform_explicit_disable.py -q -o 'addopts=' — 77 passed

Tested Platforms

  • Linux / Hermes VM

Reviewer Notes

Pre-PR review was run through Hermes review-agent and OpenCode reviewers. No blocking findings remained; draft PR opened to let upstream CI and maintainers review.

Checklist

  • I have read the contributing guidelines
  • My commits follow the Conventional Commits format
  • I have added tests for the bug fix
  • I have run the relevant tests locally
  • This PR focuses on one logical change

@teknium1

Copy link
Copy Markdown
Collaborator

Thanks for the focused gateway regression fix. This is now implemented on current main; this automated hermes-sweeper review found the PR redundant.

  • gateway/config.py:2156 skips registry auto-enablement when a platform is both disabled and explicitly configured as such, so check_fn() / is_connected() cannot reactivate it.
  • gateway/config.py:1125 records explicit enabled provenance with _enabled_explicit; this preserves auto-enable for default enabled=False values while honoring user intent.
  • Commit 5600105478ffde29d7566b45421b100eaa29c4ef carried this behavior into the bundled-platform migration and shipped in v2026.7.1.

The linked issue discussion for #31049 also records the broader plugin auto-enable/reconnect behavior as resolved on main.

@teknium1 teknium1 closed this Jul 13, 2026
@teknium1 teknium1 added the sweeper:implemented-on-main Sweeper: behavior already present on current main label Jul 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/gateway Gateway runner, session dispatch, delivery comp/plugins Plugin system and bundled plugins P2 Medium — degraded but workaround exists sweeper:implemented-on-main Sweeper: behavior already present on current main type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unconfigured platform plugins should skip silently instead of reconnecting forever

3 participants