Verified Commit a17910a6 authored by Haelwenn's avatar Haelwenn
Browse files

CI: Bump lint stage to elixir-1.12

Elixir 1.12 changed formatting rules, this allows to avoid having to rollback to run `mix format`
parent bdaa7e53
Pipeline #37721 skipped with stages
...@@ -134,6 +134,7 @@ unit-testing-rum: ...@@ -134,6 +134,7 @@ unit-testing-rum:
- mix test --preload-modules - mix test --preload-modules
lint: lint:
image: elixir:1.12
stage: test stage: test
only: only:
changes: changes:
......
...@@ -286,9 +286,7 @@ defp migrate_from_db(opts) do ...@@ -286,9 +286,7 @@ defp migrate_from_db(opts) do
file = File.open!(tmp_config_path) file = File.open!(tmp_config_path)
shell_info( shell_info(
"Saving database configuration settings to #{tmp_config_path}. Copy it to the #{ "Saving database configuration settings to #{tmp_config_path}. Copy it to the #{Path.dirname(config_path)} manually."
Path.dirname(config_path)
} manually."
) )
write_config(file, tmp_config_path, opts) write_config(file, tmp_config_path, opts)
......
...@@ -51,9 +51,7 @@ def run(["new", nickname, email | rest]) do ...@@ -51,9 +51,7 @@ def run(["new", nickname, email | rest]) do
A user will be created with the following information: A user will be created with the following information:
- nickname: #{nickname} - nickname: #{nickname}
- email: #{email} - email: #{email}
- password: #{ - password: #{if(generated_password?, do: "[generated; a reset link will be created]", else: password)}
if(generated_password?, do: "[generated; a reset link will be created]", else: password)
}
- name: #{name} - name: #{name}
- bio: #{bio} - bio: #{bio}
- moderator: #{if(moderator?, do: "true", else: "false")} - moderator: #{if(moderator?, do: "true", else: "false")}
...@@ -114,15 +112,9 @@ def run(["reset_password", nickname]) do ...@@ -114,15 +112,9 @@ def run(["reset_password", nickname]) do
{:ok, token} <- Pleroma.PasswordResetToken.create_token(user) do {:ok, token} <- Pleroma.PasswordResetToken.create_token(user) do
shell_info("Generated password reset token for #{user.nickname}") shell_info("Generated password reset token for #{user.nickname}")
IO.puts( IO.puts("URL: #{Pleroma.Web.Router.Helpers.reset_password_url(Pleroma.Web.Endpoint,
"URL: #{ :reset,
Pleroma.Web.Router.Helpers.reset_password_url( token.token)}")
Pleroma.Web.Endpoint,
:reset,
token.token
)
}"
)
else else
_ -> _ ->
shell_error("No local user #{nickname}") shell_error("No local user #{nickname}")
...@@ -321,9 +313,7 @@ def run(["invites"]) do ...@@ -321,9 +313,7 @@ def run(["invites"]) do
end end
shell_info( shell_info(
"ID: #{invite.id} | Token: #{invite.token} | Token type: #{invite.invite_type} | Used: #{ "ID: #{invite.id} | Token: #{invite.token} | Token type: #{invite.invite_type} | Used: #{invite.used}#{expire_info}#{using_info}"
invite.used
}#{expire_info}#{using_info}"
) )
end) end)
end end
...@@ -424,9 +414,7 @@ def run(["list"]) do ...@@ -424,9 +414,7 @@ def run(["list"]) do
users users
|> Enum.each(fn user -> |> Enum.each(fn user ->
shell_info( shell_info(
"#{user.nickname} moderator: #{user.is_moderator}, admin: #{user.is_admin}, locked: #{ "#{user.nickname} moderator: #{user.is_moderator}, admin: #{user.is_admin}, locked: #{user.is_locked}, is_active: #{user.is_active}"
user.is_locked
}, is_active: #{user.is_active}"
) )
end) end)
end) end)
......
...@@ -19,9 +19,7 @@ def on_shell(username, _pubkey, _ip, _port) do ...@@ -19,9 +19,7 @@ def on_shell(username, _pubkey, _ip, _port) do
def on_connect(username, ip, port, method) do def on_connect(username, ip, port, method) do
Logger.debug(fn -> Logger.debug(fn ->
""" """
Incoming SSH shell #{inspect(self())} requested for #{username} from #{inspect(ip)}:#{ Incoming SSH shell #{inspect(self())} requested for #{username} from #{inspect(ip)}:#{inspect(port)} using #{inspect(method)}
inspect(port)
} using #{inspect(method)}
""" """
end) end)
end end
......
...@@ -21,9 +21,7 @@ def warn do ...@@ -21,9 +21,7 @@ def warn do
""" """
!!!OBAN CONFIG WARNING!!! !!!OBAN CONFIG WARNING!!!
You are using old workers in Oban crontab settings, which were removed. You are using old workers in Oban crontab settings, which were removed.
Please, remove setting from crontab in your config file (prod.secret.exs): #{ Please, remove setting from crontab in your config file (prod.secret.exs): #{inspect(setting)}
inspect(setting)
}
""" """
|> Logger.warn() |> Logger.warn()
......
...@@ -148,9 +148,7 @@ defp update({group, key, value, merged}) do ...@@ -148,9 +148,7 @@ defp update({group, key, value, merged}) do
rescue rescue
error -> error ->
error_msg = error_msg =
"updating env causes error, group: #{inspect(group)}, key: #{inspect(key)}, value: #{ "updating env causes error, group: #{inspect(group)}, key: #{inspect(key)}, value: #{inspect(value)} error: #{inspect(error)}"
inspect(value)
} error: #{inspect(error)}"
Logger.warn(error_msg) Logger.warn(error_msg)
......
...@@ -60,9 +60,7 @@ def load do ...@@ -60,9 +60,7 @@ def load do
if not Enum.empty?(files) do if not Enum.empty?(files) do
Logger.warn( Logger.warn(
"Found files in the emoji folder. These will be ignored, please move them to a subdirectory\nFound files: #{ "Found files in the emoji folder. These will be ignored, please move them to a subdirectory\nFound files: #{Enum.join(files, ", ")}"
Enum.join(files, ", ")
}"
) )
end end
...@@ -122,9 +120,7 @@ defp load_pack(pack_dir, emoji_groups) do ...@@ -122,9 +120,7 @@ defp load_pack(pack_dir, emoji_groups) do
extensions = Config.get([:emoji, :pack_extensions]) extensions = Config.get([:emoji, :pack_extensions])
Logger.info( Logger.info(
"No emoji.txt found for pack \"#{pack_name}\", assuming all #{ "No emoji.txt found for pack \"#{pack_name}\", assuming all #{Enum.join(extensions, ", ")} files are emoji"
Enum.join(extensions, ", ")
} files are emoji"
) )
make_shortcode_to_file_map(pack_dir, extensions) make_shortcode_to_file_map(pack_dir, extensions)
......
...@@ -57,9 +57,7 @@ defp do_open(uri, %{proxy: {proxy_host, proxy_port}} = opts) do ...@@ -57,9 +57,7 @@ defp do_open(uri, %{proxy: {proxy_host, proxy_port}} = opts) do
else else
error -> error ->
Logger.warn( Logger.warn(
"Opening proxied connection to #{compose_uri_log(uri)} failed with error #{ "Opening proxied connection to #{compose_uri_log(uri)} failed with error #{inspect(error)}"
inspect(error)
}"
) )
error error
...@@ -93,9 +91,7 @@ defp do_open(uri, %{proxy: {proxy_type, proxy_host, proxy_port}} = opts) do ...@@ -93,9 +91,7 @@ defp do_open(uri, %{proxy: {proxy_type, proxy_host, proxy_port}} = opts) do
else else
error -> error ->
Logger.warn( Logger.warn(
"Opening socks proxied connection to #{compose_uri_log(uri)} failed with error #{ "Opening socks proxied connection to #{compose_uri_log(uri)} failed with error #{inspect(error)}"
inspect(error)
}"
) )
error error
......
...@@ -481,9 +481,7 @@ def get_log_entry_message(%ModerationLog{ ...@@ -481,9 +481,7 @@ def get_log_entry_message(%ModerationLog{
"visibility" => visibility "visibility" => visibility
} }
}) do }) do
"@#{actor_nickname} updated status ##{subject_id}, set sensitive: '#{sensitive}', visibility: '#{ "@#{actor_nickname} updated status ##{subject_id}, set sensitive: '#{sensitive}', visibility: '#{visibility}'"
visibility
}'"
end end
def get_log_entry_message(%ModerationLog{ def get_log_entry_message(%ModerationLog{
...@@ -523,9 +521,7 @@ def get_log_entry_message(%ModerationLog{ ...@@ -523,9 +521,7 @@ def get_log_entry_message(%ModerationLog{
"subject" => subjects "subject" => subjects
} }
}) do }) do
"@#{actor_nickname} re-sent confirmation email for users: #{ "@#{actor_nickname} re-sent confirmation email for users: #{users_to_nicknames_string(subjects)}"
users_to_nicknames_string(subjects)
}"
end end
def get_log_entry_message(%ModerationLog{ def get_log_entry_message(%ModerationLog{
......
...@@ -29,9 +29,7 @@ def handle_event( ...@@ -29,9 +29,7 @@ def handle_event(
_ _
) do ) do
Logger.debug(fn -> Logger.debug(fn ->
"Connection pool is exhausted (reached #{max_connections} connections). Starting idle connection cleanup to reclaim as much as #{ "Connection pool is exhausted (reached #{max_connections} connections). Starting idle connection cleanup to reclaim as much as #{reclaim_max} connections"
reclaim_max
} connections"
end) end)
end end
...@@ -73,9 +71,7 @@ def handle_event( ...@@ -73,9 +71,7 @@ def handle_event(
_ _
) do ) do
Logger.warn(fn -> Logger.warn(fn ->
"Pool worker for #{key}: Client #{inspect(client_pid)} died before releasing the connection with #{ "Pool worker for #{key}: Client #{inspect(client_pid)} died before releasing the connection with #{inspect(reason)}"
inspect(reason)
}"
end) end)
end end
......
...@@ -1597,9 +1597,7 @@ def maybe_handle_clashing_nickname(data) do ...@@ -1597,9 +1597,7 @@ def maybe_handle_clashing_nickname(data) do
%User{} = old_user <- User.get_by_nickname(nickname), %User{} = old_user <- User.get_by_nickname(nickname),
{_, false} <- {:ap_id_comparison, data[:ap_id] == old_user.ap_id} do {_, false} <- {:ap_id_comparison, data[:ap_id] == old_user.ap_id} do
Logger.info( Logger.info(
"Found an old user for #{nickname}, the old ap id is #{old_user.ap_id}, new one is #{ "Found an old user for #{nickname}, the old ap id is #{old_user.ap_id}, new one is #{data[:ap_id]}, renaming."
data[:ap_id]
}, renaming."
) )
old_user old_user
......
...@@ -157,9 +157,7 @@ def config_descriptions(policies) do ...@@ -157,9 +157,7 @@ def config_descriptions(policies) do
[description | acc] [description | acc]
else else
Logger.warn( Logger.warn(
"#{policy} config description doesn't have one or all required keys #{ "#{policy} config description doesn't have one or all required keys #{inspect(@required_description_keys)}"
inspect(@required_description_keys)
}"
) )
acc acc
......
...@@ -38,9 +38,7 @@ defp steal_emoji({shortcode, url}, emoji_dir_path) do ...@@ -38,9 +38,7 @@ defp steal_emoji({shortcode, url}, emoji_dir_path) do
end end
else else
Logger.debug( Logger.debug(
"MRF.StealEmojiPolicy: :#{shortcode}: at #{url} (#{byte_size(response.body)} B) over size limit (#{ "MRF.StealEmojiPolicy: :#{shortcode}: at #{url} (#{byte_size(response.body)} B) over size limit (#{size_limit} B)"
size_limit
} B)"
) )
nil nil
......
...@@ -23,9 +23,7 @@ defp lookup_subchain(actor) do ...@@ -23,9 +23,7 @@ defp lookup_subchain(actor) do
def filter(%{"actor" => actor} = message) do def filter(%{"actor" => actor} = message) do
with {:ok, match, subchain} <- lookup_subchain(actor) do with {:ok, match, subchain} <- lookup_subchain(actor) do
Logger.debug( Logger.debug(
"[SubchainPolicy] Matched #{actor} against #{inspect(match)} with subchain #{ "[SubchainPolicy] Matched #{actor} against #{inspect(match)} with subchain #{inspect(subchain)}"
inspect(subchain)
}"
) )
MRF.filter(subchain, message) MRF.filter(subchain, message)
......
...@@ -487,9 +487,7 @@ def remove_mute(user_id, activity_id) do ...@@ -487,9 +487,7 @@ def remove_mute(user_id, activity_id) do
else else
{what, result} = error -> {what, result} = error ->
Logger.warn( Logger.warn(
"CommonAPI.remove_mute/2 failed. #{what}: #{result}, user_id: #{user_id}, activity_id: #{ "CommonAPI.remove_mute/2 failed. #{what}: #{result}, user_id: #{user_id}, activity_id: #{activity_id}"
activity_id
}"
) )
{:error, error} {:error, error}
......
...@@ -49,9 +49,7 @@ def init(%{qs: qs} = req, state) do ...@@ -49,9 +49,7 @@ def init(%{qs: qs} = req, state) do
def websocket_init(state) do def websocket_init(state) do
Logger.debug( Logger.debug(
"#{__MODULE__} accepted websocket connection for user #{ "#{__MODULE__} accepted websocket connection for user #{(state.user || %{id: "anonymous"}).id}, topic #{state.topic}"
(state.user || %{id: "anonymous"}).id
}, topic #{state.topic}"
) )
Streamer.add_socket(state.topic, state.user) Streamer.add_socket(state.topic, state.user)
...@@ -106,9 +104,7 @@ def terminate(_reason, _req, []), do: :ok ...@@ -106,9 +104,7 @@ def terminate(_reason, _req, []), do: :ok
def terminate(reason, _req, state) do def terminate(reason, _req, state) do
Logger.debug( Logger.debug(
"#{__MODULE__} terminating websocket connection for user #{ "#{__MODULE__} terminating websocket connection for user #{(state.user || %{id: "anonymous"}).id}, topic #{state.topic || "?"}: #{inspect(reason)}"
(state.user || %{id: "anonymous"}).id
}, topic #{state.topic || "?"}: #{inspect(reason)}"
) )
Streamer.remove_socket(state.topic) Streamer.remove_socket(state.topic)
......
...@@ -14,9 +14,7 @@ def up do ...@@ -14,9 +14,7 @@ def up do
max = min + 10_000 max = min + 10_000
execute(""" execute("""
update activities set recipients = array(select jsonb_array_elements_text(data->'to')) where id > #{ update activities set recipients = array(select jsonb_array_elements_text(data->'to')) where id > #{min} and id <= #{max};
min
} and id <= #{max};
""") """)
|> IO.inspect() |> IO.inspect()
end) end)
......
...@@ -28,9 +28,7 @@ def change do ...@@ -28,9 +28,7 @@ def change do
{:ok, %{rows: ap_ids}} = {:ok, %{rows: ap_ids}} =
Ecto.Adapters.SQL.query( Ecto.Adapters.SQL.query(
Repo, Repo,
"select distinct unnest(nonexistent_locals.recipients) from activities, lateral (select array_agg(recipient) as recipients from unnest(activities.recipients) as recipient where recipient similar to '#{ "select distinct unnest(nonexistent_locals.recipients) from activities, lateral (select array_agg(recipient) as recipients from unnest(activities.recipients) as recipient where recipient similar to '#{instance_uri}/users/[A-Za-z0-9]*' and not(recipient in (select ap_id from users))) nonexistent_locals;",
instance_uri
}/users/[A-Za-z0-9]*' and not(recipient in (select ap_id from users))) nonexistent_locals;",
[], [],
timeout: :infinity timeout: :infinity
) )
......
...@@ -27,11 +27,7 @@ test "build report email" do ...@@ -27,11 +27,7 @@ test "build report email" do
assert res.subject == "#{config[:name]} Report" assert res.subject == "#{config[:name]} Report"
assert res.html_body == assert res.html_body ==
"<p>Reported by: <a href=\"#{reporter_url}\">#{reporter.nickname}</a></p>\n<p>Reported Account: <a href=\"#{ "<p>Reported by: <a href=\"#{reporter_url}\">#{reporter.nickname}</a></p>\n<p>Reported Account: <a href=\"#{account_url}\">#{account.nickname}</a></p>\n<p>Comment: Test comment\n<p> Statuses:\n <ul>\n <li><a href=\"#{status_url}\">#{status_url}</li>\n </ul>\n</p>\n\n<p>\n<a href=\"http://localhost:4001/pleroma/admin/#/reports/index\">View Reports in AdminFE</a>\n"
account_url
}\">#{account.nickname}</a></p>\n<p>Comment: Test comment\n<p> Statuses:\n <ul>\n <li><a href=\"#{
status_url
}\">#{status_url}</li>\n </ul>\n</p>\n\n<p>\n<a href=\"http://localhost:4001/pleroma/admin/#/reports/index\">View Reports in AdminFE</a>\n"
end end
test "it works when the reporter is a remote user without email" do test "it works when the reporter is a remote user without email" do
......
...@@ -151,13 +151,7 @@ test "gives a replacement for user links, using local nicknames in user links te ...@@ -151,13 +151,7 @@ test "gives a replacement for user links, using local nicknames in user links te
assert length(mentions) == 3 assert length(mentions) == 3
expected_text = expected_text =
~s(<span class="h-card"><a class="u-url mention" data-user="#{gsimg.id}" href="#{ ~s(<span class="h-card"><a class="u-url mention" data-user="#{gsimg.id}" href="#{gsimg.ap_id}" rel="ugc">@<span>gsimg</span></a></span> According to <span class="h-card"><a class="u-url mention" data-user="#{archaeme.id}" href="#{"https://archeme/@archa_eme_"}" rel="ugc">@<span>archa_eme_</span></a></span>, that is @daggsy. Also hello <span class="h-card"><a class="u-url mention" data-user="#{archaeme_remote.id}" href="#{archaeme_remote.ap_id}" rel="ugc">@<span>archaeme</span></a></span>)
gsimg.ap_id
}" rel="ugc">@<span>gsimg</span></a></span> According to <span class="h-card"><a class="u-url mention" data-user="#{
archaeme.id
}" href="#{"https://archeme/@archa_eme_"}" rel="ugc">@<span>archa_eme_</span></a></span>, that is @daggsy. Also hello <span class="h-card"><a class="u-url mention" data-user="#{
archaeme_remote.id
}" href="#{archaeme_remote.ap_id}" rel="ugc">@<span>archaeme</span></a></span>)
assert expected_text == text assert expected_text == text
end end
...@@ -172,9 +166,7 @@ test "gives a replacement for user links when the user is using Osada" do ...@@ -172,9 +166,7 @@ test "gives a replacement for user links when the user is using Osada" do
assert length(mentions) == 1 assert length(mentions) == 1
expected_text = expected_text =
~s(<span class="h-card"><a class="u-url mention" data-user="#{mike.id}" href="#{ ~s(<span class="h-card"><a class="u-url mention" data-user="#{mike.id}" href="#{mike.ap_id}" rel="ugc">@<span>mike</span></a></span> test)
mike.ap_id
}" rel="ugc">@<span>mike</span></a></span> test)
assert expected_text == text assert expected_text == text
end end
...@@ -210,13 +202,7 @@ test "given the 'safe_mention' option, it will only mention people in the beginn ...@@ -210,13 +202,7 @@ test "given the 'safe_mention' option, it will only mention people in the beginn
assert mentions == [{"@#{user.nickname}", user}, {"@#{other_user.nickname}", other_user}] assert mentions == [{"@#{user.nickname}", user}, {"@#{other_user.nickname}", other_user}]
assert expected_text == assert expected_text ==
~s(<span class="h-card"><a class="u-url mention" data-user="#{user.id}" href="#{ ~s(<span class="h-card"><a class="u-url mention" data-user="#{user.id}" href="#{user.ap_id}" rel="ugc">@<span>#{user.nickname}</span></a></span> <span class="h-card"><a class="u-url mention" data-user="#{other_user.id}" href="#{other_user.ap_id}" rel="ugc">@<span>#{other_user.nickname}</span></a></span> hey dudes i hate <span class="h-card"><a class="u-url mention" data-user="#{third_user.id}" href="#{third_user.ap_id}" rel="ugc">@<span>#{third_user.nickname}</span></a></span>)
user.ap_id
}" rel="ugc">@<span>#{user.nickname}</span></a></span> <span class="h-card"><a class="u-url mention" data-user="#{
other_user.id
}" href="#{other_user.ap_id}" rel="ugc">@<span>#{other_user.nickname}</span></a></span> hey dudes i hate <span class="h-card"><a class="u-url mention" data-user="#{
third_user.id
}" href="#{third_user.ap_id}" rel="ugc">@<span>#{third_user.nickname}</span></a></span>)
end end
test "given the 'safe_mention' option, it will still work without any mention" do test "given the 'safe_mention' option, it will still work without any mention" do
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment