logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git
commit: b1e1db82bc2c076f2a7858ec63017c10dda1966b
parent 9fb8da429360ddb9433f4c740126e2d858b1f141
Author: Mark Felder <feld@feld.me>
Date:   Mon,  1 Mar 2021 11:29:10 -0600

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

Diffstat:

Mlib/pleroma/constants.ex2+-
Mlib/pleroma/web/common_api/activity_draft.ex2+-
Mlib/pleroma/web/mastodon_api/controllers/status_controller.ex6+++---
Mlib/pleroma/web/mastodon_api/views/status_view.ex4++--
Mtest/pleroma/web/activity_pub/transmogrifier_test.exs6+++---
5 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/lib/pleroma/constants.ex b/lib/pleroma/constants.ex @@ -19,7 +19,7 @@ defmodule Pleroma.Constants do "context_id", "deleted_activity_id", "pleroma_internal", - "application" + "generator" ] ) diff --git a/lib/pleroma/web/common_api/activity_draft.ex b/lib/pleroma/web/common_api/activity_draft.ex @@ -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 diff --git a/lib/pleroma/web/mastodon_api/controllers/status_controller.ex b/lib/pleroma/web/mastodon_api/controllers/status_controller.ex @@ -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 diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex @@ -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: %{ diff --git a/test/pleroma/web/activity_pub/transmogrifier_test.exs b/test/pleroma/web/activity_pub/transmogrifier_test.exs @@ -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