From 760a5b08e078709eae08956fd70757b1e9e26c75 Mon Sep 17 00:00:00 2001 From: Ryan Harkins Date: Tue, 30 Jun 2026 09:12:56 +0100 Subject: [PATCH] Source vapid subject from vapid_subject env var The VAPID JWT subject defaulted to `mailto:support@fizzy.do`. It could already be overridden by setting config.x.vapid.subject (the merge in vapid_identification took care of that), but for self-hosted deployments this wasn't obvious and was easily missed, so they'd silently ship the fizzy.do address. This change keeps the current default but lets the subject be overridden via an env var. --- config/initializers/vapid.rb | 1 + lib/web_push/notification.rb | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/initializers/vapid.rb b/config/initializers/vapid.rb index 8567180a12..2ff0e7907d 100644 --- a/config/initializers/vapid.rb +++ b/config/initializers/vapid.rb @@ -1,4 +1,5 @@ Rails.application.configure do config.x.vapid.private_key = ENV["VAPID_PRIVATE_KEY"] config.x.vapid.public_key = ENV["VAPID_PUBLIC_KEY"] + config.x.vapid.subject = ENV.fetch("VAPID_SUBJECT") { config.x.vapid.subject || "mailto:support@fizzy.do" } end diff --git a/lib/web_push/notification.rb b/lib/web_push/notification.rb index 0d2e54c8d7..0e839c2921 100644 --- a/lib/web_push/notification.rb +++ b/lib/web_push/notification.rb @@ -15,8 +15,7 @@ def deliver(connection: nil) private def vapid_identification - { subject: "mailto:support@fizzy.do" }.merge \ - Rails.configuration.x.vapid.symbolize_keys + Rails.configuration.x.vapid.symbolize_keys end def encoded_message