# X_PWA_PUSH_SUBSCRIPTION_INVALID

## Means

the push subscription is not one a browser produced

## Typical cause

`endpoint` is not `https:` to a public host (`localhost` and an IP literal that is loopback, private, link-local or otherwise not public are refused: the endpoint is where a caller points this server), `p256dh` is not a 65-byte uncompressed P-256 point, or `auth` is not 16 bytes. Refused by `pushSubscribe()` before storing; a stored one is deleted by the sender

## Fix

`import { subscribeToPush } from '@ultimat3/pwa/client'` — it sends `PushSubscription.toJSON()` unchanged

[PWA and build skew](/error-codes#pwa-and-build-skew)
