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. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 77cfe984-2c65-4152-bb7a-0df28274fe66 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 96637a28-4f37-4966-8adb-95f8f66ee769 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/c3c252e4-c83d-40ca-9fff-99a3ea60701e/77cfe984-2c65-4152-bb7a-0df28274fe66/fNoqq4C Replit-Helium-Checkpoint-Created: true
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