Remove unknown activities from feed.
authorRoger Braun <roger@rogerbraun.net>
Sat, 22 Apr 2017 12:37:54 +0000 (14:37 +0200)
committerRoger Braun <roger@rogerbraun.net>
Sat, 22 Apr 2017 12:37:54 +0000 (14:37 +0200)
lib/pleroma/web/ostatus/activity_representer.ex
lib/pleroma/web/ostatus/feed_representer.ex
lib/pleroma/web/websub/websub.ex
test/web/ostatus/activity_representer_test.exs

index daaa4ef03f115e7e0a6bd58c7b4bf7451bfbdacd..590abc8bbbad3cfc7135f6b9936466a2520671b1 100644 (file)
@@ -22,4 +22,6 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do
       {:updated, h.(updated_at)}
     ] ++ attachments
   end
+
+  def to_simple_form(_,_), do: nil
 end
index 42be5f7937285cd0b0574a9ae282a2ae0ad427e1..c9cd12937ae84c4b4f69bc5c9d71085eda161b0d 100644 (file)
@@ -11,6 +11,7 @@ defmodule Pleroma.Web.OStatus.FeedRepresenter do
     entries = Enum.map(activities, fn(activity) ->
       {:entry, ActivityRepresenter.to_simple_form(activity, user)}
     end)
+    |> Enum.filter(fn ({_, form}) -> form end)
 
     [{
       :feed, [
index cf819afd14deb2e6f1a464efaa96ed9115e49c61..cc66b52dd6eb8e53cdc1f8179f4e6d948697aaa5 100644 (file)
@@ -1,6 +1,5 @@
 defmodule Pleroma.Web.Websub do
   alias Pleroma.Repo
-  alias Pleroma.Websub
   alias Pleroma.Web.Websub.WebsubServerSubscription
   alias Pleroma.Web.OStatus.FeedRepresenter
   alias Pleroma.Web.OStatus
index de79717b1aed3ca06dc843f201fed68caa9da839..61df41a1d56772c014e66c2369130463cba6c6e2 100644 (file)
@@ -2,7 +2,7 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenterTest do
   use Pleroma.DataCase
 
   alias Pleroma.Web.OStatus.ActivityRepresenter
-  alias Pleroma.User
+  alias Pleroma.{User, Activity}
 
   import Pleroma.Factory
 
@@ -32,6 +32,11 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenterTest do
     assert clean(res) == clean(expected)
   end
 
+  test "an unknown activity" do
+    tuple = ActivityRepresenter.to_simple_form(%Activity{}, nil)
+    assert is_nil(tuple)
+  end
+
   defp clean(string) do
     String.replace(string, ~r/\s/, "")
   end