Fix various issues reported by Dializer
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
@@ -108,15 +108,15 @@ defmodule Mobilizon.Federation.ActivityPub.Actor do
|
||||
@doc """
|
||||
Create an actor inside our database from username, using WebFinger to find out its AP ID and then fetch it
|
||||
"""
|
||||
@spec make_actor_from_nickname(nickname :: String.t(), preload :: boolean) ::
|
||||
@spec make_actor_from_nickname(nickname :: String.t(), options :: Keyword.t()) ::
|
||||
{:ok, Actor.t()} | {:error, make_actor_errors | WebFinger.finger_errors()}
|
||||
def make_actor_from_nickname(nickname, preload \\ false) do
|
||||
def make_actor_from_nickname(nickname, options \\ []) do
|
||||
Logger.debug("Fingering actor from nickname #{nickname}")
|
||||
|
||||
case WebFinger.finger(nickname) do
|
||||
{:ok, url} when is_binary(url) ->
|
||||
Logger.debug("Matched #{nickname} to URL #{url}, now making actor")
|
||||
make_actor_from_url(url, preload: preload)
|
||||
make_actor_from_url(url, options)
|
||||
|
||||
{:error, e} ->
|
||||
{:error, e}
|
||||
|
||||
@@ -20,7 +20,7 @@ defmodule Mobilizon.Federation.ActivityPub.Audience do
|
||||
@doc """
|
||||
Get audience for an entity
|
||||
"""
|
||||
@spec get_audience(Entity.t()) :: audience()
|
||||
@spec get_audience(Entity.t() | Participant.t()) :: audience()
|
||||
def get_audience(%Event{} = event) do
|
||||
extract_actors_from_event(event)
|
||||
end
|
||||
|
||||
@@ -190,7 +190,7 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
|
||||
|
||||
# If we're handling an activity
|
||||
@spec handling_element(map()) :: {:ok, any, struct} | :error
|
||||
@spec handling_element(String.t()) :: {:ok, struct} | {:error, any()}
|
||||
@spec handling_element(String.t()) :: {:ok, struct} | {:ok, atom, struct} | {:error, any()}
|
||||
defp handling_element(%{"type" => activity_type} = data)
|
||||
when activity_type in ["Create", "Update", "Delete"] do
|
||||
object = get_in(data, ["object"])
|
||||
|
||||
@@ -69,7 +69,8 @@ defmodule Mobilizon.GraphQL.API.Follows do
|
||||
)
|
||||
|
||||
case Actors.check_follow(follower, followed) do
|
||||
%Follower{approved: false} ->
|
||||
%Follower{approved: false} = follow ->
|
||||
Actors.delete_follower(follow)
|
||||
{:error, "Follow already rejected"}
|
||||
|
||||
%Follower{} = follow ->
|
||||
|
||||
@@ -130,7 +130,7 @@ defmodule Mix.Tasks.Mobilizon.Instance do
|
||||
options,
|
||||
:listen_port,
|
||||
"What port will the app listen to (leave it if you are using the default setup with nginx)?",
|
||||
4000
|
||||
"4000"
|
||||
)
|
||||
|
||||
instance_secret = :crypto.strong_rand_bytes(64) |> Base.encode64() |> binary_part(0, 64)
|
||||
|
||||
@@ -67,10 +67,6 @@ defmodule Mix.Tasks.Mobilizon.Users.New do
|
||||
{:error, %Ecto.Changeset{errors: errors}} ->
|
||||
shell_error(inspect(errors))
|
||||
shell_error("User has not been created because of the above reason.")
|
||||
|
||||
err ->
|
||||
shell_error(inspect(err))
|
||||
shell_error("User has not been created because of an unknown reason.")
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -1475,7 +1475,7 @@ defmodule Mobilizon.Actors do
|
||||
|> where([_q, ..., a], like(a.name, ^"%#{name}%") or like(a.preferred_username, ^"%#{name}%"))
|
||||
end
|
||||
|
||||
@spec join_members_actor(Ecto.Query.t()) :: Ecto.Query.t()
|
||||
@spec join_members_actor(Ecto.Queryable.t()) :: Ecto.Query.t()
|
||||
defp join_members_actor(query) do
|
||||
join(query, :inner, [q], a in Actor, on: q.actor_id == a.id)
|
||||
end
|
||||
|
||||
@@ -8,7 +8,12 @@ defmodule Mobilizon.Service.Workers.CleanUnconfirmedUsersWorker do
|
||||
|
||||
@impl Oban.Worker
|
||||
def perform(%Job{}) do
|
||||
if Mobilizon.Config.get!([:instance, :remove_unconfirmed_users]) and should_perform?() do
|
||||
remove_unconfirmed_users =
|
||||
:mobilizon
|
||||
|> Application.get_env(:instance)
|
||||
|> Keyword.get(:remove_unconfirmed_users, false)
|
||||
|
||||
if remove_unconfirmed_users and should_perform?() do
|
||||
CleanUnconfirmedUsers.clean()
|
||||
end
|
||||
end
|
||||
|
||||
@@ -41,7 +41,7 @@ defmodule Mobilizon.Service.Workers.Helper do
|
||||
|
||||
alias Oban.Job
|
||||
|
||||
@spec enqueue(String.t(), map(), Keyword.t()) ::
|
||||
@spec enqueue(String.t() | :atom, map(), Keyword.t()) ::
|
||||
{:ok, Job.t()} | {:error, Ecto.Changeset.t()}
|
||||
def enqueue(operation, params, worker_args \\ []) do
|
||||
params = Map.merge(%{"op" => operation}, params)
|
||||
|
||||
Reference in New Issue
Block a user