Skip to content

fix(email): restore gateway setup wizard - #64560

Draft
eddysayar wants to merge 1 commit into
NousResearch:mainfrom
eddysayar:fix/email-gateway-interactive-setup
Draft

fix(email): restore gateway setup wizard#64560
eddysayar wants to merge 1 commit into
NousResearch:mainfrom
eddysayar:fix/email-gateway-interactive-setup

Conversation

@eddysayar

Copy link
Copy Markdown

Summary

  • restore an interactive Email setup flow in hermes gateway setup
  • register the Email plugin's setup_fn and complete required-env metadata
  • preserve PlatformConfig.extra fallback semantics in setup status detection
  • make existing Email/global open-access policy explicit during configuration
  • add Gmail and Outlook host suggestions plus focused regression coverage

Root cause

The bundled-platform migration in #49408 moved Email into a plugin, but Email did not register an interactive setup function. Selecting Email therefore fell through to environment-variable guidance instead of prompting for configuration. The plugin metadata also omitted EMAIL_IMAP_HOST and considered an address alone sufficient for connected status.

Duplicate search

Searched open, closed, and merged issues/PRs for Email gateway setup, interactive setup, setup_fn, and EMAIL_IMAP_HOST. No existing PR fixes this setup-hook regression. Related migration tracker: #41112.

Test plan

  • scripts/run_tests.sh tests/gateway/test_email_plugin_setup.py tests/gateway/test_email.py tests/gateway/test_email_robustness.py tests/hermes_cli/test_gateway_platform_gating.py tests/hermes_cli/test_setup.py tests/hermes_cli/test_setup_irc.py -v --tb=short
  • 133 targeted tests passed
  • Ruff passed for changed files
  • git diff --check passed
  • Static security scan passed
  • Independent Qwen 3.6 35B review passed with no security concerns or logic errors

@alt-glitch alt-glitch added type/bug Something isn't working comp/plugins Plugin system and bundled plugins platform/email Email (IMAP/SMTP) adapter P3 Low — cosmetic, nice to have labels Jul 14, 2026
@teknium1

Copy link
Copy Markdown
Contributor

Thanks for the focused Email setup repair. Current main still reproduces the reported path: plugins/platforms/email/adapter.py:1255 registers Email without a setup_fn, while hermes_cli/gateway.py:6005-6025 invokes the generic environment-variable fallback when that hook is absent. The PR registers the missing hook and brings required_env in line with the four values required by check_email_requirements() at plugins/platforms/email/adapter.py:161-171.

No blocking correctness or design-fit issue found. The PR base 271a9d8ec is an ancestor of current main, and the relevant paths have not changed since that base, so this should be mechanically salvageable.

Automated hermes-sweeper review.

@teknium1 teknium1 added sweeper:risk-security-boundary Sweeper risk: may affect sandboxing, auth, credentials, or sensitive data sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform labels Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/plugins Plugin system and bundled plugins P3 Low — cosmetic, nice to have platform/email Email (IMAP/SMTP) adapter sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades sweeper:risk-security-boundary Sweeper risk: may affect sandboxing, auth, credentials, or sensitive data type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants