Fix VAPID subject fallback for push notifications
Update push notification logic to correctly handle missing VAPID_SUBJECT environment variables by using logical OR operator instead of nullish coalescing for subject fallback.
This commit is contained in:
@@ -38,9 +38,12 @@ async function loadVapid(): Promise<{
|
|||||||
privateKey: string;
|
privateKey: string;
|
||||||
subject: string;
|
subject: string;
|
||||||
} | null> {
|
} | null> {
|
||||||
|
// Use `||` (not `??`) because docker-compose passes unset vars as
|
||||||
|
// empty strings, not undefined. An empty subject fails web-push's
|
||||||
|
// validateSubject() with "No subject set in vapidDetails.subject".
|
||||||
const subject =
|
const subject =
|
||||||
process.env.VAPID_SUBJECT ??
|
process.env.VAPID_SUBJECT ||
|
||||||
`mailto:admin@${process.env.LOCAL_DOMAIN ?? "tx.local"}`;
|
`mailto:admin@${process.env.LOCAL_DOMAIN || "tx.local"}`;
|
||||||
|
|
||||||
const envPub = process.env.VAPID_PUBLIC_KEY;
|
const envPub = process.env.VAPID_PUBLIC_KEY;
|
||||||
const envPriv = process.env.VAPID_PRIVATE_KEY;
|
const envPriv = process.env.VAPID_PRIVATE_KEY;
|
||||||
|
|||||||
Reference in New Issue
Block a user