+
+ # Some webpush clients (e.g. iOS Toot!) use an non urlsafe base64 as an encoding for the key.
+ # However, the web push rfs specify to use base64 urlsafe, and the `web_push_encryption` library we use
+ # requires the key to be properly encoded. So we just convert base64 to urlsafe base64.
+ defp ensure_base64_urlsafe(string) do
+ string
+ |> String.replace("+", "-")
+ |> String.replace("/", "_")
+ |> String.replace("=", "")
+ end