Skip to content

feat: live approval notifications, gateway summaries, and fixes - #393

Merged
guyb1 merged 1 commit into
mainfrom
feat/approval-notifications-and-fixes
Jun 26, 2026
Merged

feat: live approval notifications, gateway summaries, and fixes#393
guyb1 merged 1 commit into
mainfrom
feat/approval-notifications-and-fixes

Conversation

@guyb1

@guyb1 guyb1 commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Approvals

  • Live pending-approval notifications — a header bell + popover surface the requests the gateway is currently holding, each with a per-request countdown to auto-deny.
  • Approver audit — who approved or denied a request is now surfaced in the activity table and detail dialog.
  • Gateway approval summaries — pluggable, per-app human-readable summaries of what a held request will actually do, including friendly titles for all major Gmail and Google Calendar APIs.

Fixes

  • App-permission catalogs — correct several permission patterns that silently never matched (too-few path segments, mid-string wildcards).
  • Secret host patterns — reject public-suffix wildcards (e.g. *.com) in host match patterns; adds tldts for public-suffix detection.
  • Project access — scope project access by the user's organization role.
  • Gateway cache — flush the gateway cache on bulk/cascade delete paths so stale rules don't linger.

Misc

  • Add a shadcn popover UI component.
  • Add a vitest suite covering secret host-pattern validation (14 cases).

Approvals
- Live pending-approval notifications: a header bell + popover surface
  requests the gateway is holding, each with a countdown to auto-deny.
- Approver audit: who approved/denied a request now shows in the activity
  table and detail dialog.
- Gateway: pluggable per-app approval summaries describing what a held
  request will do, with friendly titles for all major Gmail and Google
  Calendar APIs.

Fixes
- App-permission catalogs: correct patterns that silently never matched.
- Secrets: reject public-suffix wildcards in host patterns (adds tldts).
- Auth: scope project access by organization role.
- Gateway cache: flush on bulk/cascade delete paths.

Also adds a shadcn popover component and a vitest suite for secret
host-pattern validation.
@guyb1
guyb1 merged commit 2bdc293 into main Jun 26, 2026
3 checks passed
@guyb1
guyb1 deleted the feat/approval-notifications-and-fixes branch June 26, 2026 16:03
nbmorgan added a commit to nbmorgan/onecli that referenced this pull request Jun 27, 2026
… ntfy channel

Align the ntfy push channel with upstream onecli#393's approval summaries + bell:

- ntfy notification now renders the gateway's structured ApprovalSummary
  (the same "Send email · To: … · Subject: …" the dashboard bell shows) as the
  title + body, falling back to the legacy body preview then a generic line. A
  footer always names the agent + target.
- The "Report Selection to Topic" confirmation note now fires on ANY resolution
  via a shared helper — not just the ntfy tap but also a dashboard/SDK decision
  (labelled "via dashboard"), so ntfy subscribers learn when someone ELSE
  approved. Carries the decision + original request name/time.
- Settings copy: the OneCLI SDK card now names the dashboard approvals bell as
  its surface.

Keeps the Approval Paths channel framework as the home for delivery channels
(bell = onecli channel, ntfy = push channel). A generalized notifier registry
is left for upstream to decide.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
nbmorgan added a commit to nbmorgan/onecli that referenced this pull request Jun 27, 2026
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.

1 participant