Store application details in the object under the generator key, not application key

This commit is contained in:
Mark Felder 2021-03-01 11:29:10 -06:00
parent 9fb8da4293
commit b1e1db82bc
5 changed files with 10 additions and 10 deletions

View file

@ -19,7 +19,7 @@ defmodule Pleroma.Constants do
"context_id", "context_id",
"deleted_activity_id", "deleted_activity_id",
"pleroma_internal", "pleroma_internal",
"application" "generator"
] ]
) )

View file

@ -190,7 +190,7 @@ defmodule Pleroma.Web.CommonAPI.ActivityDraft do
Utils.make_note_data(draft) Utils.make_note_data(draft)
|> Map.put("emoji", emoji) |> Map.put("emoji", emoji)
|> Map.put("source", draft.status) |> Map.put("source", draft.status)
|> Map.put("application", draft.params[:application]) |> Map.put("generator", draft.params[:generator])
%__MODULE__{draft | object: object} %__MODULE__{draft | object: object}
end end

View file

@ -423,11 +423,11 @@ defmodule Pleroma.Web.MastodonAPI.StatusController do
defp put_application(params, %{assigns: %{token: %Token{user: %User{} = user} = token}} = _conn) do defp put_application(params, %{assigns: %{token: %Token{user: %User{} = user} = token}} = _conn) do
if user.disclose_client do if user.disclose_client do
%{client_name: client_name, website: website} = Repo.preload(token, :app).app %{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 else
Map.put(params, :application, nil) Map.put(params, :generator, nil)
end end
end end
defp put_application(params, _), do: Map.put(params, :application, nil) defp put_application(params, _), do: Map.put(params, :generator, nil)
end end

View file

@ -180,7 +180,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
media_attachments: reblogged[:media_attachments] || [], media_attachments: reblogged[:media_attachments] || [],
mentions: mentions, mentions: mentions,
tags: reblogged[:tags] || [], tags: reblogged[:tags] || [],
application: build_application(activity_object.data["application"]), application: build_application(activity_object.data["generator"]),
language: nil, language: nil,
emojis: [], emojis: [],
pleroma: %{ pleroma: %{
@ -345,7 +345,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
poll: render(PollView, "show.json", object: object, for: opts[:for]), poll: render(PollView, "show.json", object: object, for: opts[:for]),
mentions: mentions, mentions: mentions,
tags: build_tags(tags), tags: build_tags(tags),
application: build_application(object.data["application"]), application: build_application(object.data["generator"]),
language: nil, language: nil,
emojis: build_emojis(object.data["emoji"]), emojis: build_emojis(object.data["emoji"]),
pleroma: %{ pleroma: %{

View file

@ -205,7 +205,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
{:ok, activity} = {:ok, activity} =
CommonAPI.post(user, %{ CommonAPI.post(user, %{
status: "#2hu :firefox:", 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 # Ensure injected application data made it into the activity
@ -215,7 +215,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
type: "Application", type: "Application",
name: "TestClient", name: "TestClient",
url: "https://pleroma.social" url: "https://pleroma.social"
} == activity.object.data["application"] } == activity.object.data["generator"]
{:ok, modified} = Transmogrifier.prepare_outgoing(activity.data) {: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"]["announcements"])
assert is_nil(modified["object"]["announcement_count"]) assert is_nil(modified["object"]["announcement_count"])
assert is_nil(modified["object"]["context_id"]) assert is_nil(modified["object"]["context_id"])
assert is_nil(modified["object"]["application"]) assert is_nil(modified["object"]["generator"])
end end
test "it strips internal fields of article" do test "it strips internal fields of article" do