def init(:ok) do
case Application.get_env(:web_push_encryption, :vapid_details) do
nil ->
- Logger.error(
+ Logger.warn(
"VAPID key pair is not found. Please, add VAPID configuration to config. Run `mix web_push.gen.keypair` mix task to create a key pair"
)
- {:error, %{}}
+ :ignore
_ ->
{:ok, %{}}
end
def send(notification) do
- GenServer.cast(Pleroma.Web.Push, {:send, notification})
+ if Application.get_env(:web_push_encryption, :vapid_details) do
+ GenServer.cast(Pleroma.Web.Push, {:send, notification})
+ end
end
def handle_cast(
Logger.error("Web Push Nonification failed with code: #{code}")
:error
- data ->
+ _ ->
Logger.error("Web Push Nonification failed with unknown error")
- IO.inspect(data)
:error
end
end)
%{
title: "New Mention",
body: "@#{actor.nickname} has mentiond you",
- icon: get_avatar_url(actor)
+ icon: User.avatar_url(actor)
}
end
%{
title: "New Follower",
body: "@#{actor.nickname} has followed you",
- icon: get_avatar_url(actor)
+ icon: User.avatar_url(actor)
}
end
%{
title: "New Announce",
body: "@#{actor.nickname} has announced your post",
- icon: get_avatar_url(actor)
+ icon: User.avatar_url(actor)
}
end
%{
title: "New Like",
body: "@#{actor.nickname} has liked your post",
- icon: get_avatar_url(actor)
+ icon: User.avatar_url(actor)
}
end
-
- def get_avatar_url(%{avatar: %{"type" => "Image", "url" => urls}}) do
- case List.first(urls) do
- %{"href" => url} -> url
- _ -> get_avatar_url(nil)
- end
- end
-
- def get_avatar_url(_) do
- Pleroma.Web.Endpoint.static_url() <> "/images/avi.png"
- end
end