Skip to content

TEMP: merge 78196 onto current main - #33

Closed
andrexibiza wants to merge 3 commits into
repair/78196-current-mainfrom
vox/07-gateway-routing
Closed

andrexibiza wants to merge 3 commits into
repair/78196-current-mainfrom
vox/07-gateway-routing

Conversation

@andrexibiza

Copy link
Copy Markdown
Owner

Temporary internal merge probe for rebuilding NousResearch#78196 onto current main. Not an upstream publication.

mglavinic86 and others added 3 commits August 4, 2026 00:10
Prevents a stalled gateway speech-to-text call from holding a messaging
chat indefinitely. Gateway voice transcription runs synchronous provider
work through asyncio.to_thread(); provider HTTP/process timeouts do not
cover hangs in setup, local fallback, filesystem access, or cleanup, so
one stuck call can block the chat lock and every later message in that
conversation.

Adds a configurable gateway-level deadline (stt_timeout_seconds, default
45s; stt.gateway_timeout_seconds in config.yaml) around the complete
configured-provider + local-fallback sequence. On timeout, Hermes logs
the failure, keeps the existing audio-path marker, and continues
fail-open so the agent can respond instead of leaving the chat wedged.

Salvaged from NousResearch#74051, authored by @mglavinic86.

Signed-off-by: andrexibiza <84248988+andrexibiza@users.noreply.github.com>
Salvaged residual gaps from NousResearch#65745 (authored by @dhansxd) that are not
already covered on main:

- Recover allowed media producers from explicit tool-result tool_name /
  name when the paired assistant tool_calls row is absent. Persisted or
  reconstructed tool results that lost that row previously fell out of
  the automatic-delivery allowlist, so their TTS/audio MEDIA tags were
  silently dropped instead of delivered.
- Log unsuccessful auto voice-reply SendResult values instead of
  silently ignoring them, so delivery failures are diagnosable.

The other NousResearch#65745 changes (drop silent transcripts before invoking the
agent, transcribe voice follow-ups before busy-session handling) are
already covered on main by NousResearch#41603's empty-transcript sentinel and the
pending-STT cache, so they are intentionally not re-applied.

Co-Authored-By: Dani Ubaidillah Husain <daniubaidillahhusain@gmail.com>
Signed-off-by: andrexibiza <84248988+andrexibiza@users.noreply.github.com>
…ribution

Maps the author emails of the two salvaged gateway voice commits (from
NousResearch#74051 @mglavinic86 and NousResearch#65745 @dhansxd) so the check-attribution CI
gate can resolve them to their GitHub identities.

Signed-off-by: andrexibiza <84248988+andrexibiza@users.noreply.github.com>
@andrexibiza

Copy link
Copy Markdown
Owner Author

Closing this fork-local duplicate because its exact head commit is already under upstream review in NousResearch#78196. The branch is intentionally retained while that upstream PR remains open; this closes only the redundant fork review surface.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants