projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'feat/rich-media-improvements' into 'develop'
[akkoma]
/
lib
/
pleroma
/
web
/
activity_pub
/
mrf
/
ensure_re_prepended.ex
diff --git
a/lib/pleroma/web/activity_pub/mrf/ensure_re_prepended.ex
b/lib/pleroma/web/activity_pub/mrf/ensure_re_prepended.ex
index 895376c9d68cd3ec9d0ecd6438300f642c11ca9b..3bf70b8946b90f9248607d15ceaecbb3e63cc7e2 100644
(file)
--- a/
lib/pleroma/web/activity_pub/mrf/ensure_re_prepended.ex
+++ b/
lib/pleroma/web/activity_pub/mrf/ensure_re_prepended.ex
@@
-1,15
+1,17
@@
# Pleroma: A lightweight social networking server
# Pleroma: A lightweight social networking server
-# Copyright © 2017-20
19
Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-20
20
Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.ActivityPub.MRF.EnsureRePrepended do
alias Pleroma.Object
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.ActivityPub.MRF.EnsureRePrepended do
alias Pleroma.Object
+ @moduledoc "Ensure a re: is prepended on replies to a post with a Subject"
@behaviour Pleroma.Web.ActivityPub.MRF
@reply_prefix Regex.compile!("^re:[[:space:]]*", [:caseless])
@behaviour Pleroma.Web.ActivityPub.MRF
@reply_prefix Regex.compile!("^re:[[:space:]]*", [:caseless])
+
def filter_by_summary(
def filter_by_summary(
- %{
"summary" => parent_summary} = _parent
,
+ %{
data: %{"summary" => parent_summary}} = _in_reply_to
,
%{"summary" => child_summary} = child
)
when not is_nil(child_summary) and byte_size(child_summary) > 0 and
%{"summary" => child_summary} = child
)
when not is_nil(child_summary) and byte_size(child_summary) > 0 and
@@
-23,17
+25,14
@@
defmodule Pleroma.Web.ActivityPub.MRF.EnsureRePrepended do
end
end
end
end
- def filter_by_summary(_parent, child), do: child
-
- def filter(%{"type" => activity_type} = object) when activity_type == "Create" do
- child = object["object"]
- in_reply_to = Object.normalize(child["inReplyTo"])
+ def filter_by_summary(_in_reply_to, child), do: child
+ def filter(%{"type" => "Create", "object" => child_object} = object)
+ when is_map(child_object) do
child =
child =
- if(in_reply_to,
- do: filter_by_summary(in_reply_to.data, child),
- else: child
- )
+ child_object["inReplyTo"]
+ |> Object.normalize(child_object["inReplyTo"])
+ |> filter_by_summary(child_object)
object = Map.put(object, "object", child)
object = Map.put(object, "object", child)
@@
-41,4
+40,6
@@
defmodule Pleroma.Web.ActivityPub.MRF.EnsureRePrepended do
end
def filter(object), do: {:ok, object}
end
def filter(object), do: {:ok, object}
+
+ def describe, do: {:ok, %{}}
end
end