Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

A held private-share for a tool write (Gmail reply) never shows a card, and retries can't be approved

Offen
#889 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
35/100
Issue-Typ
Feature
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
typescript

Rechercherichtung

Start with server/src/plugins/plugin-store/calls.ts and server/src/proactive/private-share.ts, then inspect how GET /api/approvals and conversation approval cards are implemented. Trace how a held GMAIL_REPLY_TO_THREAD call is resumed after approval and how its contentDigest is checked. Done means the pending share appears in the thread, approval resumes the exact approved call, and the Bot receives a clear reason to wait instead of retrying.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug

What happens

A Bot replying to an email with Composio's GMAIL_REPLY_TO_THREAD is held as a private-information share (server/src/plugins/plugin-store/calls.ts, privateShareCheck, decided in server/src/proactive/private-share.ts). The pending request is created (openbot/share_private_information, scope external:composio-gmail/GMAIL_REPLY_TO_THREAD) and shows up in GET /api/approvals, but no approval card appears in the conversation. The Bot reports "waiting for send approval" and stops.

Approving the request afterwards does not help. The approval is bound to the exact content (contentDigest), and each time the Bot tries again it words the reply slightly differently. The new attempt opens a new pending request, or is refused outright:

mcp.call_rejected  GMAIL_REPLY_TO_THREAD  refusal: private_share_pending
... approval.person_decided (allow_once) x4 ...
mcp.call_rejected  GMAIL_REPLY_TO_THREAD  refusal: private_share_denied

The only way to get a Bot reply out reliably is a standing "Always allow" rule for that Bot, tool and scope.

Reproduce

  1. Grant a built-in Bot GMAIL_REPLY_TO_THREAD and connect Gmail.
  2. Ask it to reply to an email.
  3. No card appears; the request sits in /api/approvals. Approve it; the Bot's next attempt is a new request.

Suggested fix

  • Render the pending share in the thread as a card (recipient, a preview of the content, Allow once, Always allow, Don't), like other approvals.
  • On approval, resume the suspended call with the exact content that was approved, rather than relying on the Bot to send identical text again.
  • Make the denial sentence the Bot receives say why ("waiting for the person's permission; it will run when they allow it"), so the Bot does not retry with new text.
Vorherrschende Sprache
TypeScript
Sterne
7.1k
Forks
962
Ø Merge
1 T. 6 Std.
Gemergte PRs (30 T.)
143

Entwicklungsumgebung

  • Enthält ein Dockerfile oder eine Docker-Compose-Datei
  • Hat eine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus CopilotKit/OpenBot

Alle Issues in CopilotKit/OpenBot

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.