diff options
| -rw-r--r-- | .gitlab/issue_templates/Bug.md | 20 | ||||
| -rw-r--r-- | .gitlab/merge_request_templates/Release.md | 5 | ||||
| -rw-r--r-- | CHANGELOG.md | 3 | ||||
| -rw-r--r-- | docs/API/differences_in_mastoapi_responses.md | 1 | ||||
| -rw-r--r-- | docs/configuration/cheatsheet.md | 3 | ||||
| -rw-r--r-- | lib/pleroma/notification.ex | 9 | ||||
| -rw-r--r-- | lib/pleroma/web/mastodon_api/mastodon_api.ex | 1 | ||||
| -rw-r--r-- | test/notification_test.exs | 8 | ||||
| -rw-r--r-- | test/web/activity_pub/activity_pub_test.exs | 6 | ||||
| -rw-r--r-- | test/web/mastodon_api/controllers/notification_controller_test.exs | 8 | ||||
| -rw-r--r-- | test/web/mastodon_api/views/notification_view_test.exs | 2 | 
11 files changed, 37 insertions, 29 deletions
diff --git a/.gitlab/issue_templates/Bug.md b/.gitlab/issue_templates/Bug.md new file mode 100644 index 000000000..66fbc510e --- /dev/null +++ b/.gitlab/issue_templates/Bug.md @@ -0,0 +1,20 @@ +<!-- +### Precheck + +* For support use https://git.pleroma.social/pleroma/pleroma-support or [community channels](https://git.pleroma.social/pleroma/pleroma#community-channels). +* Please do a quick search to ensure no similar bug has been reported before. If the bug has not been addressed after 2 weeks, it's fine to bump it. +* Try to ensure that the bug is actually related to the Pleroma backend. For example, if a bug happens in Pleroma-FE but not in Mastodon-FE or mobile clients, it's likely that the bug should be filed in [Pleroma-FE](https://git.pleroma.social/pleroma/pleroma-fe/issues/new) repository. +--> + +### Environment + +* Installation type: +  - [ ] OTP +  - [ ] From source +* Pleroma version (could be found in the "Version" tab of settings in Pleroma-FE):  +* Elixir version (`elixir -v` for from source installations, N/A for OTP): +* Operating system: +* PostgreSQL version (`postgres -V`): + + +### Bug description diff --git a/.gitlab/merge_request_templates/Release.md b/.gitlab/merge_request_templates/Release.md new file mode 100644 index 000000000..237f74e00 --- /dev/null +++ b/.gitlab/merge_request_templates/Release.md @@ -0,0 +1,5 @@ +### Release checklist +* [ ]  Bump version in `mix.exs` +* [ ]  Compile a changelog +* [ ]  Create an MR with an announcement to pleroma.social +* [ ]  Tag the release diff --git a/CHANGELOG.md b/CHANGELOG.md index 8034cc0b5..122f97b69 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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. diff --git a/docs/API/differences_in_mastoapi_responses.md b/docs/API/differences_in_mastoapi_responses.md index 476a4a2bf..b12d3092c 100644 --- a/docs/API/differences_in_mastoapi_responses.md +++ b/docs/API/differences_in_mastoapi_responses.md @@ -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` diff --git a/docs/configuration/cheatsheet.md b/docs/configuration/cheatsheet.md index 287ecd049..5dda75811 100644 --- a/docs/configuration/cheatsheet.md +++ b/docs/configuration/cheatsheet.md @@ -138,7 +138,8 @@ config :pleroma, :mrf_user_allowlist,  ```  #### :mrf_object_age -* `threshold`: Required age (in seconds) of a post before actions are taken. +* `threshold`: Required time offset (in seconds) compared to your server clock of an incoming post before actions are taken. +  e.g., A value of 900 results in any post with a timestamp older than 15 minutes will be acted upon.  * `actions`: A list of actions to apply to the post:    * `:delist` removes the post from public timelines    * `:strip_followers` removes followers from the ActivityPub recipient list, ensuring they won't be delivered to home timelines diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex index 60dba3434..3ef3b3f58 100644 --- a/lib/pleroma/notification.ex +++ b/lib/pleroma/notification.ex @@ -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}) diff --git a/lib/pleroma/web/mastodon_api/mastodon_api.ex b/lib/pleroma/web/mastodon_api/mastodon_api.ex index 3fe2be521..a2dc9bc71 100644 --- a/lib/pleroma/web/mastodon_api/mastodon_api.ex +++ b/lib/pleroma/web/mastodon_api/mastodon_api.ex @@ -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      } diff --git a/test/notification_test.exs b/test/notification_test.exs index c71df4e07..6ddd0ad35 100644 --- a/test/notification_test.exs +++ b/test/notification_test.exs @@ -687,17 +687,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 [                 %{ @@ -705,7 +701,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 diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 3dd3dd04d..d86c8260e 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -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 diff --git a/test/web/mastodon_api/controllers/notification_controller_test.exs b/test/web/mastodon_api/controllers/notification_controller_test.exs index 0f0a060d2..4f6a88950 100644 --- a/test/web/mastodon_api/controllers/notification_controller_test.exs +++ b/test/web/mastodon_api/controllers/notification_controller_test.exs @@ -408,7 +408,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do    end    @tag capture_log: true -  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"]) @@ -429,11 +429,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 diff --git a/test/web/mastodon_api/views/notification_view_test.exs b/test/web/mastodon_api/views/notification_view_test.exs index 57e4c8f1e..ac3e12617 100644 --- a/test/web/mastodon_api/views/notification_view_test.exs +++ b/test/web/mastodon_api/views/notification_view_test.exs @@ -133,7 +133,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),  | 
