Browse Source

removing with_move parameter

fix/1604-emoji-path
Alexander Strizhakov 4 years ago
parent
commit
f3791add99
No known key found for this signature in database GPG Key ID: 22896A53AEF1381
8 changed files with 10 additions and 28 deletions
  1. +3
    -0
      CHANGELOG.md
  2. +0
    -1
      docs/API/differences_in_mastoapi_responses.md
  3. +0
    -9
      lib/pleroma/notification.ex
  4. +0
    -1
      lib/pleroma/web/mastodon_api/mastodon_api.ex
  5. +2
    -6
      test/notification_test.exs
  6. +2
    -4
      test/web/activity_pub/activity_pub_test.exs
  7. +2
    -6
      test/web/mastodon_api/controllers/notification_controller_test.exs
  8. +1
    -1
      test/web/mastodon_api/views/notification_view_test.exs

+ 3
- 0
CHANGELOG.md View 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.


+ 0
- 1
docs/API/differences_in_mastoapi_responses.md View 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`



+ 0
- 9
lib/pleroma/notification.ex View 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})


+ 0
- 1
lib/pleroma/web/mastodon_api/mastodon_api.ex View 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
}



+ 2
- 6
test/notification_test.exs View 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



+ 2
- 4
test/web/activity_pub/activity_pub_test.exs View 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


+ 2
- 6
test/web/mastodon_api/controllers/notification_controller_test.exs View 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


+ 1
- 1
test/web/mastodon_api/views/notification_view_test.exs View 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),


Loading…
Cancel
Save