From: Mark Felder Date: Thu, 25 Jun 2020 19:16:28 +0000 (-0500) Subject: Merge branch 'develop' into refactor/notification_settings X-Git-Url: https://git.squeep.com/?a=commitdiff_plain;h=433c01b370f4bf68d3f016d86c1527b1319e7a0c;p=akkoma Merge branch 'develop' into refactor/notification_settings --- 433c01b370f4bf68d3f016d86c1527b1319e7a0c diff --cc CHANGELOG.md index fba236608,71963d206..82915dcfb --- a/CHANGELOG.md +++ b/CHANGELOG.md @@@ -6,14 -6,27 +6,30 @@@ The format is based on [Keep a Changelo ## [unreleased] ### Changed + - **Breaking:** Elixir >=1.9 is now required (was >= 1.8) + - In Conversations, return only direct messages as `last_status` + - Using the `only_media` filter on timelines will now exclude reblog media + - MFR policy to set global expiration for all local Create activities + - OGP rich media parser merged with TwitterCard + - Configuration: `:instance, rewrite_policy` moved to `:mrf, policies`, `:instance, :mrf_transparency` moved to `:mrf, :transparency`, `:instance, :mrf_transparency_exclusions` moved to `:mrf, :transparency_exclusions`. Old config namespace is deprecated. +
API Changes + - **Breaking:** Emoji API: changed methods and renamed routes. +- **Breaking:** Notification Settings API for suppressing notification + now supports the following controls: `from_followers`, `from_following`, + and `from_strangers`.
+
+ Admin API Changes + + - Status visibility stats: now can return stats per instance. + + - Mix task to refresh counter cache (`mix pleroma.refresh_counter_cache`) +
+ ### Removed - **Breaking:** removed `with_move` parameter from notifications timeline. diff --cc lib/pleroma/notification.ex index ca556f0bb,9ee9606be..9d09cf082 --- a/lib/pleroma/notification.ex +++ b/lib/pleroma/notification.ex @@@ -459,9 -549,11 +549,10 @@@ defmodule Pleroma.Notification d def skip?(%Activity{} = activity, %User{} = user) do [ :self, + :invisible, - :followers, - :follows, - :non_followers, - :non_follows, + :from_followers, + :from_following, + :from_strangers, :recently_followed ] |> Enum.find(&skip?(&1, activity, user)) @@@ -474,10 -566,16 +565,16 @@@ activity.data["actor"] == user.ap_id end + def skip?(:invisible, %Activity{} = activity, _) do + actor = activity.data["actor"] + user = User.get_cached_by_ap_id(actor) + User.invisible?(user) + end + def skip?( - :followers, + :from_followers, %Activity{} = activity, - %User{notification_settings: %{followers: false}} = user + %User{notification_settings: %{from_followers: false}} = user ) do actor = activity.data["actor"] follower = User.get_cached_by_ap_id(actor)