removing with_move parameter
authorAlexander Strizhakov <alex.strizhakov@gmail.com>
Mon, 16 Mar 2020 17:05:21 +0000 (20:05 +0300)
committerAlexander Strizhakov <alex.strizhakov@gmail.com>
Mon, 16 Mar 2020 17:07:45 +0000 (20:07 +0300)
CHANGELOG.md
docs/API/differences_in_mastoapi_responses.md
lib/pleroma/notification.ex
lib/pleroma/web/mastodon_api/mastodon_api.ex
test/notification_test.exs
test/web/activity_pub/activity_pub_test.exs
test/web/mastodon_api/controllers/notification_controller_test.exs
test/web/mastodon_api/views/notification_view_test.exs

index 4168086e269bb4fee745ee0e26c0bc56eb638cba..e3be2ea0847a4a7834695b743c5464bd48f8627f 100644 (file)
@@ -7,6 +7,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
 ### Changed
 - **Breaking:** BBCode and Markdown formatters will no longer return any `\n` and only use `<br/>` for newlines
 
+### Removed
+- **Breaking:** removed `with_move` parameter from notifications timeline.
+
 ## [2.0.0] - 2019-03-08
 ### Security
 - Mastodon API: Fix being able to request enourmous amount of statuses in timelines leading to DoS. Now limited to 40 per request.
index 476a4a2bf804945be6d4119b4191ca67e732b675..b12d3092cc1947c77754bc8aaaa1d8f389398169 100644 (file)
@@ -117,7 +117,6 @@ The `type` value is `pleroma:emoji_reaction`. Has these fields:
 Accepts additional parameters:
 
 - `exclude_visibilities`: will exclude the notifications for activities with the given visibilities. The parameter accepts an array of visibility types (`public`, `unlisted`, `private`, `direct`). Usage example: `GET /api/v1/notifications?exclude_visibilities[]=direct&exclude_visibilities[]=private`.
-- `with_move`: boolean, when set to `true` will include Move notifications. `false` by default.
 
 ## POST `/api/v1/statuses`
 
index 60dba343497cd86545b37c204ace8d6e47b56739..3ef3b3f58bf94f9752d806038b63e0c058896c20 100644 (file)
@@ -77,7 +77,6 @@ defmodule Pleroma.Notification do
     |> exclude_notification_muted(user, exclude_notification_muted_opts)
     |> exclude_blocked(user, exclude_blocked_opts)
     |> exclude_visibility(opts)
-    |> exclude_move(opts)
   end
 
   defp exclude_blocked(query, user, opts) do
@@ -107,14 +106,6 @@ defmodule Pleroma.Notification do
     |> where([n, a, o, tm], is_nil(tm.user_id))
   end
 
-  defp exclude_move(query, %{with_move: true}) do
-    query
-  end
-
-  defp exclude_move(query, _opts) do
-    where(query, [n, a], fragment("?->>'type' != 'Move'", a.data))
-  end
-
   @valid_visibilities ~w[direct unlisted public private]
 
   defp exclude_visibility(query, %{exclude_visibilities: visibility})
index 3fe2be521d4548aae14452f29b732a02e2ba3036..a2dc9bc71cc5efaa5014765bf5a3a6146e848b07 100644 (file)
@@ -72,7 +72,6 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPI do
       exclude_visibilities: {:array, :string},
       reblogs: :boolean,
       with_muted: :boolean,
-      with_move: :boolean,
       account_ap_id: :string
     }
 
index 56a5818103ecf7a0ecc615f1e95d9db50f580386..d240ede9413e1e09bff7b4196b2e525f76b985f1 100644 (file)
@@ -667,17 +667,13 @@ defmodule Pleroma.NotificationTest do
       Pleroma.Web.ActivityPub.ActivityPub.move(old_user, new_user)
       ObanHelpers.perform_all()
 
-      assert [] = Notification.for_user(follower)
-
       assert [
                %{
                  activity: %{
                    data: %{"type" => "Move", "actor" => ^old_ap_id, "target" => ^new_ap_id}
                  }
                }
-             ] = Notification.for_user(follower, %{with_move: true})
-
-      assert [] = Notification.for_user(other_follower)
+             ] = Notification.for_user(follower)
 
       assert [
                %{
@@ -685,7 +681,7 @@ defmodule Pleroma.NotificationTest do
                    data: %{"type" => "Move", "actor" => ^old_ap_id, "target" => ^new_ap_id}
                  }
                }
-             ] = Notification.for_user(other_follower, %{with_move: true})
+             ] = Notification.for_user(other_follower)
     end
   end
 
index 3dd3dd04dcd878959cbba77e38b9398d5cc3ce12..d86c8260e82914033d32556316360465bb646ec8 100644 (file)
@@ -1955,11 +1955,9 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do
 
       activity = %Activity{activity | object: nil}
 
-      assert [%Notification{activity: ^activity}] =
-               Notification.for_user(follower, %{with_move: true})
+      assert [%Notification{activity: ^activity}] = Notification.for_user(follower)
 
-      assert [%Notification{activity: ^activity}] =
-               Notification.for_user(follower_move_opted_out, %{with_move: true})
+      assert [%Notification{activity: ^activity}] = Notification.for_user(follower_move_opted_out)
     end
 
     test "old user must be in the new user's `also_known_as` list" do
index d452ddbdd5d45d4479ed261dedb20bef6d4c54a5..dbe9a7fd7bf302beaeebc82bc87fc6459534318e 100644 (file)
@@ -407,7 +407,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do
     assert length(json_response(conn, 200)) == 1
   end
 
-  test "see move notifications with `with_move` parameter" do
+  test "see move notifications" do
     old_user = insert(:user)
     new_user = insert(:user, also_known_as: [old_user.ap_id])
     %{user: follower, conn: conn} = oauth_access(["read:notifications"])
@@ -416,11 +416,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do
     Pleroma.Web.ActivityPub.ActivityPub.move(old_user, new_user)
     Pleroma.Tests.ObanHelpers.perform_all()
 
-    ret_conn = get(conn, "/api/v1/notifications")
-
-    assert json_response(ret_conn, 200) == []
-
-    conn = get(conn, "/api/v1/notifications", %{"with_move" => "true"})
+    conn = get(conn, "/api/v1/notifications")
 
     assert length(json_response(conn, 200)) == 1
   end
index 4df9c3c036c61bc752edf11d8b4422f083d533f0..d04c3022f753f700e9ea775b873797942976d8e8 100644 (file)
@@ -120,7 +120,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationViewTest do
     old_user = refresh_record(old_user)
     new_user = refresh_record(new_user)
 
-    [notification] = Notification.for_user(follower, %{with_move: true})
+    [notification] = Notification.for_user(follower)
 
     expected = %{
       id: to_string(notification.id),