Make VAPID subject configurable via MESHCORE_VAPID_SUBJECT

iOS/Safari (Apple APNs) rejects the hard-coded mailto:noreply@meshcore.local VAPID subject with 403 BadJwtToken because .local is a reserved TLD; FCM accepts it, so only Apple devices were affected. Add MESHCORE_VAPID_SUBJECT (default unchanged) resolved via a new get_vapid_claims() in app/push/vapid.py, used by both dispatch and the test-notification endpoint.

Closes #288
This commit is contained in:
Erv Walter
2026-06-15 19:59:25 -05:00
parent 7198d92c74
commit 1243d01e11
9 changed files with 36 additions and 5 deletions
+4
View File
@@ -46,6 +46,10 @@ services:
# MESHCORE_BASIC_AUTH_PASSWORD: changeme
# MESHCORE_ENABLE_LOCAL_PRIVATE_KEY_EXPORT: "false"
# Web Push
# Set a real mailto for iOS/Safari push; Apple's APNs rejects the default .local domain.
# MESHCORE_VAPID_SUBJECT: "mailto:you@example.com"
# Logging
# MESHCORE_LOG_LEVEL: INFO
restart: unless-stopped