X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fhtml.ex;h=2dfdca6930bd2c147dccd09941cca62bf6054a9e;hb=2217b35bd40593f5dcfdba4c13dd7b7bded018f3;hp=43e9145be6503f9cd85fbd879303b4e8b32112ca;hpb=e198ba492e5cb1b6ff81775db08298bfcdf1454a;p=akkoma diff --git a/lib/pleroma/html.ex b/lib/pleroma/html.ex index 43e9145be..2dfdca693 100644 --- a/lib/pleroma/html.ex +++ b/lib/pleroma/html.ex @@ -1,11 +1,13 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.HTML do # Scrubbers are compiled on boot so they can be configured in OTP releases # @on_load :compile_scrubbers + @cachex Pleroma.Config.get([:cachex, :provider], Cachex) + def compile_scrubbers do dir = Path.join(:code.priv_dir(:pleroma), "scrubbers") @@ -56,8 +58,8 @@ defmodule Pleroma.HTML do ) do key = "#{key}#{generate_scrubber_signature(scrubbers)}|#{activity.id}" - Cachex.fetch!(:scrubber_cache, key, fn _key -> - object = Pleroma.Object.normalize(activity) + @cachex.fetch!(:scrubber_cache, key, fn _key -> + object = Pleroma.Object.normalize(activity, fetch: false) ensure_scrubbed_html(content, scrubbers, object.data["fake"] || false, callback) end) end @@ -105,7 +107,7 @@ defmodule Pleroma.HTML do unless object.data["fake"] do key = "URL|#{object.id}" - Cachex.fetch!(:scrubber_cache, key, fn _key -> + @cachex.fetch!(:scrubber_cache, key, fn _key -> {:commit, {:ok, extract_first_external_url(content)}} end) else