Modules
Push notifications for Elixir: APNS, FCM and Web Push in one call.
Apple Push Notification Service (APNS) client.
Circuit breaker for push notification providers.
Configuration management for PushX.
Firebase Cloud Messaging (FCM) client.
Runtime management of named push notification instances.
Starts named instances on boot from your own source of truth.
Cache for short-lived, expensively-derived values: APNS JWTs, per-origin VAPID JWTs and resolved VAPID key pairs.
A struct representing a push notification message.
Client-side rate limiting for push notifications.
Coalesces HTTP pool reconnects so concurrent failures cause one restart.
A struct representing the response from a push notification request.
Retry logic for push notification delivery following Apple and Google best practices.
Telemetry integration for PushX.
Test delivery mode: assert what your application pushed without touching APNS or FCM.
ExUnit assertions for PushX.Test (test delivery mode).
One recorded push. Fields
Token validation for push notification device tokens.
Standards-based Web Push: send to any browser's push service — Chrome,
Firefox, Edge, Safari 16+ (macOS Ventura / iOS 16.4 and later), Opera,
Samsung Internet — using the subscription the browser's PushManager gives
you. Payloads are encrypted end-to-end per RFC 8291 (aes128gcm) and the
request is authenticated with VAPID (RFC 8292); transport is RFC 8030.
Mix Tasks
Validates the PushX configuration offline — the same checks the library runs at start/send time, reported all at once
Generates a VAPID (RFC 8292) application-server key pair for Web Push and prints it with the config and front-end snippets that use it