akkoma/lib/pleroma/web/activity_pub
Oneric caf6b4606f Fix representaton of internal actors
CUrrently internal actors are supposed to be identified in the database
by either a NULL nickname or a nickname prefixed by "internal.". For old
installations this is true, but only if they were created over five
years ago before 70410dfafd.
Newer installations will use "relay" as the nickname of the realy actor
causing ii to be treated as a regular user.

In particular this means all installations in the last five years never
made use of the reduced endpoint case, thus it is dropped.

Simplify this distinction by properly marking internal actors asa an
Application type in the database. This was already implemented before by
ilja in https://akkoma.dev/AkkomaGang/akkoma/pulls/457 but accidentally
reverted during a translation update in
eba3cce77b. This commit effectively
restores this patch together with further changes.

Also service actors unconditionally expose follow* collections atm,
eventhough the internal fetch actor doesn't actually implement them.
Since they are optional per spec and with Mastodon omitting them too
for its instance actor proving the practical viability, we should just
omit them. The relay actor however should continue to expose such
collections and they are properly implemented here.
Here too we now just use the values or their absence in the database.

We do not have any other internal.* actors besides fetch atm.

Fixes: https://akkoma.dev/AkkomaGang/akkoma/issues/855

Co-authored-by: ilja space <git@ilja.space>
2025-03-26 17:14:28 +01:00
..
activity_pub Remove deps from Streaming/Persisting behaviors 2021-06-01 13:55:07 -05:00
mrf elixir 1.18 formatting 2025-03-02 11:54:00 +00:00
object_validator Bump Copyright to 2021 2021-01-13 07:49:50 +01:00
object_validators elixir 1.18 formatting 2025-03-02 11:54:00 +00:00
side_effects Refactor ES on top of search behaviour 2022-06-30 16:28:31 +01:00
views Fix representaton of internal actors 2025-03-26 17:14:28 +01:00
activity_pub.ex Don't return garbage on failed collection fetches 2025-02-14 18:49:51 +01:00
activity_pub_controller.ex Fix http signature plug tests 2024-10-26 05:05:48 +01:00
builder.ex Migrate to phoenix 1.7 (#626) 2023-08-15 10:22:18 +00:00
internal_fetch_actor.ex Bump Copyright to 2021 2021-01-13 07:49:50 +01:00
mrf.ex cosmetic: fix elixir 1.17 compiler warnings in main application 2024-06-19 01:49:59 +02:00
object_validator.ex federation/incoming: improve link_resolve retry decision 2025-01-07 20:27:28 +01:00
pipeline.ex Refactor ES on top of search behaviour 2022-06-30 16:28:31 +01:00
publisher.ex Purge obsolete ap_enabled indicator 2025-01-07 20:27:26 +01:00
relay.ex Fix representaton of internal actors 2025-03-26 17:14:28 +01:00
side_effects.ex RichMedia refactor 2024-06-09 17:33:48 +01:00
transmogrifier.ex federation: strip internal fields from incoming updates and history 2025-02-21 19:37:27 +01:00
utils.ex Migrate to phoenix 1.7 (#626) 2023-08-15 10:22:18 +00:00
visibility.ex local-only-fixed (#138) 2022-08-02 14:46:46 +00:00