mirror of
https://git.pleroma.social/pleroma/pleroma.git
synced 2024-12-23 16:40:29 +00:00
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into features/validators-audio2
This commit is contained in:
commit
9aae342e7a
7 changed files with 34 additions and 19 deletions
|
@ -194,7 +194,7 @@ amd64:
|
||||||
variables: &release-variables
|
variables: &release-variables
|
||||||
MIX_ENV: prod
|
MIX_ENV: prod
|
||||||
before_script: &before-release
|
before_script: &before-release
|
||||||
- apt install cmake -y
|
- apt-get update && apt-get install -y cmake
|
||||||
- echo "import Mix.Config" > config/prod.secret.exs
|
- echo "import Mix.Config" > config/prod.secret.exs
|
||||||
- mix local.hex --force
|
- mix local.hex --force
|
||||||
- mix local.rebar --force
|
- mix local.rebar --force
|
||||||
|
|
|
@ -14,7 +14,7 @@ defmodule Mix.Pleroma do
|
||||||
:swoosh,
|
:swoosh,
|
||||||
:timex
|
:timex
|
||||||
]
|
]
|
||||||
@cachex_children ["object", "user"]
|
@cachex_children ["object", "user", "scrubber"]
|
||||||
@doc "Common functions to be reused in mix tasks"
|
@doc "Common functions to be reused in mix tasks"
|
||||||
def start_pleroma do
|
def start_pleroma do
|
||||||
Pleroma.Config.Holder.save_default()
|
Pleroma.Config.Holder.save_default()
|
||||||
|
|
|
@ -15,7 +15,7 @@ defmodule Mix.Tasks.Pleroma.Emoji do
|
||||||
{options, [], []} = parse_global_opts(args)
|
{options, [], []} = parse_global_opts(args)
|
||||||
|
|
||||||
url_or_path = options[:manifest] || default_manifest()
|
url_or_path = options[:manifest] || default_manifest()
|
||||||
manifest = fetch_and_decode(url_or_path)
|
manifest = fetch_and_decode!(url_or_path)
|
||||||
|
|
||||||
Enum.each(manifest, fn {name, info} ->
|
Enum.each(manifest, fn {name, info} ->
|
||||||
to_print = [
|
to_print = [
|
||||||
|
@ -42,7 +42,7 @@ defmodule Mix.Tasks.Pleroma.Emoji do
|
||||||
|
|
||||||
url_or_path = options[:manifest] || default_manifest()
|
url_or_path = options[:manifest] || default_manifest()
|
||||||
|
|
||||||
manifest = fetch_and_decode(url_or_path)
|
manifest = fetch_and_decode!(url_or_path)
|
||||||
|
|
||||||
for pack_name <- pack_names do
|
for pack_name <- pack_names do
|
||||||
if Map.has_key?(manifest, pack_name) do
|
if Map.has_key?(manifest, pack_name) do
|
||||||
|
@ -92,7 +92,7 @@ defmodule Mix.Tasks.Pleroma.Emoji do
|
||||||
])
|
])
|
||||||
)
|
)
|
||||||
|
|
||||||
files = fetch_and_decode(files_loc)
|
files = fetch_and_decode!(files_loc)
|
||||||
|
|
||||||
IO.puts(IO.ANSI.format(["Unpacking ", :bright, pack_name]))
|
IO.puts(IO.ANSI.format(["Unpacking ", :bright, pack_name]))
|
||||||
|
|
||||||
|
@ -243,9 +243,11 @@ defmodule Mix.Tasks.Pleroma.Emoji do
|
||||||
IO.puts("Emoji packs have been reloaded.")
|
IO.puts("Emoji packs have been reloaded.")
|
||||||
end
|
end
|
||||||
|
|
||||||
defp fetch_and_decode(from) do
|
defp fetch_and_decode!(from) do
|
||||||
with {:ok, json} <- fetch(from) do
|
with {:ok, json} <- fetch(from) do
|
||||||
Jason.decode!(json)
|
Jason.decode!(json)
|
||||||
|
else
|
||||||
|
{:error, error} -> raise "#{from} cannot be fetched. Error: #{error} occur."
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -107,6 +107,8 @@ defmodule Pleroma.Emails.UserEmail do
|
||||||
|> Enum.filter(&(&1.activity.data["type"] == "Create"))
|
|> Enum.filter(&(&1.activity.data["type"] == "Create"))
|
||||||
|> Enum.map(fn notification ->
|
|> Enum.map(fn notification ->
|
||||||
object = Pleroma.Object.normalize(notification.activity)
|
object = Pleroma.Object.normalize(notification.activity)
|
||||||
|
|
||||||
|
if not is_nil(object) do
|
||||||
object = update_in(object.data["content"], &format_links/1)
|
object = update_in(object.data["content"], &format_links/1)
|
||||||
|
|
||||||
%{
|
%{
|
||||||
|
@ -114,18 +116,25 @@ defmodule Pleroma.Emails.UserEmail do
|
||||||
object: object,
|
object: object,
|
||||||
from: User.get_by_ap_id(notification.activity.actor)
|
from: User.get_by_ap_id(notification.activity.actor)
|
||||||
}
|
}
|
||||||
|
end
|
||||||
end)
|
end)
|
||||||
|
|> Enum.filter(& &1)
|
||||||
|
|
||||||
followers =
|
followers =
|
||||||
notifications
|
notifications
|
||||||
|> Enum.filter(&(&1.activity.data["type"] == "Follow"))
|
|> Enum.filter(&(&1.activity.data["type"] == "Follow"))
|
||||||
|> Enum.map(fn notification ->
|
|> Enum.map(fn notification ->
|
||||||
|
from = User.get_by_ap_id(notification.activity.actor)
|
||||||
|
|
||||||
|
if not is_nil(from) do
|
||||||
%{
|
%{
|
||||||
data: notification,
|
data: notification,
|
||||||
object: Pleroma.Object.normalize(notification.activity),
|
object: Pleroma.Object.normalize(notification.activity),
|
||||||
from: User.get_by_ap_id(notification.activity.actor)
|
from: User.get_by_ap_id(notification.activity.actor)
|
||||||
}
|
}
|
||||||
|
end
|
||||||
end)
|
end)
|
||||||
|
|> Enum.filter(& &1)
|
||||||
|
|
||||||
unless Enum.empty?(mentions) do
|
unless Enum.empty?(mentions) do
|
||||||
styling = Config.get([__MODULE__, :styling])
|
styling = Config.get([__MODULE__, :styling])
|
||||||
|
|
|
@ -14,10 +14,10 @@ defmodule Pleroma.Emails.MailerTest do
|
||||||
subject: "Pleroma test email",
|
subject: "Pleroma test email",
|
||||||
to: [{"Test User", "user1@example.com"}]
|
to: [{"Test User", "user1@example.com"}]
|
||||||
}
|
}
|
||||||
setup do: clear_config([Pleroma.Emails.Mailer, :enabled])
|
setup do: clear_config([Pleroma.Emails.Mailer, :enabled], true)
|
||||||
|
|
||||||
test "not send email when mailer is disabled" do
|
test "not send email when mailer is disabled" do
|
||||||
Pleroma.Config.put([Pleroma.Emails.Mailer, :enabled], false)
|
clear_config([Pleroma.Emails.Mailer, :enabled], false)
|
||||||
Mailer.deliver(@email)
|
Mailer.deliver(@email)
|
||||||
:timer.sleep(100)
|
:timer.sleep(100)
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,8 @@ defmodule Mix.Tasks.Pleroma.DigestTest do
|
||||||
:ok
|
:ok
|
||||||
end
|
end
|
||||||
|
|
||||||
|
setup do: clear_config([Pleroma.Emails.Mailer, :enabled], true)
|
||||||
|
|
||||||
describe "pleroma.digest test" do
|
describe "pleroma.digest test" do
|
||||||
test "Sends digest to the given user" do
|
test "Sends digest to the given user" do
|
||||||
user1 = insert(:user)
|
user1 = insert(:user)
|
||||||
|
|
|
@ -16,6 +16,8 @@ defmodule Mix.Tasks.Pleroma.EmailTest do
|
||||||
:ok
|
:ok
|
||||||
end
|
end
|
||||||
|
|
||||||
|
setup do: clear_config([Pleroma.Emails.Mailer, :enabled], true)
|
||||||
|
|
||||||
describe "pleroma.email test" do
|
describe "pleroma.email test" do
|
||||||
test "Sends test email with no given address" do
|
test "Sends test email with no given address" do
|
||||||
mail_to = Config.get([:instance, :email])
|
mail_to = Config.get([:instance, :email])
|
||||||
|
|
Loading…
Reference in a new issue