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;
|
||||
subject: string;
|
||||
} | 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 =
|
||||
process.env.VAPID_SUBJECT ??
|
||||
`mailto:admin@${process.env.LOCAL_DOMAIN ?? "tx.local"}`;
|
||||
process.env.VAPID_SUBJECT ||
|
||||
`mailto:admin@${process.env.LOCAL_DOMAIN || "tx.local"}`;
|
||||
|
||||
const envPub = process.env.VAPID_PUBLIC_KEY;
|
||||
const envPriv = process.env.VAPID_PRIVATE_KEY;
|
||||
|
||||
Reference in New Issue
Block a user