diff --git a/CHANGELOG.md b/CHANGELOG.md index f32014f1c..2b2be4ca5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## [2.2.2] - 2020-01-18 + +### Fixed + +- StealEmojiPolicy creates dir for emojis, if it doesn't exist. +- Updated `elixir_make` to a non-retired version + +### Upgrade notes + +1. Restart Pleroma + ## [2.2.1] - 2020-12-22 ### Changed @@ -17,6 +28,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Rich Media Previews sometimes showed the wrong preview due to a bug following redirects. - Fixes for the autolinker. - Forwarded reports duplication from Pleroma instances. +- Emoji Reaction activity filtering from blocked and muted accounts. -
API diff --git a/lib/pleroma/web/activity_pub/mrf/steal_emoji_policy.ex b/lib/pleroma/web/activity_pub/mrf/steal_emoji_policy.ex index 2858af9eb..788f21261 100644 --- a/lib/pleroma/web/activity_pub/mrf/steal_emoji_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/steal_emoji_policy.ex @@ -10,73 +10,75 @@ defmodule Pleroma.Web.ActivityPub.MRF.StealEmojiPolicy do @moduledoc "Detect new emojis by their shortcode and steals them" @behaviour Pleroma.Web.ActivityPub.MRF - defp remote_host?(host), do: host != Config.get([Pleroma.Web.Endpoint, :url, :host]) - defp accept_host?(host), do: host in Config.get([:mrf_steal_emoji, :hosts], []) - defp steal_emoji({shortcode, url}) do + defp steal_emoji({shortcode, url}, emoji_dir_path) do url = Pleroma.Web.MediaProxy.url(url) - {:ok, response} = Pleroma.HTTP.get(url) - size_limit = Config.get([:mrf_steal_emoji, :size_limit], 50_000) - if byte_size(response.body) <= size_limit do - emoji_dir_path = - Config.get( - [:mrf_steal_emoji, :path], - Path.join(Config.get([:instance, :static_dir]), "emoji/stolen") + with {:ok, %{status: status} = response} when status in 200..299 <- Pleroma.HTTP.get(url) do + size_limit = Config.get([:mrf_steal_emoji, :size_limit], 50_000) + + if byte_size(response.body) <= size_limit do + extension = + url + |> URI.parse() + |> Map.get(:path) + |> Path.basename() + |> Path.extname() + + file_path = Path.join(emoji_dir_path, shortcode <> (extension || ".png")) + + case File.write(file_path, response.body) do + :ok -> + shortcode + + e -> + Logger.warn("MRF.StealEmojiPolicy: Failed to write to #{file_path}: #{inspect(e)}") + nil + end + else + Logger.debug( + "MRF.StealEmojiPolicy: :#{shortcode}: at #{url} (#{byte_size(response.body)} B) over size limit (#{ + size_limit + } B)" ) - extension = - url - |> URI.parse() - |> Map.get(:path) - |> Path.basename() - |> Path.extname() - - file_path = Path.join([emoji_dir_path, shortcode <> (extension || ".png")]) - - try do - :ok = File.write(file_path, response.body) - - shortcode - rescue - e -> - Logger.warn("MRF.StealEmojiPolicy: Failed to write to #{file_path}: #{inspect(e)}") - nil + nil end else - Logger.debug( - "MRF.StealEmojiPolicy: :#{shortcode}: at #{url} (#{byte_size(response.body)} B) over size limit (#{ - size_limit - } B)" - ) - - nil + e -> + Logger.warn("MRF.StealEmojiPolicy: Failed to fetch #{url}: #{inspect(e)}") + nil end - rescue - e -> - Logger.warn("MRF.StealEmojiPolicy: Failed to fetch #{url}: #{inspect(e)}") - nil end @impl true def filter(%{"object" => %{"emoji" => foreign_emojis, "actor" => actor}} = message) do host = URI.parse(actor).host - if remote_host?(host) and accept_host?(host) do + if host != Pleroma.Web.Endpoint.host() and accept_host?(host) do installed_emoji = Pleroma.Emoji.get_all() |> Enum.map(fn {k, _} -> k end) + emoji_dir_path = + Config.get( + [:mrf_steal_emoji, :path], + Path.join(Config.get([:instance, :static_dir]), "emoji/stolen") + ) + + File.mkdir_p(emoji_dir_path) + new_emojis = foreign_emojis - |> Enum.filter(fn {shortcode, _url} -> shortcode not in installed_emoji end) + |> Enum.reject(fn {shortcode, _url} -> shortcode in installed_emoji end) |> Enum.filter(fn {shortcode, _url} -> reject_emoji? = - Config.get([:mrf_steal_emoji, :rejected_shortcodes], []) + [:mrf_steal_emoji, :rejected_shortcodes] + |> Config.get([]) |> Enum.find(false, fn regex -> String.match?(shortcode, regex) end) !reject_emoji? end) - |> Enum.map(&steal_emoji(&1)) + |> Enum.map(&steal_emoji(&1, emoji_dir_path)) |> Enum.filter(& &1) if !Enum.empty?(new_emojis) do diff --git a/mix.exs b/mix.exs index 77168c91c..8d68ed8e6 100644 --- a/mix.exs +++ b/mix.exs @@ -4,7 +4,7 @@ defmodule Pleroma.Mixfile do def project do [ app: :pleroma, - version: version("2.2.1"), + version: version("2.2.2"), elixir: "~> 1.9", elixirc_paths: elixirc_paths(Mix.env()), compilers: [:phoenix, :gettext] ++ Mix.compilers(), diff --git a/mix.lock b/mix.lock index dd8bc5d82..5af9bbce6 100644 --- a/mix.lock +++ b/mix.lock @@ -33,7 +33,7 @@ "ecto_enum": {:hex, :ecto_enum, "1.4.0", "d14b00e04b974afc69c251632d1e49594d899067ee2b376277efd8233027aec8", [:mix], [{:ecto, ">= 3.0.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "> 3.0.0", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:mariaex, ">= 0.0.0", [hex: :mariaex, repo: "hexpm", optional: true]}, {:postgrex, ">= 0.0.0", [hex: :postgrex, repo: "hexpm", optional: true]}], "hexpm", "8fb55c087181c2b15eee406519dc22578fa60dd82c088be376d0010172764ee4"}, "ecto_sql": {:hex, :ecto_sql, "3.4.5", "30161f81b167d561a9a2df4329c10ae05ff36eca7ccc84628f2c8b9fa1e43323", [:mix], [{:db_connection, "~> 2.2", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.4.3", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.3.0 or ~> 0.4.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.15.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.0", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "31990c6a3579b36a3c0841d34a94c275e727de8b84f58509da5f1b2032c98ac2"}, "eimp": {:hex, :eimp, "1.0.14", "fc297f0c7e2700457a95a60c7010a5f1dcb768a083b6d53f49cd94ab95a28f22", [:rebar3], [{:p1_utils, "1.0.18", [hex: :p1_utils, repo: "hexpm", optional: false]}], "hexpm", "501133f3112079b92d9e22da8b88bf4f0e13d4d67ae9c15c42c30bd25ceb83b6"}, - "elixir_make": {:hex, :elixir_make, "0.6.1", "8faa29a5597faba999aeeb72bbb9c91694ef8068f0131192fb199f98d32994ef", [:mix], [], "hexpm", "35d33270680f8d839a4003c3e9f43afb595310a592405a00afc12de4c7f55a18"}, + "elixir_make": {:hex, :elixir_make, "0.6.2", "7dffacd77dec4c37b39af867cedaabb0b59f6a871f89722c25b28fcd4bd70530", [:mix], [], "hexpm", "03e49eadda22526a7e5279d53321d1cced6552f344ba4e03e619063de75348d9"}, "esshd": {:hex, :esshd, "0.1.1", "d4dd4c46698093a40a56afecce8a46e246eb35463c457c246dacba2e056f31b5", [:mix], [], "hexpm", "d73e341e3009d390aa36387dc8862860bf9f874c94d9fd92ade2926376f49981"}, "eternal": {:hex, :eternal, "1.2.1", "d5b6b2499ba876c57be2581b5b999ee9bdf861c647401066d3eeed111d096bc4", [:mix], [], "hexpm", "b14f1dc204321429479c569cfbe8fb287541184ed040956c8862cb7a677b8406"}, "ex2ms": {:hex, :ex2ms, "1.5.0", "19e27f9212be9a96093fed8cdfbef0a2b56c21237196d26760f11dfcfae58e97", [:mix], [], "hexpm"}, diff --git a/priv/static/index.html b/priv/static/index.html index a1d3e00d2..d9e9584db 100644 --- a/priv/static/index.html +++ b/priv/static/index.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/priv/static/static/js/10.0044e0a91e709d07cc7f.js b/priv/static/static/js/10.0044e0a91e709d07cc7f.js deleted file mode 100644 index 1d9eb70f5..000000000 Binary files a/priv/static/static/js/10.0044e0a91e709d07cc7f.js and /dev/null differ diff --git a/priv/static/static/js/10.a11a612e4c1ef51ded17.js b/priv/static/static/js/10.a11a612e4c1ef51ded17.js new file mode 100644 index 000000000..2a1ffcc2b Binary files /dev/null and b/priv/static/static/js/10.a11a612e4c1ef51ded17.js differ diff --git a/priv/static/static/js/12.13204bdd0ad5703a3ea3.js.map b/priv/static/static/js/10.a11a612e4c1ef51ded17.js.map similarity index 56% rename from priv/static/static/js/12.13204bdd0ad5703a3ea3.js.map rename to priv/static/static/js/10.a11a612e4c1ef51ded17.js.map index 366ec2927..fd81b28be 100644 Binary files a/priv/static/static/js/12.13204bdd0ad5703a3ea3.js.map and b/priv/static/static/js/10.a11a612e4c1ef51ded17.js.map differ diff --git a/priv/static/static/js/11.8ff1ed54814f2d34cb3e.js b/priv/static/static/js/11.22872a1f83121e70a148.js similarity index 99% rename from priv/static/static/js/11.8ff1ed54814f2d34cb3e.js rename to priv/static/static/js/11.22872a1f83121e70a148.js index cb57f2a65..a2e9cee51 100644 Binary files a/priv/static/static/js/11.8ff1ed54814f2d34cb3e.js and b/priv/static/static/js/11.22872a1f83121e70a148.js differ diff --git a/priv/static/static/js/10.0044e0a91e709d07cc7f.js.map b/priv/static/static/js/11.22872a1f83121e70a148.js.map similarity index 56% rename from priv/static/static/js/10.0044e0a91e709d07cc7f.js.map rename to priv/static/static/js/11.22872a1f83121e70a148.js.map index 2f816ec9d..6467c58a5 100644 Binary files a/priv/static/static/js/10.0044e0a91e709d07cc7f.js.map and b/priv/static/static/js/11.22872a1f83121e70a148.js.map differ diff --git a/priv/static/static/js/12.13204bdd0ad5703a3ea3.js b/priv/static/static/js/12.c6df5166dc6cdcf749e5.js similarity index 99% rename from priv/static/static/js/12.13204bdd0ad5703a3ea3.js rename to priv/static/static/js/12.c6df5166dc6cdcf749e5.js index a89bfeb67..441071f37 100644 Binary files a/priv/static/static/js/12.13204bdd0ad5703a3ea3.js and b/priv/static/static/js/12.c6df5166dc6cdcf749e5.js differ diff --git a/priv/static/static/js/13.e27c3eeddcc4b11c1f54.js.map b/priv/static/static/js/12.c6df5166dc6cdcf749e5.js.map similarity index 56% rename from priv/static/static/js/13.e27c3eeddcc4b11c1f54.js.map rename to priv/static/static/js/12.c6df5166dc6cdcf749e5.js.map index 0c61c3fca..c0bac6f0f 100644 Binary files a/priv/static/static/js/13.e27c3eeddcc4b11c1f54.js.map and b/priv/static/static/js/12.c6df5166dc6cdcf749e5.js.map differ diff --git a/priv/static/static/js/13.e27c3eeddcc4b11c1f54.js b/priv/static/static/js/13.77214c18c6d2a9865281.js similarity index 99% rename from priv/static/static/js/13.e27c3eeddcc4b11c1f54.js rename to priv/static/static/js/13.77214c18c6d2a9865281.js index 8cd482b41..08e356de2 100644 Binary files a/priv/static/static/js/13.e27c3eeddcc4b11c1f54.js and b/priv/static/static/js/13.77214c18c6d2a9865281.js differ diff --git a/priv/static/static/js/11.8ff1ed54814f2d34cb3e.js.map b/priv/static/static/js/13.77214c18c6d2a9865281.js.map similarity index 56% rename from priv/static/static/js/11.8ff1ed54814f2d34cb3e.js.map rename to priv/static/static/js/13.77214c18c6d2a9865281.js.map index 4ce6d7227..3d7abf273 100644 Binary files a/priv/static/static/js/11.8ff1ed54814f2d34cb3e.js.map and b/priv/static/static/js/13.77214c18c6d2a9865281.js.map differ diff --git a/priv/static/static/js/14.273855b3e4e27ce80219.js.map b/priv/static/static/js/14.273855b3e4e27ce80219.js.map deleted file mode 100644 index 9ee527eaa..000000000 Binary files a/priv/static/static/js/14.273855b3e4e27ce80219.js.map and /dev/null differ diff --git a/priv/static/static/js/14.273855b3e4e27ce80219.js b/priv/static/static/js/14.e560f5e2f902b9ad2d0d.js similarity index 99% rename from priv/static/static/js/14.273855b3e4e27ce80219.js rename to priv/static/static/js/14.e560f5e2f902b9ad2d0d.js index 78c0bfebc..d2d291725 100644 Binary files a/priv/static/static/js/14.273855b3e4e27ce80219.js and b/priv/static/static/js/14.e560f5e2f902b9ad2d0d.js differ diff --git a/priv/static/static/js/14.e560f5e2f902b9ad2d0d.js.map b/priv/static/static/js/14.e560f5e2f902b9ad2d0d.js.map new file mode 100644 index 000000000..f9797f1b6 Binary files /dev/null and b/priv/static/static/js/14.e560f5e2f902b9ad2d0d.js.map differ diff --git a/priv/static/static/js/15.afbe29b6665fcd015b2d.js b/priv/static/static/js/15.2893c12f1ca2bcdc3cbf.js similarity index 98% rename from priv/static/static/js/15.afbe29b6665fcd015b2d.js rename to priv/static/static/js/15.2893c12f1ca2bcdc3cbf.js index b83752240..82318f797 100644 Binary files a/priv/static/static/js/15.afbe29b6665fcd015b2d.js and b/priv/static/static/js/15.2893c12f1ca2bcdc3cbf.js differ diff --git a/priv/static/static/js/15.2893c12f1ca2bcdc3cbf.js.map b/priv/static/static/js/15.2893c12f1ca2bcdc3cbf.js.map new file mode 100644 index 000000000..00cab138d Binary files /dev/null and b/priv/static/static/js/15.2893c12f1ca2bcdc3cbf.js.map differ diff --git a/priv/static/static/js/15.afbe29b6665fcd015b2d.js.map b/priv/static/static/js/15.afbe29b6665fcd015b2d.js.map deleted file mode 100644 index c7a0be582..000000000 Binary files a/priv/static/static/js/15.afbe29b6665fcd015b2d.js.map and /dev/null differ diff --git a/priv/static/static/js/16.49ae236fe0fc6a010e66.js.map b/priv/static/static/js/16.49ae236fe0fc6a010e66.js.map deleted file mode 100644 index ec00186b1..000000000 Binary files a/priv/static/static/js/16.49ae236fe0fc6a010e66.js.map and /dev/null differ diff --git a/priv/static/static/js/16.49ae236fe0fc6a010e66.js b/priv/static/static/js/16.be7f4b788716bec25023.js similarity index 99% rename from priv/static/static/js/16.49ae236fe0fc6a010e66.js rename to priv/static/static/js/16.be7f4b788716bec25023.js index dc0e1b08d..ea5b554f1 100644 Binary files a/priv/static/static/js/16.49ae236fe0fc6a010e66.js and b/priv/static/static/js/16.be7f4b788716bec25023.js differ diff --git a/priv/static/static/js/16.be7f4b788716bec25023.js.map b/priv/static/static/js/16.be7f4b788716bec25023.js.map new file mode 100644 index 000000000..121a49be1 Binary files /dev/null and b/priv/static/static/js/16.be7f4b788716bec25023.js.map differ diff --git a/priv/static/static/js/17.44e90ef82ee2ef12dc3f.js.map b/priv/static/static/js/17.44e90ef82ee2ef12dc3f.js.map deleted file mode 100644 index 1d191b94a..000000000 Binary files a/priv/static/static/js/17.44e90ef82ee2ef12dc3f.js.map and /dev/null differ diff --git a/priv/static/static/js/17.44e90ef82ee2ef12dc3f.js b/priv/static/static/js/17.4ddba89b4f8c284f6392.js similarity index 94% rename from priv/static/static/js/17.44e90ef82ee2ef12dc3f.js rename to priv/static/static/js/17.4ddba89b4f8c284f6392.js index 9b5adfd12..39283f245 100644 Binary files a/priv/static/static/js/17.44e90ef82ee2ef12dc3f.js and b/priv/static/static/js/17.4ddba89b4f8c284f6392.js differ diff --git a/priv/static/static/js/17.4ddba89b4f8c284f6392.js.map b/priv/static/static/js/17.4ddba89b4f8c284f6392.js.map new file mode 100644 index 000000000..322db8c6b Binary files /dev/null and b/priv/static/static/js/17.4ddba89b4f8c284f6392.js.map differ diff --git a/priv/static/static/js/18.990b88b57bf3a6809098.js b/priv/static/static/js/18.990b88b57bf3a6809098.js new file mode 100644 index 000000000..96de50c61 Binary files /dev/null and b/priv/static/static/js/18.990b88b57bf3a6809098.js differ diff --git a/priv/static/static/js/18.990b88b57bf3a6809098.js.map b/priv/static/static/js/18.990b88b57bf3a6809098.js.map new file mode 100644 index 000000000..b0fb3b629 Binary files /dev/null and b/priv/static/static/js/18.990b88b57bf3a6809098.js.map differ diff --git a/priv/static/static/js/18.cf36e1127e02cd2a36a4.js b/priv/static/static/js/18.cf36e1127e02cd2a36a4.js deleted file mode 100644 index d7c021bed..000000000 Binary files a/priv/static/static/js/18.cf36e1127e02cd2a36a4.js and /dev/null differ diff --git a/priv/static/static/js/18.cf36e1127e02cd2a36a4.js.map b/priv/static/static/js/18.cf36e1127e02cd2a36a4.js.map deleted file mode 100644 index 0431728a4..000000000 Binary files a/priv/static/static/js/18.cf36e1127e02cd2a36a4.js.map and /dev/null differ diff --git a/priv/static/static/js/19.1fd4da643df0abf89122.js.map b/priv/static/static/js/19.1fd4da643df0abf89122.js.map deleted file mode 100644 index 010c8674d..000000000 Binary files a/priv/static/static/js/19.1fd4da643df0abf89122.js.map and /dev/null differ diff --git a/priv/static/static/js/19.1fd4da643df0abf89122.js b/priv/static/static/js/19.783715f17e3f98e8898e.js similarity index 99% rename from priv/static/static/js/19.1fd4da643df0abf89122.js rename to priv/static/static/js/19.783715f17e3f98e8898e.js index c1ca1643b..bf4fd22fd 100644 Binary files a/priv/static/static/js/19.1fd4da643df0abf89122.js and b/priv/static/static/js/19.783715f17e3f98e8898e.js differ diff --git a/priv/static/static/js/19.783715f17e3f98e8898e.js.map b/priv/static/static/js/19.783715f17e3f98e8898e.js.map new file mode 100644 index 000000000..d3bd148d5 Binary files /dev/null and b/priv/static/static/js/19.783715f17e3f98e8898e.js.map differ diff --git a/priv/static/static/js/2.9b94fcdec8b4c4dde80f.js b/priv/static/static/js/2.9b94fcdec8b4c4dde80f.js deleted file mode 100644 index b85deca02..000000000 Binary files a/priv/static/static/js/2.9b94fcdec8b4c4dde80f.js and /dev/null differ diff --git a/priv/static/static/js/2.9b94fcdec8b4c4dde80f.js.map b/priv/static/static/js/2.9b94fcdec8b4c4dde80f.js.map deleted file mode 100644 index 1f5da32fe..000000000 Binary files a/priv/static/static/js/2.9b94fcdec8b4c4dde80f.js.map and /dev/null differ diff --git a/priv/static/static/js/2.a91966242b7de2b214d4.js b/priv/static/static/js/2.a91966242b7de2b214d4.js new file mode 100644 index 000000000..7d16e1088 Binary files /dev/null and b/priv/static/static/js/2.a91966242b7de2b214d4.js differ diff --git a/priv/static/static/js/2.a91966242b7de2b214d4.js.map b/priv/static/static/js/2.a91966242b7de2b214d4.js.map new file mode 100644 index 000000000..81f985148 Binary files /dev/null and b/priv/static/static/js/2.a91966242b7de2b214d4.js.map differ diff --git a/priv/static/static/js/20.a64fd29da59076399a27.js b/priv/static/static/js/20.96c40f6c9db8c08633bd.js similarity index 99% rename from priv/static/static/js/20.a64fd29da59076399a27.js rename to priv/static/static/js/20.96c40f6c9db8c08633bd.js index eae5b3947..a3b3d7894 100644 Binary files a/priv/static/static/js/20.a64fd29da59076399a27.js and b/priv/static/static/js/20.96c40f6c9db8c08633bd.js differ diff --git a/priv/static/static/js/20.96c40f6c9db8c08633bd.js.map b/priv/static/static/js/20.96c40f6c9db8c08633bd.js.map new file mode 100644 index 000000000..d7d40ed07 Binary files /dev/null and b/priv/static/static/js/20.96c40f6c9db8c08633bd.js.map differ diff --git a/priv/static/static/js/20.a64fd29da59076399a27.js.map b/priv/static/static/js/20.a64fd29da59076399a27.js.map deleted file mode 100644 index b2917fa10..000000000 Binary files a/priv/static/static/js/20.a64fd29da59076399a27.js.map and /dev/null differ diff --git a/priv/static/static/js/21.243d9e6ebf469a2dc740.js.map b/priv/static/static/js/21.243d9e6ebf469a2dc740.js.map deleted file mode 100644 index 3f98250fa..000000000 Binary files a/priv/static/static/js/21.243d9e6ebf469a2dc740.js.map and /dev/null differ diff --git a/priv/static/static/js/21.243d9e6ebf469a2dc740.js b/priv/static/static/js/21.5a9f8e39a7833c1aa117.js similarity index 99% rename from priv/static/static/js/21.243d9e6ebf469a2dc740.js rename to priv/static/static/js/21.5a9f8e39a7833c1aa117.js index 61633519b..4114db7db 100644 Binary files a/priv/static/static/js/21.243d9e6ebf469a2dc740.js and b/priv/static/static/js/21.5a9f8e39a7833c1aa117.js differ diff --git a/priv/static/static/js/21.5a9f8e39a7833c1aa117.js.map b/priv/static/static/js/21.5a9f8e39a7833c1aa117.js.map new file mode 100644 index 000000000..898948286 Binary files /dev/null and b/priv/static/static/js/21.5a9f8e39a7833c1aa117.js.map differ diff --git a/priv/static/static/js/22.e20ef7e5fefc0964cdd1.js b/priv/static/static/js/22.d65671b9e5e00a0eb625.js similarity index 99% rename from priv/static/static/js/22.e20ef7e5fefc0964cdd1.js rename to priv/static/static/js/22.d65671b9e5e00a0eb625.js index e8f309f8a..3748a53b2 100644 Binary files a/priv/static/static/js/22.e20ef7e5fefc0964cdd1.js and b/priv/static/static/js/22.d65671b9e5e00a0eb625.js differ diff --git a/priv/static/static/js/22.d65671b9e5e00a0eb625.js.map b/priv/static/static/js/22.d65671b9e5e00a0eb625.js.map new file mode 100644 index 000000000..110cadd41 Binary files /dev/null and b/priv/static/static/js/22.d65671b9e5e00a0eb625.js.map differ diff --git a/priv/static/static/js/22.e20ef7e5fefc0964cdd1.js.map b/priv/static/static/js/22.e20ef7e5fefc0964cdd1.js.map deleted file mode 100644 index 7780cffe6..000000000 Binary files a/priv/static/static/js/22.e20ef7e5fefc0964cdd1.js.map and /dev/null differ diff --git a/priv/static/static/js/23.614a35f9ded445292f4a.js.map b/priv/static/static/js/23.614a35f9ded445292f4a.js.map deleted file mode 100644 index 4158041f4..000000000 Binary files a/priv/static/static/js/23.614a35f9ded445292f4a.js.map and /dev/null differ diff --git a/priv/static/static/js/23.614a35f9ded445292f4a.js b/priv/static/static/js/23.bf697d60801d277815e0.js similarity index 99% rename from priv/static/static/js/23.614a35f9ded445292f4a.js rename to priv/static/static/js/23.bf697d60801d277815e0.js index a35450986..e61cf01d7 100644 Binary files a/priv/static/static/js/23.614a35f9ded445292f4a.js and b/priv/static/static/js/23.bf697d60801d277815e0.js differ diff --git a/priv/static/static/js/23.bf697d60801d277815e0.js.map b/priv/static/static/js/23.bf697d60801d277815e0.js.map new file mode 100644 index 000000000..20c74e93b Binary files /dev/null and b/priv/static/static/js/23.bf697d60801d277815e0.js.map differ diff --git a/priv/static/static/js/24.6ae9ca51e51e023afbe4.js.map b/priv/static/static/js/24.6ae9ca51e51e023afbe4.js.map deleted file mode 100644 index 7e68d5eaa..000000000 Binary files a/priv/static/static/js/24.6ae9ca51e51e023afbe4.js.map and /dev/null differ diff --git a/priv/static/static/js/24.6ae9ca51e51e023afbe4.js b/priv/static/static/js/24.914e51bfcfc620a93c0e.js similarity index 99% rename from priv/static/static/js/24.6ae9ca51e51e023afbe4.js rename to priv/static/static/js/24.914e51bfcfc620a93c0e.js index d075f3b1f..abdad101e 100644 Binary files a/priv/static/static/js/24.6ae9ca51e51e023afbe4.js and b/priv/static/static/js/24.914e51bfcfc620a93c0e.js differ diff --git a/priv/static/static/js/24.914e51bfcfc620a93c0e.js.map b/priv/static/static/js/24.914e51bfcfc620a93c0e.js.map new file mode 100644 index 000000000..1ddfced9a Binary files /dev/null and b/priv/static/static/js/24.914e51bfcfc620a93c0e.js.map differ diff --git a/priv/static/static/js/25.eadae0d48ee5be52a16c.js b/priv/static/static/js/25.eadae0d48ee5be52a16c.js deleted file mode 100644 index a0e44e1aa..000000000 Binary files a/priv/static/static/js/25.eadae0d48ee5be52a16c.js and /dev/null differ diff --git a/priv/static/static/js/25.eadae0d48ee5be52a16c.js.map b/priv/static/static/js/25.eadae0d48ee5be52a16c.js.map deleted file mode 100644 index aaa5e3a57..000000000 Binary files a/priv/static/static/js/25.eadae0d48ee5be52a16c.js.map and /dev/null differ diff --git a/priv/static/static/js/25.fa8acda1a0ba7de2ab58.js b/priv/static/static/js/25.fa8acda1a0ba7de2ab58.js new file mode 100644 index 000000000..719148fcd Binary files /dev/null and b/priv/static/static/js/25.fa8acda1a0ba7de2ab58.js differ diff --git a/priv/static/static/js/25.fa8acda1a0ba7de2ab58.js.map b/priv/static/static/js/25.fa8acda1a0ba7de2ab58.js.map new file mode 100644 index 000000000..ec5910108 Binary files /dev/null and b/priv/static/static/js/25.fa8acda1a0ba7de2ab58.js.map differ diff --git a/priv/static/static/js/26.8fd0027b982c4bcdc88f.js b/priv/static/static/js/26.5233739c17e00ab514f7.js similarity index 99% rename from priv/static/static/js/26.8fd0027b982c4bcdc88f.js rename to priv/static/static/js/26.5233739c17e00ab514f7.js index 3b149915b..9adba8a0c 100644 Binary files a/priv/static/static/js/26.8fd0027b982c4bcdc88f.js and b/priv/static/static/js/26.5233739c17e00ab514f7.js differ diff --git a/priv/static/static/js/26.5233739c17e00ab514f7.js.map b/priv/static/static/js/26.5233739c17e00ab514f7.js.map new file mode 100644 index 000000000..9aad55492 Binary files /dev/null and b/priv/static/static/js/26.5233739c17e00ab514f7.js.map differ diff --git a/priv/static/static/js/26.8fd0027b982c4bcdc88f.js.map b/priv/static/static/js/26.8fd0027b982c4bcdc88f.js.map deleted file mode 100644 index d40f1979a..000000000 Binary files a/priv/static/static/js/26.8fd0027b982c4bcdc88f.js.map and /dev/null differ diff --git a/priv/static/static/js/27.6d90a54efba08d261d69.js.map b/priv/static/static/js/27.6d90a54efba08d261d69.js.map deleted file mode 100644 index 6685474ce..000000000 Binary files a/priv/static/static/js/27.6d90a54efba08d261d69.js.map and /dev/null differ diff --git a/priv/static/static/js/27.6d90a54efba08d261d69.js b/priv/static/static/js/27.79a2337abb067d8a36ce.js similarity index 94% rename from priv/static/static/js/27.6d90a54efba08d261d69.js rename to priv/static/static/js/27.79a2337abb067d8a36ce.js index e8420a54f..07b8fbea4 100644 Binary files a/priv/static/static/js/27.6d90a54efba08d261d69.js and b/priv/static/static/js/27.79a2337abb067d8a36ce.js differ diff --git a/priv/static/static/js/27.79a2337abb067d8a36ce.js.map b/priv/static/static/js/27.79a2337abb067d8a36ce.js.map new file mode 100644 index 000000000..a55aeae77 Binary files /dev/null and b/priv/static/static/js/27.79a2337abb067d8a36ce.js.map differ diff --git a/priv/static/static/js/28.e575fccfc5c48ba080e1.js b/priv/static/static/js/28.e575fccfc5c48ba080e1.js deleted file mode 100644 index 3b503347c..000000000 Binary files a/priv/static/static/js/28.e575fccfc5c48ba080e1.js and /dev/null differ diff --git a/priv/static/static/js/28.e575fccfc5c48ba080e1.js.map b/priv/static/static/js/28.e575fccfc5c48ba080e1.js.map deleted file mode 100644 index 0bfdc3fc1..000000000 Binary files a/priv/static/static/js/28.e575fccfc5c48ba080e1.js.map and /dev/null differ diff --git a/priv/static/static/js/28.ed355decbad274c26485.js b/priv/static/static/js/28.ed355decbad274c26485.js new file mode 100644 index 000000000..e4cfd3d70 Binary files /dev/null and b/priv/static/static/js/28.ed355decbad274c26485.js differ diff --git a/priv/static/static/js/28.ed355decbad274c26485.js.map b/priv/static/static/js/28.ed355decbad274c26485.js.map new file mode 100644 index 000000000..0349f2c68 Binary files /dev/null and b/priv/static/static/js/28.ed355decbad274c26485.js.map differ diff --git a/priv/static/static/js/29.39c1e87a689c840395b2.js.map b/priv/static/static/js/29.39c1e87a689c840395b2.js.map deleted file mode 100644 index 5901ce9b7..000000000 Binary files a/priv/static/static/js/29.39c1e87a689c840395b2.js.map and /dev/null differ diff --git a/priv/static/static/js/29.39c1e87a689c840395b2.js b/priv/static/static/js/29.d3d8f3c066d579644c9a.js similarity index 99% rename from priv/static/static/js/29.39c1e87a689c840395b2.js rename to priv/static/static/js/29.d3d8f3c066d579644c9a.js index ddb512279..8a8a3b51f 100644 Binary files a/priv/static/static/js/29.39c1e87a689c840395b2.js and b/priv/static/static/js/29.d3d8f3c066d579644c9a.js differ diff --git a/priv/static/static/js/29.d3d8f3c066d579644c9a.js.map b/priv/static/static/js/29.d3d8f3c066d579644c9a.js.map new file mode 100644 index 000000000..0ef69d368 Binary files /dev/null and b/priv/static/static/js/29.d3d8f3c066d579644c9a.js.map differ diff --git a/priv/static/static/js/3.c16fafd37452b101b5bc.js b/priv/static/static/js/3.0b1cb0c49b906b834801.js similarity index 99% rename from priv/static/static/js/3.c16fafd37452b101b5bc.js rename to priv/static/static/js/3.0b1cb0c49b906b834801.js index 8115aa69a..5b79d06b1 100644 Binary files a/priv/static/static/js/3.c16fafd37452b101b5bc.js and b/priv/static/static/js/3.0b1cb0c49b906b834801.js differ diff --git a/priv/static/static/js/3.c16fafd37452b101b5bc.js.map b/priv/static/static/js/3.0b1cb0c49b906b834801.js.map similarity index 99% rename from priv/static/static/js/3.c16fafd37452b101b5bc.js.map rename to priv/static/static/js/3.0b1cb0c49b906b834801.js.map index c1258b4d6..08e6ffdfe 100644 Binary files a/priv/static/static/js/3.c16fafd37452b101b5bc.js.map and b/priv/static/static/js/3.0b1cb0c49b906b834801.js.map differ diff --git a/priv/static/static/js/30.04694ca04ca2fb3b9695.js b/priv/static/static/js/30.04694ca04ca2fb3b9695.js new file mode 100644 index 000000000..cc60c675d Binary files /dev/null and b/priv/static/static/js/30.04694ca04ca2fb3b9695.js differ diff --git a/priv/static/static/js/30.04694ca04ca2fb3b9695.js.map b/priv/static/static/js/30.04694ca04ca2fb3b9695.js.map new file mode 100644 index 000000000..b347f4f84 Binary files /dev/null and b/priv/static/static/js/30.04694ca04ca2fb3b9695.js.map differ diff --git a/priv/static/static/js/30.b461727270655cb0f752.js b/priv/static/static/js/30.b461727270655cb0f752.js deleted file mode 100644 index 1baa0f5b1..000000000 Binary files a/priv/static/static/js/30.b461727270655cb0f752.js and /dev/null differ diff --git a/priv/static/static/js/30.b461727270655cb0f752.js.map b/priv/static/static/js/30.b461727270655cb0f752.js.map deleted file mode 100644 index 570e88f38..000000000 Binary files a/priv/static/static/js/30.b461727270655cb0f752.js.map and /dev/null differ diff --git a/priv/static/static/js/31.554145c52128030ca625.js b/priv/static/static/js/31.554145c52128030ca625.js deleted file mode 100644 index 46cfcc376..000000000 Binary files a/priv/static/static/js/31.554145c52128030ca625.js and /dev/null differ diff --git a/priv/static/static/js/31.554145c52128030ca625.js.map b/priv/static/static/js/31.554145c52128030ca625.js.map deleted file mode 100644 index f16ddae52..000000000 Binary files a/priv/static/static/js/31.554145c52128030ca625.js.map and /dev/null differ diff --git a/priv/static/static/js/31.ef44f6a2b08f7f78dd8e.js b/priv/static/static/js/31.ef44f6a2b08f7f78dd8e.js new file mode 100644 index 000000000..886c184d1 Binary files /dev/null and b/priv/static/static/js/31.ef44f6a2b08f7f78dd8e.js differ diff --git a/priv/static/static/js/31.ef44f6a2b08f7f78dd8e.js.map b/priv/static/static/js/31.ef44f6a2b08f7f78dd8e.js.map new file mode 100644 index 000000000..1a4bd1a0a Binary files /dev/null and b/priv/static/static/js/31.ef44f6a2b08f7f78dd8e.js.map differ diff --git a/priv/static/static/js/32.044555dd7095261d9faf.js b/priv/static/static/js/32.044555dd7095261d9faf.js new file mode 100644 index 000000000..6ca50349e Binary files /dev/null and b/priv/static/static/js/32.044555dd7095261d9faf.js differ diff --git a/priv/static/static/js/32.044555dd7095261d9faf.js.map b/priv/static/static/js/32.044555dd7095261d9faf.js.map new file mode 100644 index 000000000..f7f4094ee Binary files /dev/null and b/priv/static/static/js/32.044555dd7095261d9faf.js.map differ diff --git a/priv/static/static/js/4.e8cf78e629b76635765f.js b/priv/static/static/js/4.15e71ac865c2606c30a6.js similarity index 83% rename from priv/static/static/js/4.e8cf78e629b76635765f.js rename to priv/static/static/js/4.15e71ac865c2606c30a6.js index bb655979f..3406cc065 100644 Binary files a/priv/static/static/js/4.e8cf78e629b76635765f.js and b/priv/static/static/js/4.15e71ac865c2606c30a6.js differ diff --git a/priv/static/static/js/4.e8cf78e629b76635765f.js.map b/priv/static/static/js/4.15e71ac865c2606c30a6.js.map similarity index 99% rename from priv/static/static/js/4.e8cf78e629b76635765f.js.map rename to priv/static/static/js/4.15e71ac865c2606c30a6.js.map index 61ef570d8..023d90430 100644 Binary files a/priv/static/static/js/4.e8cf78e629b76635765f.js.map and b/priv/static/static/js/4.15e71ac865c2606c30a6.js.map differ diff --git a/priv/static/static/js/5.2e165bc072548e533dd4.js b/priv/static/static/js/5.e116ac5b71f5e62029a1.js similarity index 98% rename from priv/static/static/js/5.2e165bc072548e533dd4.js rename to priv/static/static/js/5.e116ac5b71f5e62029a1.js index cfd84226c..acd64094e 100644 Binary files a/priv/static/static/js/5.2e165bc072548e533dd4.js and b/priv/static/static/js/5.e116ac5b71f5e62029a1.js differ diff --git a/priv/static/static/js/5.2e165bc072548e533dd4.js.map b/priv/static/static/js/5.e116ac5b71f5e62029a1.js.map similarity index 57% rename from priv/static/static/js/5.2e165bc072548e533dd4.js.map rename to priv/static/static/js/5.e116ac5b71f5e62029a1.js.map index 49959c78e..0017a3bfd 100644 Binary files a/priv/static/static/js/5.2e165bc072548e533dd4.js.map and b/priv/static/static/js/5.e116ac5b71f5e62029a1.js.map differ diff --git a/priv/static/static/js/6.260ccd84f8cd2af27970.js b/priv/static/static/js/6.4e804674e0bff336a51b.js similarity index 99% rename from priv/static/static/js/6.260ccd84f8cd2af27970.js rename to priv/static/static/js/6.4e804674e0bff336a51b.js index fb4a690f4..b33bbd652 100644 Binary files a/priv/static/static/js/6.260ccd84f8cd2af27970.js and b/priv/static/static/js/6.4e804674e0bff336a51b.js differ diff --git a/priv/static/static/js/6.260ccd84f8cd2af27970.js.map b/priv/static/static/js/6.4e804674e0bff336a51b.js.map similarity index 57% rename from priv/static/static/js/6.260ccd84f8cd2af27970.js.map rename to priv/static/static/js/6.4e804674e0bff336a51b.js.map index 850fe731a..bbb049a88 100644 Binary files a/priv/static/static/js/6.260ccd84f8cd2af27970.js.map and b/priv/static/static/js/6.4e804674e0bff336a51b.js.map differ diff --git a/priv/static/static/js/7.1c41eff6cfc75a00bde4.js b/priv/static/static/js/7.e8595e0b6e063c6d9478.js similarity index 99% rename from priv/static/static/js/7.1c41eff6cfc75a00bde4.js rename to priv/static/static/js/7.e8595e0b6e063c6d9478.js index 317770a53..7622e0d7a 100644 Binary files a/priv/static/static/js/7.1c41eff6cfc75a00bde4.js and b/priv/static/static/js/7.e8595e0b6e063c6d9478.js differ diff --git a/priv/static/static/js/7.1c41eff6cfc75a00bde4.js.map b/priv/static/static/js/7.e8595e0b6e063c6d9478.js.map similarity index 57% rename from priv/static/static/js/7.1c41eff6cfc75a00bde4.js.map rename to priv/static/static/js/7.e8595e0b6e063c6d9478.js.map index 36f327b3f..40327d1fd 100644 Binary files a/priv/static/static/js/7.1c41eff6cfc75a00bde4.js.map and b/priv/static/static/js/7.e8595e0b6e063c6d9478.js.map differ diff --git a/priv/static/static/js/8.9b35c2fee24ab7481e00.js b/priv/static/static/js/8.2d08c6fbb6b6ef23752f.js similarity index 99% rename from priv/static/static/js/8.9b35c2fee24ab7481e00.js rename to priv/static/static/js/8.2d08c6fbb6b6ef23752f.js index cb7844ffc..085a9e004 100644 Binary files a/priv/static/static/js/8.9b35c2fee24ab7481e00.js and b/priv/static/static/js/8.2d08c6fbb6b6ef23752f.js differ diff --git a/priv/static/static/js/8.9b35c2fee24ab7481e00.js.map b/priv/static/static/js/8.2d08c6fbb6b6ef23752f.js.map similarity index 57% rename from priv/static/static/js/8.9b35c2fee24ab7481e00.js.map rename to priv/static/static/js/8.2d08c6fbb6b6ef23752f.js.map index 65f4d5ae9..50222e2be 100644 Binary files a/priv/static/static/js/8.9b35c2fee24ab7481e00.js.map and b/priv/static/static/js/8.2d08c6fbb6b6ef23752f.js.map differ diff --git a/priv/static/static/js/9.7d9dd95c4a1c9aa47453.js b/priv/static/static/js/9.7d9dd95c4a1c9aa47453.js new file mode 100644 index 000000000..41ab62b92 Binary files /dev/null and b/priv/static/static/js/9.7d9dd95c4a1c9aa47453.js differ diff --git a/priv/static/static/js/9.7d9dd95c4a1c9aa47453.js.map b/priv/static/static/js/9.7d9dd95c4a1c9aa47453.js.map new file mode 100644 index 000000000..c215e9a03 Binary files /dev/null and b/priv/static/static/js/9.7d9dd95c4a1c9aa47453.js.map differ diff --git a/priv/static/static/js/9.fce4dde4ce07554d517f.js b/priv/static/static/js/9.fce4dde4ce07554d517f.js deleted file mode 100644 index ebf9272c9..000000000 Binary files a/priv/static/static/js/9.fce4dde4ce07554d517f.js and /dev/null differ diff --git a/priv/static/static/js/9.fce4dde4ce07554d517f.js.map b/priv/static/static/js/9.fce4dde4ce07554d517f.js.map deleted file mode 100644 index ac0899d25..000000000 Binary files a/priv/static/static/js/9.fce4dde4ce07554d517f.js.map and /dev/null differ diff --git a/priv/static/static/js/app.8f473d84b69949770654.js b/priv/static/static/js/app.8f473d84b69949770654.js new file mode 100644 index 000000000..1ebed8ece Binary files /dev/null and b/priv/static/static/js/app.8f473d84b69949770654.js differ diff --git a/priv/static/static/js/app.8f473d84b69949770654.js.map b/priv/static/static/js/app.8f473d84b69949770654.js.map new file mode 100644 index 000000000..2a6a034d7 Binary files /dev/null and b/priv/static/static/js/app.8f473d84b69949770654.js.map differ diff --git a/priv/static/static/js/app.c4f570328dc17a633803.js b/priv/static/static/js/app.c4f570328dc17a633803.js deleted file mode 100644 index a3cd5f5ee..000000000 Binary files a/priv/static/static/js/app.c4f570328dc17a633803.js and /dev/null differ diff --git a/priv/static/static/js/app.c4f570328dc17a633803.js.map b/priv/static/static/js/app.c4f570328dc17a633803.js.map deleted file mode 100644 index 5d215f8ac..000000000 Binary files a/priv/static/static/js/app.c4f570328dc17a633803.js.map and /dev/null differ diff --git a/priv/static/static/js/vendors~app.4103f03e428eb765f04d.js.map b/priv/static/static/js/vendors~app.4103f03e428eb765f04d.js.map deleted file mode 100644 index 43c374b39..000000000 Binary files a/priv/static/static/js/vendors~app.4103f03e428eb765f04d.js.map and /dev/null differ diff --git a/priv/static/static/js/vendors~app.4103f03e428eb765f04d.js b/priv/static/static/js/vendors~app.54838a79dee084ec3dad.js similarity index 86% rename from priv/static/static/js/vendors~app.4103f03e428eb765f04d.js rename to priv/static/static/js/vendors~app.54838a79dee084ec3dad.js index 8884654a1..38dd65643 100644 Binary files a/priv/static/static/js/vendors~app.4103f03e428eb765f04d.js and b/priv/static/static/js/vendors~app.54838a79dee084ec3dad.js differ diff --git a/priv/static/static/js/vendors~app.54838a79dee084ec3dad.js.map b/priv/static/static/js/vendors~app.54838a79dee084ec3dad.js.map new file mode 100644 index 000000000..35b5fd52f Binary files /dev/null and b/priv/static/static/js/vendors~app.54838a79dee084ec3dad.js.map differ diff --git a/priv/static/sw-pleroma.js b/priv/static/sw-pleroma.js index e35f11e38..ddcf0260d 100644 Binary files a/priv/static/sw-pleroma.js and b/priv/static/sw-pleroma.js differ diff --git a/priv/static/sw-pleroma.js.map b/priv/static/sw-pleroma.js.map index 2e4aaeff9..112af6a0c 100644 Binary files a/priv/static/sw-pleroma.js.map and b/priv/static/sw-pleroma.js.map differ diff --git a/test/pleroma/web/activity_pub/mrf/steal_emoji_policy_test.exs b/test/pleroma/web/activity_pub/mrf/steal_emoji_policy_test.exs index 3f8222736..7665d00d0 100644 --- a/test/pleroma/web/activity_pub/mrf/steal_emoji_policy_test.exs +++ b/test/pleroma/web/activity_pub/mrf/steal_emoji_policy_test.exs @@ -6,6 +6,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.StealEmojiPolicyTest do use Pleroma.DataCase alias Pleroma.Config + alias Pleroma.Emoji alias Pleroma.Web.ActivityPub.MRF.StealEmojiPolicy setup_all do @@ -14,55 +15,91 @@ defmodule Pleroma.Web.ActivityPub.MRF.StealEmojiPolicyTest do end setup do - emoji_path = Path.join(Config.get([:instance, :static_dir]), "emoji/stolen") - File.rm_rf!(emoji_path) - File.mkdir!(emoji_path) + emoji_path = [:instance, :static_dir] |> Config.get() |> Path.join("emoji/stolen") - Pleroma.Emoji.reload() + Emoji.reload() + + message = %{ + "type" => "Create", + "object" => %{ + "emoji" => [{"firedfox", "https://example.org/emoji/firedfox.png"}], + "actor" => "https://example.org/users/admin" + } + } on_exit(fn -> File.rm_rf!(emoji_path) end) - :ok + [message: message, path: emoji_path] end - test "does nothing by default" do - installed_emoji = Pleroma.Emoji.get_all() |> Enum.map(fn {k, _} -> k end) - refute "firedfox" in installed_emoji + test "does nothing by default", %{message: message} do + refute "firedfox" in installed() - message = %{ - "type" => "Create", - "object" => %{ - "emoji" => [{"firedfox", "https://example.org/emoji/firedfox.png"}], - "actor" => "https://example.org/users/admin" - } - } + assert {:ok, _message} = StealEmojiPolicy.filter(message) - assert {:ok, message} == StealEmojiPolicy.filter(message) - - installed_emoji = Pleroma.Emoji.get_all() |> Enum.map(fn {k, _} -> k end) - refute "firedfox" in installed_emoji + refute "firedfox" in installed() end - test "Steals emoji on unknown shortcode from allowed remote host" do - installed_emoji = Pleroma.Emoji.get_all() |> Enum.map(fn {k, _} -> k end) - refute "firedfox" in installed_emoji + test "Steals emoji on unknown shortcode from allowed remote host", %{ + message: message, + path: path + } do + refute "firedfox" in installed() + refute File.exists?(path) - message = %{ - "type" => "Create", - "object" => %{ - "emoji" => [{"firedfox", "https://example.org/emoji/firedfox.png"}], - "actor" => "https://example.org/users/admin" - } - } + clear_config(:mrf_steal_emoji, hosts: ["example.org"], size_limit: 284_468) - clear_config([:mrf_steal_emoji, :hosts], ["example.org"]) - clear_config([:mrf_steal_emoji, :size_limit], 284_468) + assert {:ok, _message} = StealEmojiPolicy.filter(message) - assert {:ok, message} == StealEmojiPolicy.filter(message) + assert "firedfox" in installed() + assert File.exists?(path) - installed_emoji = Pleroma.Emoji.get_all() |> Enum.map(fn {k, _} -> k end) - assert "firedfox" in installed_emoji + assert path + |> Path.join("firedfox.png") + |> File.exists?() end + + test "reject shortcode", %{message: message} do + refute "firedfox" in installed() + + clear_config(:mrf_steal_emoji, + hosts: ["example.org"], + size_limit: 284_468, + rejected_shortcodes: [~r/firedfox/] + ) + + assert {:ok, _message} = StealEmojiPolicy.filter(message) + + refute "firedfox" in installed() + end + + test "reject if size is above the limit", %{message: message} do + refute "firedfox" in installed() + + clear_config(:mrf_steal_emoji, hosts: ["example.org"], size_limit: 50_000) + + assert {:ok, _message} = StealEmojiPolicy.filter(message) + + refute "firedfox" in installed() + end + + test "reject if host returns error", %{message: message} do + refute "firedfox" in installed() + + Tesla.Mock.mock(fn %{method: :get, url: "https://example.org/emoji/firedfox.png"} -> + {:ok, %Tesla.Env{status: 404, body: "Not found"}} + end) + + clear_config(:mrf_steal_emoji, hosts: ["example.org"], size_limit: 284_468) + + ExUnit.CaptureLog.capture_log(fn -> + assert {:ok, _message} = StealEmojiPolicy.filter(message) + end) =~ "MRF.StealEmojiPolicy: Failed to fetch https://example.org/emoji/firedfox.png" + + refute "firedfox" in installed() + end + + defp installed, do: Emoji.get_all() |> Enum.map(fn {k, _} -> k end) end