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;
|
||||
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