Store application details in the object under the generator key, not application key
This commit is contained in:
parent
9fb8da4293
commit
b1e1db82bc
5 changed files with 10 additions and 10 deletions
|
@ -19,7 +19,7 @@ defmodule Pleroma.Constants do
|
|||
"context_id",
|
||||
"deleted_activity_id",
|
||||
"pleroma_internal",
|
||||
"application"
|
||||
"generator"
|
||||
]
|
||||
)
|
||||
|
||||
|
|
|
@ -190,7 +190,7 @@ defmodule Pleroma.Web.CommonAPI.ActivityDraft do
|
|||
Utils.make_note_data(draft)
|
||||
|> Map.put("emoji", emoji)
|
||||
|> Map.put("source", draft.status)
|
||||
|> Map.put("application", draft.params[:application])
|
||||
|> Map.put("generator", draft.params[:generator])
|
||||
|
||||
%__MODULE__{draft | object: object}
|
||||
end
|
||||
|
|
|
@ -423,11 +423,11 @@ defmodule Pleroma.Web.MastodonAPI.StatusController do
|
|||
defp put_application(params, %{assigns: %{token: %Token{user: %User{} = user} = token}} = _conn) do
|
||||
if user.disclose_client do
|
||||
%{client_name: client_name, website: website} = Repo.preload(token, :app).app
|
||||
Map.put(params, :application, %{type: "Application", name: client_name, url: website})
|
||||
Map.put(params, :generator, %{type: "Application", name: client_name, url: website})
|
||||
else
|
||||
Map.put(params, :application, nil)
|
||||
Map.put(params, :generator, nil)
|
||||
end
|
||||
end
|
||||
|
||||
defp put_application(params, _), do: Map.put(params, :application, nil)
|
||||
defp put_application(params, _), do: Map.put(params, :generator, nil)
|
||||
end
|
||||
|
|
|
@ -180,7 +180,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
|
|||
media_attachments: reblogged[:media_attachments] || [],
|
||||
mentions: mentions,
|
||||
tags: reblogged[:tags] || [],
|
||||
application: build_application(activity_object.data["application"]),
|
||||
application: build_application(activity_object.data["generator"]),
|
||||
language: nil,
|
||||
emojis: [],
|
||||
pleroma: %{
|
||||
|
@ -345,7 +345,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
|
|||
poll: render(PollView, "show.json", object: object, for: opts[:for]),
|
||||
mentions: mentions,
|
||||
tags: build_tags(tags),
|
||||
application: build_application(object.data["application"]),
|
||||
application: build_application(object.data["generator"]),
|
||||
language: nil,
|
||||
emojis: build_emojis(object.data["emoji"]),
|
||||
pleroma: %{
|
||||
|
|
|
@ -205,7 +205,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
|
|||
{:ok, activity} =
|
||||
CommonAPI.post(user, %{
|
||||
status: "#2hu :firefox:",
|
||||
application: %{type: "Application", name: "TestClient", url: "https://pleroma.social"}
|
||||
generator: %{type: "Application", name: "TestClient", url: "https://pleroma.social"}
|
||||
})
|
||||
|
||||
# Ensure injected application data made it into the activity
|
||||
|
@ -215,7 +215,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
|
|||
type: "Application",
|
||||
name: "TestClient",
|
||||
url: "https://pleroma.social"
|
||||
} == activity.object.data["application"]
|
||||
} == activity.object.data["generator"]
|
||||
|
||||
{:ok, modified} = Transmogrifier.prepare_outgoing(activity.data)
|
||||
|
||||
|
@ -226,7 +226,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
|
|||
assert is_nil(modified["object"]["announcements"])
|
||||
assert is_nil(modified["object"]["announcement_count"])
|
||||
assert is_nil(modified["object"]["context_id"])
|
||||
assert is_nil(modified["object"]["application"])
|
||||
assert is_nil(modified["object"]["generator"])
|
||||
end
|
||||
|
||||
test "it strips internal fields of article" do
|
||||
|
|
Loading…
Reference in a new issue