Push: add missing notification_type field
authorhref <href@random.sh>
Sat, 8 Dec 2018 16:34:13 +0000 (17:34 +0100)
committerhref <href@random.sh>
Fri, 14 Dec 2018 12:05:48 +0000 (13:05 +0100)
lib/pleroma/web/push/push.ex

index 4af3e159afabbff05e90c1267e195caf551862fe..8b59e54cbae5170c3aaa0d97ce153377d9300698 100644 (file)
@@ -58,14 +58,15 @@ defmodule Pleroma.Web.Push do
       body =
         Jason.encode!(%{
           title: format_title(notification),
+          access_token: record.token.token,
           body: format_body(notification, actor),
           notification_id: notification.id,
+          notification_type: format_type(notification),
           icon: User.avatar_url(actor),
-          preferred_locale: "en",
-          access_token: record.token.token
+          preferred_locale: "en"
         })
 
-      case WebPushEncryption.send_web_push(body, subscription, @gcm_api_key) do
+      case WebPushEncryption.send_web_push(body, subscription) do
         {:ok, %{status_code: code}} when 400 <= code and code < 500 ->
           Logger.debug("Removing subscription record")
           Repo.delete!(record)
@@ -92,6 +93,16 @@ defmodule Pleroma.Web.Push do
     {:noreply, state}
   end
 
+  # https://github.com/tootsuite/mastodon/blob/master/app/models/notification.rb#L19
+  defp format_type(%{activity: %{data: %{"type" => type}}}) do
+    case type do
+      "Create" -> "mention"
+      "Follow" -> "follow"
+      "Announce" -> "reblog"
+      "Favorite" -> "favourite"
+    end
+  end
+
   defp format_title(%{activity: %{data: %{"type" => type}}}) do
     case type do
       "Create" -> "New Mention"