Skip to content

fix(desktop): add approval dialog fallback when inline controls are absent - #40071

Closed
konsisumer wants to merge 1 commit into
NousResearch:mainfrom
konsisumer:fix/desktop-approval-fallback-dialog
Closed

fix(desktop): add approval dialog fallback when inline controls are absent#40071
konsisumer wants to merge 1 commit into
NousResearch:mainfrom
konsisumer:fix/desktop-approval-fallback-dialog

Conversation

@konsisumer

Copy link
Copy Markdown
Contributor

What changed and why

Per the reporter's 2026-06-05 follow-up on #37812, Desktop can still reach a state where a command approval request times out with no notification, dialog, inline prompt, or visible affordance, even after the merged event-routing and grouped-tool fixes in #38578 and #38829. This adds a guarded modal fallback for approval.request: the existing inline tool-row approval remains the primary UX, but if no inline approval control is mounted for the active session, PromptOverlays now renders a command approval dialog with Run once / Allow this session / Reject actions.

The inline approval component now registers its active session while mounted, and the prompt store exposes active-session inline visibility so the fallback does not duplicate the normal inline controls. New regression coverage verifies the fallback appears when no inline bar exists, stays hidden while an inline bar is mounted, sends approval.respond, and tracks inline mount state.

How to test

  • npm run test:ui -- src/components/prompt-overlays.test.tsx src/components/assistant-ui/tool-approval.test.tsx src/components/assistant-ui/tool-approval-group.test.tsx src/store/prompts.test.ts (blocked locally: vitest is not installed in this checkout)
  • npm run type-check --workspace apps/desktop (blocked locally: tsc is not installed in this checkout)
  • /opt/homebrew/bin/timeout -k 30 480 sh -c 'pytest tests/ -q -x --timeout=60 "$@"' sh (blocked locally during collection: missing Python dependency fastapi)

What platforms tested on

  • Not runtime-tested. Local validation was limited to git diff --check because this sandbox lacks the Desktop Node toolchain and the Python environment is missing fastapi.

Fixes #37812

@alt-glitch alt-glitch added type/bug Something isn't working P3 Low — cosmetic, nice to have labels Jun 5, 2026
@konsisumer

Copy link
Copy Markdown
Contributor Author

Closing: referenced_issue_closed. all referenced issues closed: [37812]

@konsisumer konsisumer closed this Jun 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low — cosmetic, nice to have type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Hermes Desktop App: approvals/manual confirmation prompts do not render in GUI

2 participants