Merge branch 'develop' into refactor/deactivated_user_field
This commit is contained in:
commit
537ba1c5e0
48 changed files with 1066 additions and 214 deletions
|
|
@ -297,7 +297,16 @@ defmodule Pleroma.Application do
|
|||
|
||||
@spec limiters_setup() :: :ok
|
||||
def limiters_setup do
|
||||
[Pleroma.Web.RichMedia.Helpers, Pleroma.Web.MediaProxy]
|
||||
|> Enum.each(&ConcurrentLimiter.new(&1, 1, 0))
|
||||
config = Config.get(ConcurrentLimiter, [])
|
||||
|
||||
[Pleroma.Web.RichMedia.Helpers, Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy]
|
||||
|> Enum.each(fn module ->
|
||||
mod_config = Keyword.get(config, module, [])
|
||||
|
||||
max_running = Keyword.get(mod_config, :max_running, 5)
|
||||
max_waiting = Keyword.get(mod_config, :max_waiting, 5)
|
||||
|
||||
ConcurrentLimiter.new(module, max_running, max_waiting)
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -40,7 +40,8 @@ defmodule Pleroma.Config.DeprecationWarnings do
|
|||
:ok <- check_welcome_message_config(),
|
||||
:ok <- check_gun_pool_options(),
|
||||
:ok <- check_activity_expiration_config(),
|
||||
:ok <- check_remote_ip_plug_name() do
|
||||
:ok <- check_remote_ip_plug_name(),
|
||||
:ok <- check_uploders_s3_public_endpoint() do
|
||||
:ok
|
||||
else
|
||||
_ ->
|
||||
|
|
@ -193,4 +194,25 @@ defmodule Pleroma.Config.DeprecationWarnings do
|
|||
warning_preface
|
||||
)
|
||||
end
|
||||
|
||||
@spec check_uploders_s3_public_endpoint() :: :ok | nil
|
||||
def check_uploders_s3_public_endpoint do
|
||||
s3_config = Pleroma.Config.get([Pleroma.Uploaders.S3])
|
||||
|
||||
use_old_config = Keyword.has_key?(s3_config, :public_endpoint)
|
||||
|
||||
if use_old_config do
|
||||
Logger.error("""
|
||||
!!!DEPRECATION WARNING!!!
|
||||
Your config is using the old setting for controlling the URL of media uploaded to your S3 bucket.\n
|
||||
Please make the following change at your earliest convenience.\n
|
||||
\n* `config :pleroma, Pleroma.Uploaders.S3, public_endpoint` is now equal to:
|
||||
\n* `config :pleroma, Pleroma.Upload, base_url`
|
||||
""")
|
||||
|
||||
:error
|
||||
else
|
||||
:ok
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -131,12 +131,7 @@ defmodule Pleroma.Upload do
|
|||
uploader: Keyword.get(opts, :uploader, Pleroma.Config.get([__MODULE__, :uploader])),
|
||||
filters: Keyword.get(opts, :filters, Pleroma.Config.get([__MODULE__, :filters])),
|
||||
description: Keyword.get(opts, :description),
|
||||
base_url:
|
||||
Keyword.get(
|
||||
opts,
|
||||
:base_url,
|
||||
Pleroma.Config.get([__MODULE__, :base_url], Pleroma.Web.base_url())
|
||||
)
|
||||
base_url: base_url()
|
||||
}
|
||||
end
|
||||
|
||||
|
|
@ -217,14 +212,7 @@ defmodule Pleroma.Upload do
|
|||
""
|
||||
end
|
||||
|
||||
prefix =
|
||||
if is_nil(Pleroma.Config.get([__MODULE__, :base_url])) do
|
||||
"media"
|
||||
else
|
||||
""
|
||||
end
|
||||
|
||||
[base_url, prefix, path]
|
||||
[base_url, path]
|
||||
|> Path.join()
|
||||
end
|
||||
|
||||
|
|
@ -241,13 +229,15 @@ defmodule Pleroma.Upload do
|
|||
|
||||
Pleroma.Uploaders.S3 ->
|
||||
bucket = Config.get([Pleroma.Uploaders.S3, :bucket])
|
||||
truncated_namespace = Config.get([Pleroma.Uploaders.S3, :truncated_namespace])
|
||||
namespace = Config.get([Pleroma.Uploaders.S3, :bucket_namespace])
|
||||
|
||||
bucket_with_namespace =
|
||||
cond do
|
||||
truncated_namespace = Config.get([Pleroma.Uploaders.S3, :truncated_namespace]) ->
|
||||
!is_nil(truncated_namespace) ->
|
||||
truncated_namespace
|
||||
|
||||
namespace = Config.get([Pleroma.Uploaders.S3, :bucket_namespace]) ->
|
||||
!is_nil(namespace) ->
|
||||
namespace <> ":" <> bucket
|
||||
|
||||
true ->
|
||||
|
|
@ -261,7 +251,7 @@ defmodule Pleroma.Upload do
|
|||
end
|
||||
|
||||
_ ->
|
||||
public_endpoint || upload_base_url
|
||||
public_endpoint || upload_base_url || Pleroma.Web.base_url() <> "/media/"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -290,15 +290,7 @@ defmodule Pleroma.User do
|
|||
def account_status(%User{is_active: false}), do: :deactivated
|
||||
def account_status(%User{password_reset_pending: true}), do: :password_reset_pending
|
||||
def account_status(%User{local: true, is_approved: false}), do: :approval_pending
|
||||
|
||||
def account_status(%User{local: true, is_confirmed: false}) do
|
||||
if Config.get([:instance, :account_activation_required]) do
|
||||
:confirmation_pending
|
||||
else
|
||||
:active
|
||||
end
|
||||
end
|
||||
|
||||
def account_status(%User{local: true, is_confirmed: false}), do: :confirmation_pending
|
||||
def account_status(%User{}), do: :active
|
||||
|
||||
@spec visible_for(User.t(), User.t() | nil) ::
|
||||
|
|
|
|||
|
|
@ -139,6 +139,7 @@ defmodule Pleroma.User.Query do
|
|||
defp compose_query({:active, _}, query) do
|
||||
where(query, [u], u.is_active == true)
|
||||
|> where([u], u.is_approved == true)
|
||||
|> where([u], u.is_confirmed == true)
|
||||
end
|
||||
|
||||
defp compose_query({:legacy_active, _}, query) do
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy do
|
|||
if Pleroma.Config.get(:env) == :test do
|
||||
fetch(prefetch_url)
|
||||
else
|
||||
ConcurrentLimiter.limit(MediaProxy, fn ->
|
||||
ConcurrentLimiter.limit(__MODULE__, fn ->
|
||||
Task.start(fn -> fetch(prefetch_url) end)
|
||||
end)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ defmodule Pleroma.Web.ApiSpec.StatusOperation do
|
|||
request_body("Parameters", %Schema{
|
||||
type: :object,
|
||||
properties: %{
|
||||
visibility: %Schema{allOf: [VisibilityScope], default: "public"}
|
||||
visibility: %Schema{allOf: [VisibilityScope]}
|
||||
}
|
||||
}),
|
||||
responses: %{
|
||||
|
|
|
|||
|
|
@ -491,7 +491,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
|
|||
def build_tags(object_tags) when is_list(object_tags) do
|
||||
object_tags
|
||||
|> Enum.filter(&is_binary/1)
|
||||
|> Enum.map(&%{name: &1, url: "/tag/#{URI.encode(&1)}"})
|
||||
|> Enum.map(&%{name: &1, url: "#{Pleroma.Web.base_url()}/tag/#{URI.encode(&1)}"})
|
||||
end
|
||||
|
||||
def build_tags(_), do: []
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue