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
|
||||
|
||||
if follow_activity do
|
||||
[
|
||||
{:"activity:object-type", ['http://activitystrea.ms/schema/1.0/activity']},
|
||||
{:"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"])], []}
|
||||
] ++ mentions ++ author
|
||||
end
|
||||
end
|
||||
|
||||
def to_simple_form(%{data: %{"type" => "Delete"}} = activity, user, with_author) do
|
||||
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)
|
||||
when type in @supported_activities do
|
||||
feed = ActivityRepresenter.to_simple_form(activity, user, true)
|
||||
|
||||
if feed do
|
||||
feed =
|
||||
ActivityRepresenter.to_simple_form(activity, user, true)
|
||||
|> ActivityRepresenter.wrap_with_entry()
|
||||
ActivityRepresenter.wrap_with_entry(feed)
|
||||
|> :xmerl.export_simple(:xmerl_xml)
|
||||
|> to_string
|
||||
|
||||
if feed do
|
||||
{:ok, private, _} = keys_from_pem(keys)
|
||||
{:ok, feed} = encode(private, feed)
|
||||
|
||||
|
|
Loading…
Reference in a new issue