forked from AkkomaGang/akkoma
Merge branch 'feld-warnings' into 'develop'
Clean up warnings See merge request pleroma/pleroma!144
This commit is contained in:
commit
6c2903d9a1
30 changed files with 97 additions and 107 deletions
|
@ -1,6 +1,5 @@
|
||||||
defmodule Mix.Tasks.FixApUsers do
|
defmodule Mix.Tasks.FixApUsers do
|
||||||
use Mix.Task
|
use Mix.Task
|
||||||
import Mix.Ecto
|
|
||||||
import Ecto.Query
|
import Ecto.Query
|
||||||
alias Pleroma.{Repo, User}
|
alias Pleroma.{Repo, User}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
defmodule Mix.Tasks.GeneratePasswordReset do
|
defmodule Mix.Tasks.GeneratePasswordReset do
|
||||||
use Mix.Task
|
use Mix.Task
|
||||||
import Mix.Ecto
|
alias Pleroma.User
|
||||||
alias Pleroma.{Repo, User}
|
|
||||||
|
|
||||||
@shortdoc "Generate password reset link for user"
|
@shortdoc "Generate password reset link for user"
|
||||||
def run([nickname]) do
|
def run([nickname]) do
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
defmodule Mix.Tasks.RegisterUser do
|
defmodule Mix.Tasks.RegisterUser do
|
||||||
use Mix.Task
|
use Mix.Task
|
||||||
import Mix.Ecto
|
|
||||||
alias Pleroma.{Repo, User}
|
alias Pleroma.{Repo, User}
|
||||||
|
|
||||||
@shortdoc "Register user"
|
@shortdoc "Register user"
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
defmodule Mix.Tasks.RmUser do
|
defmodule Mix.Tasks.RmUser do
|
||||||
use Mix.Task
|
use Mix.Task
|
||||||
import Mix.Ecto
|
alias Pleroma.User
|
||||||
alias Pleroma.{User, Repo}
|
|
||||||
|
|
||||||
@shortdoc "Permanently delete a user"
|
@shortdoc "Permanently delete a user"
|
||||||
def run([nickname]) do
|
def run([nickname]) do
|
||||||
|
|
|
@ -65,12 +65,6 @@ def link(name, selector, type \\ 1) do
|
||||||
"#{type}#{name}\t#{selector}\t#{address}\t#{port}\r\n"
|
"#{type}#{name}\t#{selector}\t#{address}\t#{port}\r\n"
|
||||||
end
|
end
|
||||||
|
|
||||||
def response("") do
|
|
||||||
info("Welcome to #{Keyword.get(@instance, :name, "Pleroma")}!") <>
|
|
||||||
link("Public Timeline", "/main/public") <>
|
|
||||||
link("Federated Timeline", "/main/all") <> ".\r\n"
|
|
||||||
end
|
|
||||||
|
|
||||||
def render_activities(activities) do
|
def render_activities(activities) do
|
||||||
activities
|
activities
|
||||||
|> Enum.reverse()
|
|> Enum.reverse()
|
||||||
|
@ -93,6 +87,12 @@ def render_activities(activities) do
|
||||||
|> Enum.join("\r\n")
|
|> Enum.join("\r\n")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def response("") do
|
||||||
|
info("Welcome to #{Keyword.get(@instance, :name, "Pleroma")}!") <>
|
||||||
|
link("Public Timeline", "/main/public") <>
|
||||||
|
link("Federated Timeline", "/main/all") <> ".\r\n"
|
||||||
|
end
|
||||||
|
|
||||||
def response("/main/public") do
|
def response("/main/public") do
|
||||||
posts =
|
posts =
|
||||||
ActivityPub.fetch_public_activities(%{"type" => ["Create"], "local_only" => true})
|
ActivityPub.fetch_public_activities(%{"type" => ["Create"], "local_only" => true})
|
||||||
|
|
|
@ -7,11 +7,11 @@ def init(options) do
|
||||||
options
|
options
|
||||||
end
|
end
|
||||||
|
|
||||||
def call(%{assigns: %{valid_signature: true}} = conn, opts) do
|
def call(%{assigns: %{valid_signature: true}} = conn, _opts) do
|
||||||
conn
|
conn
|
||||||
end
|
end
|
||||||
|
|
||||||
def call(conn, opts) do
|
def call(conn, _opts) do
|
||||||
user = conn.params["actor"]
|
user = conn.params["actor"]
|
||||||
Logger.debug("Checking sig for #{user}")
|
Logger.debug("Checking sig for #{user}")
|
||||||
[signature | _] = get_req_header(conn, "signature")
|
[signature | _] = get_req_header(conn, "signature")
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
defmodule Pleroma.Stats do
|
defmodule Pleroma.Stats do
|
||||||
import Ecto.Query
|
import Ecto.Query
|
||||||
alias Pleroma.{User, Repo, Activity}
|
alias Pleroma.{User, Repo}
|
||||||
|
|
||||||
def start_link do
|
def start_link do
|
||||||
agent = Agent.start_link(fn -> {[], %{}} end, name: __MODULE__)
|
agent = Agent.start_link(fn -> {[], %{}} end, name: __MODULE__)
|
||||||
|
|
|
@ -66,7 +66,7 @@ def create(%{to: to, actor: actor, context: context, object: object} = params) d
|
||||||
),
|
),
|
||||||
{:ok, activity} <- insert(create_data, local),
|
{:ok, activity} <- insert(create_data, local),
|
||||||
:ok <- maybe_federate(activity),
|
:ok <- maybe_federate(activity),
|
||||||
{:ok, actor} <- User.increase_note_count(actor) do
|
{:ok, _actor} <- User.increase_note_count(actor) do
|
||||||
{:ok, activity}
|
{:ok, activity}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -177,7 +177,7 @@ def delete(%Object{data: %{"id" => id, "actor" => actor}} = object, local \\ tru
|
||||||
Repo.delete_all(Activity.all_non_create_by_object_ap_id_q(id)),
|
Repo.delete_all(Activity.all_non_create_by_object_ap_id_q(id)),
|
||||||
{:ok, activity} <- insert(data, local),
|
{:ok, activity} <- insert(data, local),
|
||||||
:ok <- maybe_federate(activity),
|
:ok <- maybe_federate(activity),
|
||||||
{:ok, actor} <- User.decrease_note_count(user) do
|
{:ok, _actor} <- User.decrease_note_count(user) do
|
||||||
{:ok, activity}
|
{:ok, activity}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -236,7 +236,7 @@ defp restrict_tag(query, %{"tag" => tag}) do
|
||||||
|
|
||||||
defp restrict_tag(query, _), do: query
|
defp restrict_tag(query, _), do: query
|
||||||
|
|
||||||
defp restrict_recipients(query, [], user), do: query
|
defp restrict_recipients(query, [], _user), do: query
|
||||||
|
|
||||||
defp restrict_recipients(query, recipients, nil) do
|
defp restrict_recipients(query, recipients, nil) do
|
||||||
from(activity in query, where: fragment("? && ?", ^recipients, activity.recipients))
|
from(activity in query, where: fragment("? && ?", ^recipients, activity.recipients))
|
||||||
|
@ -400,7 +400,7 @@ def fetch_and_prepare_user_from_ap_id(ap_id) do
|
||||||
end
|
end
|
||||||
|
|
||||||
def make_user_from_ap_id(ap_id) do
|
def make_user_from_ap_id(ap_id) do
|
||||||
if user = User.get_by_ap_id(ap_id) do
|
if _user = User.get_by_ap_id(ap_id) do
|
||||||
Transmogrifier.upgrade_user_from_ap_id(ap_id)
|
Transmogrifier.upgrade_user_from_ap_id(ap_id)
|
||||||
else
|
else
|
||||||
with {:ok, data} <- fetch_and_prepare_user_from_ap_id(ap_id) do
|
with {:ok, data} <- fetch_and_prepare_user_from_ap_id(ap_id) do
|
||||||
|
@ -496,7 +496,7 @@ def fetch_object_from_id(id) do
|
||||||
object = %Object{} ->
|
object = %Object{} ->
|
||||||
{:ok, object}
|
{:ok, object}
|
||||||
|
|
||||||
e ->
|
_e ->
|
||||||
Logger.info("Couldn't get object via AP, trying out OStatus fetching...")
|
Logger.info("Couldn't get object via AP, trying out OStatus fetching...")
|
||||||
|
|
||||||
case OStatus.fetch_activity_from_url(id) do
|
case OStatus.fetch_activity_from_url(id) do
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
defmodule Pleroma.Web.ActivityPub.ActivityPubController do
|
defmodule Pleroma.Web.ActivityPub.ActivityPubController do
|
||||||
use Pleroma.Web, :controller
|
use Pleroma.Web, :controller
|
||||||
alias Pleroma.{User, Repo, Object, Activity}
|
alias Pleroma.{User, Object}
|
||||||
alias Pleroma.Web.ActivityPub.{ObjectView, UserView, Transmogrifier}
|
alias Pleroma.Web.ActivityPub.{ObjectView, UserView}
|
||||||
alias Pleroma.Web.ActivityPub.ActivityPub
|
alias Pleroma.Web.ActivityPub.ActivityPub
|
||||||
alias Pleroma.Web.Federator
|
alias Pleroma.Web.Federator
|
||||||
|
|
||||||
|
|
|
@ -78,7 +78,7 @@ def filter(object) do
|
||||||
{:ok, object} <- check_ftl_removal(actor_info, object) do
|
{:ok, object} <- check_ftl_removal(actor_info, object) do
|
||||||
{:ok, object}
|
{:ok, object}
|
||||||
else
|
else
|
||||||
e -> {:reject, nil}
|
_e -> {:reject, nil}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -146,12 +146,12 @@ def handle_incoming(
|
||||||
end
|
end
|
||||||
|
|
||||||
def handle_incoming(
|
def handle_incoming(
|
||||||
%{"type" => "Like", "object" => object_id, "actor" => actor, "id" => id} = data
|
%{"type" => "Like", "object" => object_id, "actor" => actor, "id" => id} = _data
|
||||||
) do
|
) do
|
||||||
with %User{} = actor <- User.get_or_fetch_by_ap_id(actor),
|
with %User{} = actor <- User.get_or_fetch_by_ap_id(actor),
|
||||||
{:ok, object} <-
|
{:ok, object} <-
|
||||||
get_obj_helper(object_id) || ActivityPub.fetch_object_from_id(object_id),
|
get_obj_helper(object_id) || ActivityPub.fetch_object_from_id(object_id),
|
||||||
{:ok, activity, object} <- ActivityPub.like(actor, object, id, false) do
|
{:ok, activity, _object} <- ActivityPub.like(actor, object, id, false) do
|
||||||
{:ok, activity}
|
{:ok, activity}
|
||||||
else
|
else
|
||||||
_e -> :error
|
_e -> :error
|
||||||
|
@ -159,12 +159,12 @@ def handle_incoming(
|
||||||
end
|
end
|
||||||
|
|
||||||
def handle_incoming(
|
def handle_incoming(
|
||||||
%{"type" => "Announce", "object" => object_id, "actor" => actor, "id" => id} = data
|
%{"type" => "Announce", "object" => object_id, "actor" => actor, "id" => id} = _data
|
||||||
) do
|
) do
|
||||||
with %User{} = actor <- User.get_or_fetch_by_ap_id(actor),
|
with %User{} = actor <- User.get_or_fetch_by_ap_id(actor),
|
||||||
{:ok, object} <-
|
{:ok, object} <-
|
||||||
get_obj_helper(object_id) || ActivityPub.fetch_object_from_id(object_id),
|
get_obj_helper(object_id) || ActivityPub.fetch_object_from_id(object_id),
|
||||||
{:ok, activity, object} <- ActivityPub.announce(actor, object, id, false) do
|
{:ok, activity, _object} <- ActivityPub.announce(actor, object, id, false) do
|
||||||
{:ok, activity}
|
{:ok, activity}
|
||||||
else
|
else
|
||||||
_e -> :error
|
_e -> :error
|
||||||
|
@ -205,7 +205,7 @@ def handle_incoming(
|
||||||
|
|
||||||
# TODO: Make secure.
|
# TODO: Make secure.
|
||||||
def handle_incoming(
|
def handle_incoming(
|
||||||
%{"type" => "Delete", "object" => object_id, "actor" => actor, "id" => id} = data
|
%{"type" => "Delete", "object" => object_id, "actor" => actor, "id" => _id} = _data
|
||||||
) do
|
) do
|
||||||
object_id =
|
object_id =
|
||||||
case object_id do
|
case object_id do
|
||||||
|
@ -213,13 +213,13 @@ def handle_incoming(
|
||||||
id -> id
|
id -> id
|
||||||
end
|
end
|
||||||
|
|
||||||
with %User{} = actor <- User.get_or_fetch_by_ap_id(actor),
|
with %User{} = _actor <- User.get_or_fetch_by_ap_id(actor),
|
||||||
{:ok, object} <-
|
{:ok, object} <-
|
||||||
get_obj_helper(object_id) || ActivityPub.fetch_object_from_id(object_id),
|
get_obj_helper(object_id) || ActivityPub.fetch_object_from_id(object_id),
|
||||||
{:ok, activity} <- ActivityPub.delete(object, false) do
|
{:ok, activity} <- ActivityPub.delete(object, false) do
|
||||||
{:ok, activity}
|
{:ok, activity}
|
||||||
else
|
else
|
||||||
e -> :error
|
_e -> :error
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -257,10 +257,10 @@ def prepare_object(object) do
|
||||||
|> set_reply_to_uri
|
|> set_reply_to_uri
|
||||||
end
|
end
|
||||||
|
|
||||||
@doc
|
# @doc
|
||||||
"""
|
# """
|
||||||
internal -> Mastodon
|
# internal -> Mastodon
|
||||||
"""
|
# """
|
||||||
|
|
||||||
def prepare_outgoing(%{"type" => "Create", "object" => %{"type" => "Note"} = object} = data) do
|
def prepare_outgoing(%{"type" => "Create", "object" => %{"type" => "Note"} = object} = data) do
|
||||||
object =
|
object =
|
||||||
|
@ -275,7 +275,7 @@ def prepare_outgoing(%{"type" => "Create", "object" => %{"type" => "Note"} = obj
|
||||||
{:ok, data}
|
{:ok, data}
|
||||||
end
|
end
|
||||||
|
|
||||||
def prepare_outgoing(%{"type" => type} = data) do
|
def prepare_outgoing(%{"type" => _type} = data) do
|
||||||
data =
|
data =
|
||||||
data
|
data
|
||||||
|> maybe_fix_object_url
|
|> maybe_fix_object_url
|
||||||
|
@ -289,7 +289,7 @@ def maybe_fix_object_url(data) do
|
||||||
case ActivityPub.fetch_object_from_id(data["object"]) do
|
case ActivityPub.fetch_object_from_id(data["object"]) do
|
||||||
{:ok, relative_object} ->
|
{:ok, relative_object} ->
|
||||||
if relative_object.data["external_url"] do
|
if relative_object.data["external_url"] do
|
||||||
data =
|
_data =
|
||||||
data
|
data
|
||||||
|> Map.put("object", relative_object.data["external_url"])
|
|> Map.put("object", relative_object.data["external_url"])
|
||||||
else
|
else
|
||||||
|
|
|
@ -47,25 +47,6 @@ def render("user.json", %{user: user}) do
|
||||||
|> Map.merge(Utils.make_json_ld_header())
|
|> Map.merge(Utils.make_json_ld_header())
|
||||||
end
|
end
|
||||||
|
|
||||||
def collection(collection, iri, page, total \\ nil) do
|
|
||||||
offset = (page - 1) * 10
|
|
||||||
items = Enum.slice(collection, offset, 10)
|
|
||||||
items = Enum.map(items, fn user -> user.ap_id end)
|
|
||||||
total = total || length(collection)
|
|
||||||
|
|
||||||
map = %{
|
|
||||||
"id" => "#{iri}?page=#{page}",
|
|
||||||
"type" => "OrderedCollectionPage",
|
|
||||||
"partOf" => iri,
|
|
||||||
"totalItems" => length(collection),
|
|
||||||
"orderedItems" => items
|
|
||||||
}
|
|
||||||
|
|
||||||
if offset < length(collection) do
|
|
||||||
Map.put(map, "next", "#{iri}?page=#{page + 1}")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def render("following.json", %{user: user, page: page}) do
|
def render("following.json", %{user: user, page: page}) do
|
||||||
query = User.get_friends_query(user)
|
query = User.get_friends_query(user)
|
||||||
query = from(user in query, select: [:ap_id])
|
query = from(user in query, select: [:ap_id])
|
||||||
|
@ -165,4 +146,23 @@ def render("outbox.json", %{user: user, max_id: max_qid}) do
|
||||||
page |> Map.merge(Utils.make_json_ld_header())
|
page |> Map.merge(Utils.make_json_ld_header())
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def collection(collection, iri, page, _total \\ nil) do
|
||||||
|
offset = (page - 1) * 10
|
||||||
|
items = Enum.slice(collection, offset, 10)
|
||||||
|
items = Enum.map(items, fn user -> user.ap_id end)
|
||||||
|
total = _total || length(collection)
|
||||||
|
|
||||||
|
map = %{
|
||||||
|
"id" => "#{iri}?page=#{page}",
|
||||||
|
"type" => "OrderedCollectionPage",
|
||||||
|
"partOf" => iri,
|
||||||
|
"totalItems" => length(collection),
|
||||||
|
"orderedItems" => items
|
||||||
|
}
|
||||||
|
|
||||||
|
if offset < length(collection) do
|
||||||
|
Map.put(map, "next", "#{iri}?page=#{page + 1}")
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
defmodule Pleroma.Web.UserSocket do
|
defmodule Pleroma.Web.UserSocket do
|
||||||
use Phoenix.Socket
|
use Phoenix.Socket
|
||||||
alias Pleroma.User
|
alias Pleroma.User
|
||||||
alias Comeonin.Pbkdf2
|
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
# channel "room:*", Pleroma.Web.RoomChannel
|
# channel "room:*", Pleroma.Web.RoomChannel
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
defmodule Pleroma.Web.CommonAPI do
|
defmodule Pleroma.Web.CommonAPI do
|
||||||
alias Pleroma.{Repo, Activity, Object, User}
|
alias Pleroma.{Repo, Activity, Object}
|
||||||
alias Pleroma.Web.ActivityPub.ActivityPub
|
alias Pleroma.Web.ActivityPub.ActivityPub
|
||||||
alias Pleroma.Formatter
|
alias Pleroma.Formatter
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
defmodule Pleroma.Web.CommonAPI.Utils do
|
defmodule Pleroma.Web.CommonAPI.Utils do
|
||||||
alias Pleroma.{Repo, Object, Formatter, User, Activity}
|
alias Pleroma.{Repo, Object, Formatter, Activity}
|
||||||
alias Pleroma.Web.ActivityPub.Utils
|
alias Pleroma.Web.ActivityPub.Utils
|
||||||
alias Calendar.Strftime
|
alias Calendar.Strftime
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ def to_for_user_and_mentions(user, mentions, inReplyTo, "private") do
|
||||||
{[user.follower_address | to], cc}
|
{[user.follower_address | to], cc}
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_for_user_and_mentions(user, mentions, inReplyTo, "direct") do
|
def to_for_user_and_mentions(_user, mentions, inReplyTo, "direct") do
|
||||||
mentioned_users = Enum.map(mentions, fn {_, %{ap_id: ap_id}} -> ap_id end)
|
mentioned_users = Enum.map(mentions, fn {_, %{ap_id: ap_id}} -> ap_id end)
|
||||||
|
|
||||||
if inReplyTo do
|
if inReplyTo do
|
||||||
|
@ -69,7 +69,7 @@ def make_content_html(status, mentions, attachments, tags, no_attachment_links \
|
||||||
def make_context(%Activity{data: %{"context" => context}}), do: context
|
def make_context(%Activity{data: %{"context" => context}}), do: context
|
||||||
def make_context(_), do: Utils.generate_context_id()
|
def make_context(_), do: Utils.generate_context_id()
|
||||||
|
|
||||||
def maybe_add_attachments(text, attachments, _no_links = true), do: text
|
def maybe_add_attachments(text, _attachments, _no_links = true), do: text
|
||||||
|
|
||||||
def maybe_add_attachments(text, attachments, _no_links) do
|
def maybe_add_attachments(text, attachments, _no_links) do
|
||||||
add_attachments(text, attachments)
|
add_attachments(text, attachments)
|
||||||
|
|
|
@ -89,12 +89,12 @@ def handle(:incoming_ap_doc, params) do
|
||||||
|
|
||||||
with {:ok, _user} <- ap_enabled_actor(params["actor"]),
|
with {:ok, _user} <- ap_enabled_actor(params["actor"]),
|
||||||
nil <- Activity.get_by_ap_id(params["id"]),
|
nil <- Activity.get_by_ap_id(params["id"]),
|
||||||
{:ok, activity} <- Transmogrifier.handle_incoming(params) do
|
{:ok, _activity} <- Transmogrifier.handle_incoming(params) do
|
||||||
else
|
else
|
||||||
%Activity{} ->
|
%Activity{} ->
|
||||||
Logger.info("Already had #{params["id"]}")
|
Logger.info("Already had #{params["id"]}")
|
||||||
|
|
||||||
e ->
|
_e ->
|
||||||
# Just drop those for now
|
# Just drop those for now
|
||||||
Logger.info("Unhandled activity")
|
Logger.info("Unhandled activity")
|
||||||
Logger.info(Poison.encode!(params, pretty: 2))
|
Logger.info(Poison.encode!(params, pretty: 2))
|
||||||
|
@ -154,7 +154,7 @@ def maybe_start_job(running_jobs, queue) do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def handle_cast({:enqueue, type, payload, priority}, state)
|
def handle_cast({:enqueue, type, payload, _priority}, state)
|
||||||
when type in [:incoming_doc, :incoming_ap_doc] do
|
when type in [:incoming_doc, :incoming_ap_doc] do
|
||||||
%{in: {i_running_jobs, i_queue}, out: {o_running_jobs, o_queue}} = state
|
%{in: {i_running_jobs, i_queue}, out: {o_running_jobs, o_queue}} = state
|
||||||
i_queue = enqueue_sorted(i_queue, {type, payload}, 1)
|
i_queue = enqueue_sorted(i_queue, {type, payload}, 1)
|
||||||
|
@ -162,7 +162,7 @@ def handle_cast({:enqueue, type, payload, priority}, state)
|
||||||
{:noreply, %{in: {i_running_jobs, i_queue}, out: {o_running_jobs, o_queue}}}
|
{:noreply, %{in: {i_running_jobs, i_queue}, out: {o_running_jobs, o_queue}}}
|
||||||
end
|
end
|
||||||
|
|
||||||
def handle_cast({:enqueue, type, payload, priority}, state) do
|
def handle_cast({:enqueue, type, payload, _priority}, state) do
|
||||||
%{in: {i_running_jobs, i_queue}, out: {o_running_jobs, o_queue}} = state
|
%{in: {i_running_jobs, i_queue}, out: {o_running_jobs, o_queue}} = state
|
||||||
o_queue = enqueue_sorted(o_queue, {type, payload}, 1)
|
o_queue = enqueue_sorted(o_queue, {type, payload}, 1)
|
||||||
{o_running_jobs, o_queue} = maybe_start_job(o_running_jobs, o_queue)
|
{o_running_jobs, o_queue} = maybe_start_job(o_running_jobs, o_queue)
|
||||||
|
|
|
@ -45,7 +45,7 @@ def validate_conn(conn) do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
e ->
|
_e ->
|
||||||
Logger.debug("Could not public key!")
|
Logger.debug("Could not public key!")
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
|
|
@ -82,19 +82,6 @@ def render(
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_reply_to(activity, %{replied_to_activities: replied_to_activities}) do
|
|
||||||
id = activity.data["object"]["inReplyTo"]
|
|
||||||
replied_to_activities[activity.data["object"]["inReplyTo"]]
|
|
||||||
end
|
|
||||||
|
|
||||||
def get_reply_to(%{data: %{"object" => object}}, _) do
|
|
||||||
if object["inReplyTo"] && object["inReplyTo"] != "" do
|
|
||||||
Activity.get_create_activity_by_object_ap_id(object["inReplyTo"])
|
|
||||||
else
|
|
||||||
nil
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def render("status.json", %{activity: %{data: %{"object" => object}} = activity} = opts) do
|
def render("status.json", %{activity: %{data: %{"object" => object}} = activity} = opts) do
|
||||||
user = User.get_cached_by_ap_id(activity.data["actor"])
|
user = User.get_cached_by_ap_id(activity.data["actor"])
|
||||||
|
|
||||||
|
@ -164,19 +151,6 @@ def render("status.json", %{activity: %{data: %{"object" => object}} = activity}
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_visibility(object) do
|
|
||||||
public = "https://www.w3.org/ns/activitystreams#Public"
|
|
||||||
to = object["to"] || []
|
|
||||||
cc = object["cc"] || []
|
|
||||||
|
|
||||||
cond do
|
|
||||||
public in to -> "public"
|
|
||||||
public in cc -> "unlisted"
|
|
||||||
Enum.any?(to, &String.contains?(&1, "/followers")) -> "private"
|
|
||||||
true -> "direct"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def render("attachment.json", %{attachment: attachment}) do
|
def render("attachment.json", %{attachment: attachment}) do
|
||||||
[%{"mediaType" => media_type, "href" => href} | _] = attachment["url"]
|
[%{"mediaType" => media_type, "href" => href} | _] = attachment["url"]
|
||||||
|
|
||||||
|
@ -199,4 +173,30 @@ def render("attachment.json", %{attachment: attachment}) do
|
||||||
type: type
|
type: type
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def get_reply_to(activity, %{replied_to_activities: replied_to_activities}) do
|
||||||
|
_id = activity.data["object"]["inReplyTo"]
|
||||||
|
replied_to_activities[activity.data["object"]["inReplyTo"]]
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_reply_to(%{data: %{"object" => object}}, _) do
|
||||||
|
if object["inReplyTo"] && object["inReplyTo"] != "" do
|
||||||
|
Activity.get_create_activity_by_object_ap_id(object["inReplyTo"])
|
||||||
|
else
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_visibility(object) do
|
||||||
|
public = "https://www.w3.org/ns/activitystreams#Public"
|
||||||
|
to = object["to"] || []
|
||||||
|
cc = object["cc"] || []
|
||||||
|
|
||||||
|
cond do
|
||||||
|
public in to -> "public"
|
||||||
|
public in cc -> "unlisted"
|
||||||
|
Enum.any?(to, &String.contains?(&1, "/followers")) -> "private"
|
||||||
|
true -> "direct"
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
defmodule Pleroma.Web.Nodeinfo.NodeinfoController do
|
defmodule Pleroma.Web.Nodeinfo.NodeinfoController do
|
||||||
use Pleroma.Web, :controller
|
use Pleroma.Web, :controller
|
||||||
|
|
||||||
alias Pleroma.Web.Nodeinfo
|
|
||||||
alias Pleroma.Stats
|
alias Pleroma.Stats
|
||||||
alias Pleroma.Web
|
alias Pleroma.Web
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
defmodule Pleroma.Web.OStatus.ActivityRepresenter do
|
defmodule Pleroma.Web.OStatus.ActivityRepresenter do
|
||||||
alias Pleroma.{Activity, User, Object}
|
alias Pleroma.{Activity, User, Object}
|
||||||
alias Pleroma.Web.OStatus.UserRepresenter
|
alias Pleroma.Web.OStatus.UserRepresenter
|
||||||
alias Pleroma.Formatter
|
|
||||||
require Logger
|
require Logger
|
||||||
|
|
||||||
defp get_href(id) do
|
defp get_href(id) do
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
defmodule Pleroma.Web.OStatus.NoteHandler do
|
defmodule Pleroma.Web.OStatus.NoteHandler do
|
||||||
require Logger
|
require Logger
|
||||||
alias Pleroma.Web.{XML, OStatus}
|
alias Pleroma.Web.{XML, OStatus}
|
||||||
alias Pleroma.{Object, User, Activity}
|
alias Pleroma.{Object, Activity}
|
||||||
alias Pleroma.Web.ActivityPub.ActivityPub
|
alias Pleroma.Web.ActivityPub.ActivityPub
|
||||||
alias Pleroma.Web.ActivityPub.Utils
|
alias Pleroma.Web.ActivityPub.Utils
|
||||||
alias Pleroma.Web.CommonAPI
|
alias Pleroma.Web.CommonAPI
|
||||||
|
|
|
@ -8,7 +8,6 @@ defmodule Pleroma.Web.OStatus.OStatusController do
|
||||||
alias Pleroma.Web.XML
|
alias Pleroma.Web.XML
|
||||||
alias Pleroma.Web.ActivityPub.ActivityPubController
|
alias Pleroma.Web.ActivityPub.ActivityPubController
|
||||||
alias Pleroma.Web.ActivityPub.ActivityPub
|
alias Pleroma.Web.ActivityPub.ActivityPub
|
||||||
import Ecto.Query
|
|
||||||
|
|
||||||
def feed_redirect(conn, %{"nickname" => nickname} = params) do
|
def feed_redirect(conn, %{"nickname" => nickname} = params) do
|
||||||
user = User.get_cached_by_nickname(nickname)
|
user = User.get_cached_by_nickname(nickname)
|
||||||
|
|
|
@ -92,7 +92,7 @@ def do_remote_follow(conn, %{
|
||||||
|
|
||||||
with %User{} = user <- User.get_cached_by_nickname(username),
|
with %User{} = user <- User.get_cached_by_nickname(username),
|
||||||
true <- Pbkdf2.checkpw(password, user.password_hash),
|
true <- Pbkdf2.checkpw(password, user.password_hash),
|
||||||
%User{} = followed <- Repo.get(User, id),
|
%User{} = _followed <- Repo.get(User, id),
|
||||||
{:ok, follower} <- User.follow(user, followee),
|
{:ok, follower} <- User.follow(user, followee),
|
||||||
{:ok, _activity} <- ActivityPub.follow(follower, followee) do
|
{:ok, _activity} <- ActivityPub.follow(follower, followee) do
|
||||||
conn
|
conn
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
|
defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
|
||||||
alias Pleroma.{User, Activity, Repo, Object}
|
alias Pleroma.{User, Activity, Repo, Object}
|
||||||
alias Pleroma.Web.ActivityPub.ActivityPub
|
alias Pleroma.Web.ActivityPub.ActivityPub
|
||||||
alias Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter
|
|
||||||
alias Pleroma.Web.TwitterAPI.UserView
|
alias Pleroma.Web.TwitterAPI.UserView
|
||||||
alias Pleroma.Web.{OStatus, CommonAPI}
|
alias Pleroma.Web.{OStatus, CommonAPI}
|
||||||
import Ecto.Query
|
import Ecto.Query
|
||||||
|
@ -184,7 +183,7 @@ defp parse_int(string, default) when is_binary(string) do
|
||||||
|
|
||||||
defp parse_int(_, default), do: default
|
defp parse_int(_, default), do: default
|
||||||
|
|
||||||
def search(user, %{"q" => query} = params) do
|
def search(_user, %{"q" => query} = params) do
|
||||||
limit = parse_int(params["rpp"], 20)
|
limit = parse_int(params["rpp"], 20)
|
||||||
page = parse_int(params["page"], 1)
|
page = parse_int(params["page"], 1)
|
||||||
offset = (page - 1) * limit
|
offset = (page - 1) * limit
|
||||||
|
@ -206,7 +205,7 @@ def search(user, %{"q" => query} = params) do
|
||||||
order_by: [desc: :inserted_at]
|
order_by: [desc: :inserted_at]
|
||||||
)
|
)
|
||||||
|
|
||||||
activities = Repo.all(q)
|
_activities = Repo.all(q)
|
||||||
end
|
end
|
||||||
|
|
||||||
defp make_date do
|
defp make_date do
|
||||||
|
|
|
@ -31,7 +31,7 @@ defp query_users(user_ids) do
|
||||||
end
|
end
|
||||||
|
|
||||||
defp collect_context_ids(activities) do
|
defp collect_context_ids(activities) do
|
||||||
contexts =
|
_contexts =
|
||||||
activities
|
activities
|
||||||
|> Enum.reject(& &1.data["context_id"])
|
|> Enum.reject(& &1.data["context_id"])
|
||||||
|> Enum.map(fn %{data: data} ->
|
|> Enum.map(fn %{data: data} ->
|
||||||
|
|
|
@ -2,7 +2,6 @@ defmodule Pleroma.Web.TwitterAPI.NotificationView do
|
||||||
use Pleroma.Web, :view
|
use Pleroma.Web, :view
|
||||||
alias Pleroma.{Notification, User}
|
alias Pleroma.{Notification, User}
|
||||||
alias Pleroma.Web.CommonAPI.Utils
|
alias Pleroma.Web.CommonAPI.Utils
|
||||||
alias Pleroma.Web.MediaProxy
|
|
||||||
alias Pleroma.Web.TwitterAPI.UserView
|
alias Pleroma.Web.TwitterAPI.UserView
|
||||||
alias Pleroma.Web.TwitterAPI.ActivityView
|
alias Pleroma.Web.TwitterAPI.ActivityView
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
defmodule Pleroma.Web.WebFinger do
|
defmodule Pleroma.Web.WebFinger do
|
||||||
@httpoison Application.get_env(:pleroma, :httpoison)
|
@httpoison Application.get_env(:pleroma, :httpoison)
|
||||||
|
|
||||||
alias Pleroma.{Repo, User, XmlBuilder}
|
alias Pleroma.{User, XmlBuilder}
|
||||||
alias Pleroma.Web
|
alias Pleroma.Web
|
||||||
alias Pleroma.Web.{XML, Salmon, OStatus}
|
alias Pleroma.Web.{XML, Salmon, OStatus}
|
||||||
require Jason
|
require Jason
|
||||||
|
|
|
@ -14,7 +14,7 @@ def string_from_xpath(xpath, doc) do
|
||||||
|
|
||||||
if res == "", do: nil, else: res
|
if res == "", do: nil, else: res
|
||||||
catch
|
catch
|
||||||
e ->
|
_e ->
|
||||||
Logger.debug("Couldn't find xpath #{xpath} in XML doc")
|
Logger.debug("Couldn't find xpath #{xpath} in XML doc")
|
||||||
nil
|
nil
|
||||||
end
|
end
|
||||||
|
|
|
@ -26,7 +26,7 @@ def insert(data \\ %{}, opts \\ %{}) do
|
||||||
end
|
end
|
||||||
|
|
||||||
def insert_list(times, data \\ %{}, opts \\ %{}) do
|
def insert_list(times, data \\ %{}, opts \\ %{}) do
|
||||||
Enum.map(1..times, fn n ->
|
Enum.map(1..times, fn _n ->
|
||||||
{:ok, activity} = insert(data, opts)
|
{:ok, activity} = insert(data, opts)
|
||||||
activity
|
activity
|
||||||
end)
|
end)
|
||||||
|
|
|
@ -367,7 +367,7 @@ def get("https://shitposter.club/api/statuses/user_timeline/1.atom", _body, _hea
|
||||||
|
|
||||||
def post(
|
def post(
|
||||||
"https://social.heldscal.la/main/push/hub",
|
"https://social.heldscal.la/main/push/hub",
|
||||||
{:form, data},
|
{:form, _data},
|
||||||
"Content-type": "application/x-www-form-urlencoded"
|
"Content-type": "application/x-www-form-urlencoded"
|
||||||
) do
|
) do
|
||||||
{:ok,
|
{:ok,
|
||||||
|
@ -711,11 +711,11 @@ def get(url, body, headers) do
|
||||||
}"}
|
}"}
|
||||||
end
|
end
|
||||||
|
|
||||||
def post(url, body, headers) do
|
def post(url, _body, _headers) do
|
||||||
{:error, "Not implemented the mock response for post #{inspect(url)}"}
|
{:error, "Not implemented the mock response for post #{inspect(url)}"}
|
||||||
end
|
end
|
||||||
|
|
||||||
def post(url, body, headers, options) do
|
def post(url, _body, _headers, _options) do
|
||||||
{:error, "Not implemented the mock response for post #{inspect(url)}"}
|
{:error, "Not implemented the mock response for post #{inspect(url)}"}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue