forked from AkkomaGang/akkoma
Probably better way of handling non-follow undos in ostatus
This commit is contained in:
parent
4151cbe6b2
commit
271fb5ccb1
2 changed files with 25 additions and 22 deletions
|
@ -250,6 +250,7 @@ def to_simple_form(%{data: %{"type" => "Undo"}} = activity, user, with_author) d
|
||||||
|
|
||||||
mentions = (activity.recipients || []) |> get_mentions
|
mentions = (activity.recipients || []) |> get_mentions
|
||||||
|
|
||||||
|
if follow_activity do
|
||||||
[
|
[
|
||||||
{:"activity:object-type", ['http://activitystrea.ms/schema/1.0/activity']},
|
{:"activity:object-type", ['http://activitystrea.ms/schema/1.0/activity']},
|
||||||
{:"activity:verb", ['http://activitystrea.ms/schema/1.0/unfollow']},
|
{:"activity:verb", ['http://activitystrea.ms/schema/1.0/unfollow']},
|
||||||
|
@ -268,6 +269,7 @@ def to_simple_form(%{data: %{"type" => "Undo"}} = activity, user, with_author) d
|
||||||
{:link, [rel: 'self', type: ['application/atom+xml'], href: h.(activity.data["id"])], []}
|
{:link, [rel: 'self', type: ['application/atom+xml'], href: h.(activity.data["id"])], []}
|
||||||
] ++ mentions ++ author
|
] ++ mentions ++ author
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def to_simple_form(%{data: %{"type" => "Delete"}} = activity, user, with_author) do
|
def to_simple_form(%{data: %{"type" => "Delete"}} = activity, user, with_author) do
|
||||||
h = fn str -> [to_charlist(str)] end
|
h = fn str -> [to_charlist(str)] end
|
||||||
|
|
|
@ -187,13 +187,14 @@ def publish(user, activity, poster \\ &@httpoison.post/4)
|
||||||
|
|
||||||
def publish(%{info: %{"keys" => keys}} = user, %{data: %{"type" => type}} = activity, poster)
|
def publish(%{info: %{"keys" => keys}} = user, %{data: %{"type" => type}} = activity, poster)
|
||||||
when type in @supported_activities do
|
when type in @supported_activities do
|
||||||
|
feed = ActivityRepresenter.to_simple_form(activity, user, true)
|
||||||
|
|
||||||
|
if feed do
|
||||||
feed =
|
feed =
|
||||||
ActivityRepresenter.to_simple_form(activity, user, true)
|
ActivityRepresenter.wrap_with_entry(feed)
|
||||||
|> ActivityRepresenter.wrap_with_entry()
|
|
||||||
|> :xmerl.export_simple(:xmerl_xml)
|
|> :xmerl.export_simple(:xmerl_xml)
|
||||||
|> to_string
|
|> to_string
|
||||||
|
|
||||||
if feed do
|
|
||||||
{:ok, private, _} = keys_from_pem(keys)
|
{:ok, private, _} = keys_from_pem(keys)
|
||||||
{:ok, feed} = encode(private, feed)
|
{:ok, feed} = encode(private, feed)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue