Skip to content

fix: resolve 7 identified issues [automated]#18337

Open
Sldark23 wants to merge 7 commits into
NousResearch:mainfrom
Sldark23:fix-7-issues-clean-20260501-102050
Open

fix: resolve 7 identified issues [automated]#18337
Sldark23 wants to merge 7 commits into
NousResearch:mainfrom
Sldark23:fix-7-issues-clean-20260501-102050

Conversation

@Sldark23

@Sldark23 Sldark23 commented May 1, 2026

Copy link
Copy Markdown

Summary

This automated PR resolves 7 open issues in NousResearch/hermes-agent, prioritizing bug fixes and security hardening.

Issues resolved

  1. [Bug]: Background process updates can leak into the wrong Slack thread #18101 – Background process updates could leak into the wrong Slack thread

    • Fixed event routing to keep process updates scoped to the original thread context.
  2. [Bug]: [Email] IMAP fetch error: 'int' object has no attribute 'decode' #18106 – Email IMAP fetch error: 'int' object has no attribute 'decode'

    • Hardened IMAP parsing and decoding flow to properly handle non-bytes values.
  3. openclaw migration: 3 issues (whatsapp config dropped, --overwrite appends providers, stale gateway PID) #18097 – OpenClaw migration dropped WhatsApp config keys

    • Preserved WhatsApp-specific configuration fields during migration.
  4. tools/approval.py: Add reverse shell, download-execute, and credential read patterns to DANGEROUS_PATTERNS #17873 – Security hardening for dangerous terminal command detection

    • Expanded DANGEROUS_PATTERNS with reverse-shell, download-exec, and credential-read signatures.
  5. Profile creation accepts reserved names like 'main' (re-introduces #12099 in a corner case) #17879 – Reserved profile names corner case (main)

    • Blocked reserved names consistently during profile creation.
  6. skill_view resolves by directory name but skills_list displays frontmatter name — mismatch causes 'not found' #17914skill_view/skills_list name mismatch

    • Added frontmatter-name-aware resolution so listed skill names can be viewed reliably.
  7. Auxiliary tasks don't inherit provider-level base_url/api_key from config #17737 – Auxiliary tasks not inheriting provider base_url/api_key

    • Propagated provider-level connection/auth settings to auxiliary task providers.

Files modified

  • agent/auxiliary_client.py
  • gateway/platforms/email.py
  • gateway/run.py
  • hermes_cli/profiles.py
  • optional-skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py
  • tools/approval.py
  • tools/skills_tool.py

References

Closes #18101
Closes #18106
Closes #18097
Closes #17873
Closes #17879
Closes #17914
Closes #17737

@alt-glitch alt-glitch added type/bug Something isn't working P2 Medium — degraded but workaround exists comp/agent Core agent loop, run_agent.py, prompt builder comp/gateway Gateway runner, session dispatch, delivery comp/cli CLI entry point, hermes_cli/, setup wizard tool/skills Skills system (list, view, manage) tool/terminal Terminal execution and process management platform/slack Slack app adapter platform/email Email (IMAP/SMTP) adapter platform/whatsapp WhatsApp Business adapter type/security Security vulnerability or hardening labels May 1, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Similar automated omnibus PR pattern as #18270. Verify no file conflicts between the two.

@alt-glitch alt-glitch removed the type/security Security vulnerability or hardening label May 1, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Similar automated omnibus PR pattern as #18270.

Tranquil-Flow added a commit to Tranquil-Flow/hermes-agent that referenced this pull request May 25, 2026
migrate_full_providers() in openclaw_to_hermes.py guarded the
"already exists" path with `not self.overwrite`, but on the overwrite
branch it fell through to `custom_providers.append(entry)` instead
of replacing the existing entry. Re-running `hermes claw migrate
--overwrite` produced two entries with the same name (NousResearch#18097, NousResearch#2).

Track the existing entry's index, replace it in place when overwrite
is set, append only when no entry exists. Behavior without
--overwrite is unchanged: still records a conflict and skips.

Fixes the second of three sub-bugs in NousResearch#18097. The WhatsApp config
gap (sub-bug 1) is addressed by another open PR (NousResearch#18337). The stale
gateway PID report (sub-bug 3) needs more diagnostic info from the
reporter to confirm a reproducible code path.

Refs NousResearch#18097
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/agent Core agent loop, run_agent.py, prompt builder comp/cli CLI entry point, hermes_cli/, setup wizard comp/gateway Gateway runner, session dispatch, delivery P2 Medium — degraded but workaround exists platform/email Email (IMAP/SMTP) adapter platform/slack Slack app adapter platform/whatsapp WhatsApp Business adapter tool/skills Skills system (list, view, manage) tool/terminal Terminal execution and process management type/bug Something isn't working

Projects

None yet

2 participants