Skip to main content

Why your app can’t notify directly

Your app runs in a sandboxed, cross-origin iframe. Browsers block the Notification API there: permission is stuck at denied and requestPermission() never prompts. There are two supported options:

Request a reminder

  • body is plain text. Elata strips control characters, collapses it to one line, and cuts it to 140 characters.
  • You can’t set the title, icon, click URL, or actions. Elata sets them.
Elata replies with { type: 'elata:notify:state', requestId?, status }:

What Elata guarantees

  • Elata-authored title. Always Elata · <your app name>, taken from your Elata listing, so apps can’t impersonate the OS, Elata, or each other.
  • Per-app opt-in. Off by default. The first request shows an in-frame prompt, and the choice is remembered per app.
  • Rate limit. At most 3 reminders per app per minute.
  • Foreground only. Reminders appear only while Elata tab is open. Clicking one focuses Elata.

Detecting Elata

Use the bridge only when running inside Elata, and keep your direct path for standalone or installed use: