diff --git a/src/gateway/method-scopes.ts b/src/gateway/method-scopes.ts index 8c1c8332bdc..8cd32af9d32 100644 --- a/src/gateway/method-scopes.ts +++ b/src/gateway/method-scopes.ts @@ -146,6 +146,10 @@ const METHOD_SCOPE_GROUPS: Record = { "doctor.memory.repairDreamingArtifacts", "doctor.memory.dedupeDreamDiary", "push.test", + "push.web.vapidPublicKey", + "push.web.subscribe", + "push.web.unsubscribe", + "push.web.test", "node.pending.enqueue", ], [ADMIN_SCOPE]: [ diff --git a/ui/src/ui/app.ts b/ui/src/ui/app.ts index 9d2bf7794f4..6d104fd9d10 100644 --- a/ui/src/ui/app.ts +++ b/ui/src/ui/app.ts @@ -984,6 +984,10 @@ export class OpenClawApp extends LitElement { this.lastError = String(err); } finally { this.webPushLoading = false; + // Always refresh permission state — catches denied prompts too. + if ("Notification" in window) { + this.webPushPermission = Notification.permission; + } } }