Home | Notifications | New Note | Local | Federated | Search | Logout

Note Detail


silverpill@silverpill@mitra.social (2026-06-14 20:52:07)
I've been reviewing the new FEP from the Mastodon team today, and one thing that caught my attention is the use of Accept and Reject activities for managing approvals. Another day, someone proposed to use Follow activity for "watching a thread".

So now, when you receive a standard activity, you need to use increasingly complicated heuristics to figure out what the activity does, because it is not possible to infer that from its type anymore.

This has to stop. I think we need to start giving our activities better names.

#ActivityPub
Reply

---Replies---
julian@julian@activitypub.space (2026-06-14 20:59:38)
I see this from the other direction — I think it's great that we have a unified vocabulary for approvals and rejections. Why would we need a separate FeaturedItemAccept when Accept will do nicely?


From a code organization perspective it's as complicated as you make it. For the more overloaded activities, a switch..case separates out discrete logic into physically different blocks. You could break that out to separate functions for organization.


Once an activity handles more than one or two variants you begin to learn to make fewer assumptions based on type :smirk:
marius@mariusor@metalhead.club (2026-06-14 21:04:00)
@silverpill I think you're wrong. It feels perfectly natural that the same activity can be used with different objects. That's the whole purpose of the Activity vocabulary itself being split between activities and objects, isn't it?

And yes, that sometimes means that different side-effects need to be implemented for processing the same type of activity.
Phantasm@phnt@fluffytail.org (2026-06-14 21:04:49)
@silverpill 
>And one thing that caught my attention is the use of Accept and Reject activities for managing approvals.

This is an ActivityPub issue more than anything else. The "spec" is clear that the side-effects are to be determined by the type of the Object. There is no other indication, you effectively must check the type of the Object referenced. And I think that is correct, the same way Mastodon is correct in its usage of these two Activity types.

If you split the type for other Accept/Reject Activities, like AcceptFeatured or whatever, you are still left with more type determining logic anyway [at least in function non-pattern matching languages :)]. You just moved it somewhere else instead.
Uriel Fanelli  (on Aktor)@uriel@bbs.keinpfusch.net (2026-06-14 23:41:02)
@silverpill the purpose of this madness is to force the whole fediverse to be "Mastodon". To me, developing Aktor,  I will decide that unspecified activities belong to type "gibberish" and create a specific timeline for gibberish. That's it.

--
Uriel Fanelli
Using Aktor: https://git.keinpfusch.net/loweel/Aktor-2
XMPP: uriel@keinpfusch.net
old blog: https://blog.keinpfusch.net
new blog: https://keinpfusch.net