hermes - ✅(Solved) Fix Dashboard: expose display.platforms.telegram and missing display settings [1 pull requests, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
NousResearch/hermes-agent#22964Fetched 2026-05-11 03:32:01
View on GitHub
Comments
0
Participants
1
Timeline
5
Reactions
0
Participants
Timeline (top)
labeled ×4cross-referenced ×1

Error Message

| display.background_process_notifications | gateway/run.py:2401 | all, result, error, off |

Fix Action

Fix

Add these 6 settings to _SCHEMA_OVERRIDES in hermes_cli/web_server.py as virtual fields (following the model_context_length pattern). Global display settings appear under the Display tab; Telegram-specific ones under the Discord tab (where other Telegram settings live in the dashboard).

PR fix notes

PR #22967: feat(dashboard): expose missing display and Telegram per-platform settings in config UI

Description (problem / solution / changelog)

Summary

Exposes 6 runtime display settings in the dashboard config page that were previously only configurable via manual config.yaml edits. These are settings the gateway reads at runtime but weren't surfaced in DEFAULT_CONFIG.

This follows up on #22772 which added display.platforms.telegram.notifications to the gateway but didn't expose it in the dashboard.

What was missing

The dashboard schema is built from DEFAULT_CONFIG, but display.platforms is {} there and several global display keys don't exist as root-level entries:

SettingTabTypeValues
display.tool_progressDisplayselectall, new, verbose, off
display.background_process_notificationsDisplayselectall, result, error, off
display.cleanup_progressDisplaybooleantrue/false
display.platforms.telegram.notificationsDiscordselectall, important
display.platforms.telegram.tool_progressDiscordselectall, new, verbose, off
display.platforms.telegram.cleanup_progressDiscordbooleantrue/false

How it works

All 6 are injected as virtual fields following the existing model_context_length pattern — defined in _SCHEMA_OVERRIDES with explicit category, then appended to CONFIG_SCHEMA after the tree-walk from DEFAULT_CONFIG.

Testing

  • 8/8 TestBuildSchemaFromConfig tests pass (includes category-merge and no-single-field-category invariants)
  • All 640+ web server tests pass
  • Verified all 6 fields appear in the schema with correct types and categories
  • No single-field categories introduced (verified via Counter)

Closes #22964

Changed files

  • hermes_cli/web_server.py (modified, +52/-2)
RAW_BUFFERClick to expand / collapse

Problem

Several runtime display settings are read from config.yaml by the gateway but are not visible in the dashboard config page (http://127.0.0.1:9119/config). Users must edit config.yaml manually to configure them.

This was noticed after #22772 merged — the new display.platforms.telegram.notifications setting works at runtime but doesn't appear in the dashboard.

Missing settings

The dashboard schema is built from DEFAULT_CONFIG in hermes_cli/config.py. The following settings exist at runtime but have no entries in the schema:

SettingWhere readValues
display.tool_progressgateway/display_config.pyall, new, verbose, off
display.background_process_notificationsgateway/run.py:2401all, result, error, off
display.cleanup_progressgateway/display_config.pyboolean
display.platforms.telegram.notificationsgateway/run.py:4744all, important
display.platforms.telegram.tool_progressgateway/display_config.pyall, new, verbose, off
display.platforms.telegram.cleanup_progressgateway/display_config.pyboolean

The per-platform settings (display.platforms.<platform>.<key>) exist for 18 platforms × 5 keys each, but only Telegram is being added here as the most commonly used messaging platform.

Fix

Add these 6 settings to _SCHEMA_OVERRIDES in hermes_cli/web_server.py as virtual fields (following the model_context_length pattern). Global display settings appear under the Display tab; Telegram-specific ones under the Discord tab (where other Telegram settings live in the dashboard).

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING