This is used for internal fetch and for relay. Both represent the instance and therefore are an aplication.
- Rich media will now hard-exit after 5 seconds, to prevent timeline hangs
- HTTP Content Security Policy is now far more strict to prevent any potential XSS/CSS leakages
- Follow requests are now paginated, matches mastodon API spec, so use the Link header to paginate.
+- `internal.fetch` and `relay` actors are now represented with the actor type `Application`
### Fixed
- /api/v1/accounts/lookup will now respect restrict\_unauthenticated
%User{
invisible: true,
local: true,
+ actor_type: "Application",
ap_id: uri,
nickname: nickname,
follower_address: uri <> "/followers"
--- /dev/null
+defmodule Pleroma.Repo.Migrations.InstanceActorsToActorTypeApplication do
+ use Ecto.Migration
+
+ def up do
+ execute("""
+ update users
+ set actor_type = 'Application'
+ where local
+ and (ap_id like '%/relay' or ap_id like '%/internal/fetch')
+ """)
+ end
+
+ def down do
+ execute("""
+ update users
+ set actor_type = 'Person'
+ where local
+ and (ap_id like '%/relay' or ap_id like '%/internal/fetch')
+ """)
+ end
+end
assert user.ap_id == "#{Pleroma.Web.Endpoint.url()}/relay"
end
+ test "relay actor is an application" do
+ # See <https://www.w3.org/TR/activitystreams-vocabulary/#dfn-application>
+ user = Relay.get_actor()
+ assert user.actor_type == "Application"
+ end
+
test "relay actor is invisible" do
user = Relay.get_actor()
assert User.invisible?(user)