Fixed
- Web Push reaches iPhone and iPad again. Every push is signed with a contact address, and without a configured email sender or
VAPID_SUBJECTthat address defaulted toadmin@localhost. Apple checks it and refuses a token it cannot reach, answering403 BadJwtToken, so pushes to Apple devices failed while the very same installation kept delivering to Android. The address is now taken from the first reachable source, in order:VAPID_SUBJECT, the sender address from the email settings, thenBASE_URL. A value that cannot work, such as alocalhostor.localaddress or one without a domain ending, is discarded instead of being sent. Nothing has to be configured for this to take effect. - A rejected push now names the contact address it was signed with in the log, alongside the push service and status code it already carried, plus a line pointing at the address as the likely cause. A
403was previously indistinguishable from any other server-side failure, which is what made the cause above so hard to find. - Unraid users can set the Web Push variables at all.
VAPID_SUBJECT,VAPID_PUBLIC_KEYandVAPID_PRIVATE_KEYwere missing from the template, and since Unraid lists every variable by hand and has no fallback, there was simply no field to enter them in. - The installation guide's iOS and iPadOS section now covers the contact address as well, next to the home-screen and certificate requirements already listed there.