hermes - 💡(How to fix) Fix Handle delayed messages: ask user before executing messages received > 30 min late [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#13744Fetched 2026-04-22 08:04:23
View on GitHub
Comments
0
Participants
1
Timeline
2
Reactions
0
Participants
Timeline (top)
labeled ×2
RAW_BUFFERClick to expand / collapse

Problem Due to gateway architecture, message delivery can be significantly delayed — e.g. when the gateway tick is blocked by a long-running API call or a long agent response. Messages that arrive hours or days late are currently executed immediately without any sanity check, leading to confusing/irrelevant actions. Example: User sets a clock-out reminder at 17:30, but the message arrives the next morning. Hermes executes it immediately, which makes no sense. Proposed Behavior Introduce a delayed message confirmation mechanism: When a message's timestamp is more than 30 minutes in the past, Hermes should: Not execute it immediately Not silently skip it Instead, reply to the user: "Received your message from [timestamp] ([N] hours/minutes ago): [message content]. Do you want me to execute it?" The threshold (30 min) should be configurable via config.yaml. Current Behavior (for reference) Delayed messages are executed as if they just arrived, with no awareness of how old they are.

extent analysis

TL;DR

Implement a delayed message confirmation mechanism to handle messages that arrive more than 30 minutes after their intended delivery time.

Guidance

  • Introduce a timestamp check for incoming messages to determine if they are older than the configured threshold (30 minutes).
  • If a message is older than the threshold, reply to the user with a confirmation prompt instead of executing the message immediately.
  • Store the threshold value in config.yaml to make it configurable.
  • Consider implementing a response handler to process the user's confirmation response and execute the original message if approved.

Example

def handle_message(message):
    threshold = get_threshold_from_config()  # retrieve threshold from config.yaml
    message_timestamp = message['timestamp']
    current_time = get_current_time()
    time_diff = current_time - message_timestamp
    
    if time_diff > threshold:
        # reply to user with confirmation prompt
        reply = f"Received your message from {message_timestamp} ({time_diff} ago): {message['content']}. Do you want me to execute it?"
        send_reply(reply)
    else:
        # execute message immediately
        execute_message(message)

Notes

The proposed behavior assumes that the message timestamp is available and can be compared to the current time. The implementation details may vary depending on the specific messaging system and programming language used.

Recommendation

Apply workaround by implementing the proposed delayed message confirmation mechanism, as it provides a clear and user-friendly way to handle delayed messages and prevent confusing actions.

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