Home | Notifications | New Note | Local | Federated | Search | Logout
silverpill@silverpill@mitra.social
Developer of ActivityPub-based micro-blogging and content subscription platform Mitra. I help maintain the FEP repository and write my own FEPs too. Currently working on ActivityPub Next.
Code: https://codeberg.org/silverpill/
Matrix: @silverpill:unredacted.org
XMPP: silverpill@were.chat
$XMR: 48YM8jwJqDkeUvD38vepSXFeMZH1zsjbvGwTTuaNSSq6Q5GyeWaeiheAZUsSmNn72YdyLpw8geb4FL3opZfGbguJLUj8Mi9
XMR subscription: https://mitra.social/@silverpill/subscription
PGP: 0541 49E3 0F91 C6D7 8FFA C49C 955F 5A6E 2123 25F0
OMEMO fingerprint: 689a2fb0ec87a9481fb45cb7d8870da6aeb4d8247bd69a39017701133b901f04
Matrix (backup): @silverpill:poa.st
Joined: 2026-01-05 16:03:27
435 notes, 1 following, 0 followers
Reply to @silverpill@mitra.social
silverpill@silverpill@mitra.social (2026-06-09 05:31:24)
@HolosSocial It should actually be relatively easy to implement client-side FEP-ef61 in Holos. If objects are served by the client, you don't need to implement client-to-server API (which is the most difficult part).
@joergi
silverpill@silverpill@mitra.social boosted:
@sendpaws@mitra.pawslut.party (2026-06-08 08:21:43)
Wrote a post about how comically bad iOS fedi clients are
https://pleromanonx86.wordpress.com/2026/06/07/the-sad-state-of-ios-fediverse-clients/
Reply to @harblinger@wizard.casa
silverpill@silverpill@mitra.social (2026-06-09 05:02:26)
@harblinger Interesting idea.
Reply to @teppic@reservatory.statler.ws
silverpill@silverpill@mitra.social (2026-06-09 04:56:06)
@teppic Is it a breaking change? Test
Reply to @fedify@hollo.social
silverpill@silverpill@mitra.social (2026-06-09 04:54:57)
@fedify
That gap could allow outbound requests to ranges such as carrier-grade NAT, benchmarking, multicast, reserved, and documentation networks
Why this is considered dangerous?
Reply to @Profpatsch@mastodon.xyz
silverpill@silverpill@mitra.social (2026-06-08 02:24:18)
@Profpatsch For all kinds of reasons, there are many FEPs with similar titles.
However, if you really want, you can refer to FEPs by their titles or invent short names, nobody is going to stop you. Short codes are useful when administering a large repository of documents, but you don't have to use them if you find them inconvenient.
@sabrinkmann @grindhold
Reply to @mike@macgirvin.com
silverpill@silverpill@mitra.social (2026-06-08 01:59:56)
@mike
Which is it? If it's both, how does that work?
Yes, it's both. The backfilling algorithm described in the FEP should be used on a top-level post. When this post has a contextHistory property, it will resolve to a collection of activities. When it has a context property, it will resolve to a collection of posts.
wtf is a "collection of posts"
Alright, I will add a definition to the FEP.
"post" is any kind of attributed object. Usually it's a Note or an Article, but it could be an Event too, or something else entirely. What's important is that "post" is not an activity.
And if "contextHistory" is an equal player with "context", every.single.fediverse.project now has to examine every context they copy to their own objects and activities, just to ensure they get the right one in each case. And if both are present, copy both - after checking that "context" is or isn't the one they really want.
It shouldn't be a problem because with the proposed backfilling algorithm the collection item type is always known beforehand.
If it's a problem, you can use duck typing on collection items. That's what I do when I fetch an object whose class is not known.
Reply to @HolosSocial@mastodon.social
silverpill@silverpill@mitra.social (2026-06-07 06:32:23)
@HolosSocial @joergi @dansup Holos with custom domains provides similar benefits but there is an important difference. In classic ActivityPub, identity is tied to a domain name. Keys are supposed to be ephemeral, and HTTP signatures are merely an optimization that servers use to avoid fetching every received activity by its id. In FEP-ef61, identity is tied to a DID, while domains are supposed to be ephemeral. If did:key is used, that key becomes a permanent part of every id.
If you don't use FEP-ef61, a server can perform a MITM attack by serving a different actor document or a different key. FEP-ef61 protects against this (under the assumption that users controls their identity keys).
The difference is subtle but it may matter a lot in some cases, such as when implementing E2EE.
Reply to @Profpatsch@mastodon.xyz
silverpill@silverpill@mitra.social (2026-06-07 06:04:00)
@Profpatsch @sabrinkmann @grindhold I mean the downsides mentioned in the issue, a short name would still be tied to a title. And it is only easier to remember until the moment someone submits another FEP on the same topic and uses FEP-federated-marketplace2 as an identifier.
Reply to @Profpatsch@mastodon.xyz
silverpill@silverpill@mitra.social (2026-06-07 00:41:01)
@Profpatsch We were considering switching from hex codes to decimal numbers https://codeberg.org/fediverse/fep/issues/196
A shortcut name seems to have the same downsides as hex code plus it's longer to write
@sabrinkmann @grindhold
silverpill@silverpill@mitra.social boosted:
@weekinfediverse@mitra.social (2026-06-06 04:50:29)
Week in Fediverse 2026-05-29
Servers
- Mastodon v4.5.11
- Hollo v0.9.3
- Wafrn v2026.06.01
- Ktistec v3.4.1
- tootik v0.23.1
- NeoDB v0.15.2
- wanderer v0.19.2
- Lemmy Development Update May 2026
- FitPub: A self-hosted fitness tracking platform for the Fediverse
- Harmony: Discord-style servers and chat with ActivityPub
- Menuverse: A federated menu system for canteens and institutions
- LAUTI: A calendar software where one can publish events, groups and places
Clients
- Pachli v3.7.0
- Elk v1.0.0
- Fedilab v3.41.0
- tooi v0.26.0
- Pixelix v4.4.0
- Aria v1.5.3
- Tesseract v1.5.0
- Interstellar v0.11.4
- Holos v1.8.0
- P2Play v0.10.1
For developers
- APx v0.25.0
Protocol
- FEP-bebd: Follow Invites
Articles
- Prikbord: Federated calendar for events in Rotterdam
- small details in my mastodon client that i wanted more people to notice
- From simple afterthought to over-engineered software
- FR#165 – Fediverse News May 2026
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019e7560-82be-7521-bbb4-2ca61a0d5ad8
Reply to @Profpatsch@mastodon.xyz
silverpill@silverpill@mitra.social (2026-06-07 00:14:39)
@Profpatsch @sabrinkmann @grindhold type is not completely useless, it's just an equivalent of a boolean property, for example type: Proposal is another way of saying isProposal: true.
Sometimes types are handy - I don't apply duck typing to activities.
Reply to @Profpatsch@mastodon.xyz
silverpill@silverpill@mitra.social (2026-06-06 23:44:18)
@Profpatsch @sabrinkmann @grindhold Yes, feature negotiation increases complexity and should be used sparingly. Consequently, I am in favor of duck typing, which means looking for the properties you care about instead of types .
A micro-blog sees content and attributedTo, displays a post.
A FEP-0837 marketplace sees publishes and reciprocal, displays an offer.
Reply to @silverpill@mitra.social
silverpill@silverpill@mitra.social (2026-06-06 18:39:19)
@sabrinkmann I think the most straightforward way to use FEP-0837 in Note Centric Fediverse is to add Proposal properties directly to Note. This is what the FEP currently recommends.
@grindhold @Profpatsch
Reply to @sabrinkmann@hachyderm.io
silverpill@silverpill@mitra.social (2026-06-06 18:24:41)
@sabrinkmann
Maybe it would be smart to have section in the FEP of how real world implementation is working in a Note Centric Fediverse?
We can add this information to the "Implementations" section.
There is also a "Publishing a proposal" section in the FEP, which already recommends several options but could be extended:
https://fediverse.codeberg.page/fep/fep/0837/#publishing-a-proposal
@grindhold @Profpatsch
Reply to @mike@macgirvin.com
silverpill@silverpill@mitra.social (2026-06-06 17:03:41)
@mike I agree that collection of activities is a better representation, because it is more complete, but this is not the subject of this FEP. The FEP is about backfilling, and its purpose is to document the current practices.
Implementers of this FEP are not required to publish any collections. However, they are advised to use a backfilling algorithm that supports all three conversation models (containers, threads and reply trees): https://fediverse.codeberg.page/fep/fep/f228/#reading-collections. The algorithm gives precedence to contextHistory, so collection of activities is used as a primary source when it is present.
Reply to @julian@activitypub.space
silverpill@silverpill@mitra.social (2026-06-06 04:01:32)
@maddyunderstars Your FEP has been added to the repository: https://codeberg.org/fediverse/fep/src/branch/main/fep/bebd/fep-bebd.md
@julian Private FEP-1b12 groups exist in Lemmy 1.0beta. I am already testing them, but there are still some issues with the federation (I am also working on a FEP that covers access control and user roles in FEP-1b12 groups)
Reply to @mike@macgirvin.com
silverpill@silverpill@mitra.social (2026-06-06 03:25:18)
@mike The formal definition of a 'thread' should suffice :]
Reply to @nutomic@lemmy.ml
silverpill@silverpill@mitra.social (2026-06-06 03:22:43)
I saw that PR was merged and tried again, but now Lemmy doesn't notify me (community admin) about the follow request, and doesn't send Accept. However, the community subscriber counter increases and private posts are delivered to the follower.
Reply to @SolSoCoG@ieji.de
silverpill@silverpill@mitra.social (2026-06-05 03:42:36)
@SolSoCoG Is relre open source?
Reply to @silverpill@mitra.social
silverpill@silverpill@mitra.social (2026-06-05 03:41:09)
@julian do you approve?
silverpill@silverpill@mitra.social (2026-06-05 03:37:57)
FEP-f228: Backfilling conversations has been updated:
https://codeberg.org/fediverse/fep/pulls/853
I added tootik and Lemmy to the implementation list and did a little cleanup. This FEP feels complete, so I am requesting final comments.
Full text:
https://fediverse.codeberg.page/fep/fep/f228/
#fep_f228 #fep #fedidev
Reply to @sabrinkmann@hachyderm.io
silverpill@silverpill@mitra.social (2026-06-05 02:28:56)
@sabrinkmann Can it somehow interoperate with flohmarkt instances?
silverpill@silverpill@mitra.social boosted:
@sabrinkmann@hachyderm.io (2026-06-02 04:15:16)
The Fediverse is so cool because of the diversity of the different software. In the last weeks, I did build a (completely?) new one. The Menuverse consists of two software: 1) create daily changing dishes like in a canteen, and 2) can aggregate different of this actors in a marketplace. The working title for this is Menuverse.
Every canteen is Fediverse actor and not only can these marketplaces subscribe to this, but also other softwares like Mastodon, Misskey and so on.
I created a demo setup with live data from different university canteens here:
https://mahlzeitheute.de/ This is the marketplace software)
(The data and frontend is currently only in German).
You can also visit or follow the nearest canteen to me here: @fl-ca1.
You can find the full software here: https://codeberg.org/54GradSoftware/menuverse
But please note that this still quite experimental and I would not advise running in production (unsupervised).
I would love to get (technical) feedback, and I'm looking for real canteens who would like to test the software.
More information in the next posts (this is a thread). [1/4]
#fep0837 #FediverseDevs #fediverse
silverpill@silverpill@mitra.social (2026-06-05 01:46:52)
Menuverse is a federated menu system for canteens and institutions, built on FEP-0837: Federated Marketplace, schema.org and Fedify/ActivityPub.
https://codeberg.org/54GradSoftware/menuverse
#fep_0837
Reply to @maddyunderstars@aus.social
silverpill@silverpill@mitra.social (2026-06-05 01:22:33)
@maddyunderstars @doesnm If you need Invite to be mutable, that's a good reason to use Object, because activities are usually expected to be idempotent and immutable.
Other than that, invite-as-activity shouldn't cause any issues...
Reply to @mariusor@metalhead.club
silverpill@silverpill@mitra.social (2026-06-05 01:11:27)
@mariusor https://marius.federated.id still returns 401
{"@context":"http://marius.federated.id/ns#errors","errors":{"status":401,"message":"authorized Actor is invalid"}}
silverpill@silverpill@mitra.social (2026-06-04 18:02:19)
@doesnm @maddyunderstars
Forte uses it for events: https://codeberg.org/fortified/forte/src/branch/dev/FEDERATION.md#events
Smithereen for groups and events: https://smithereen.software/docs/federation/groups
Reply to @insa@socialhub.activitypub.rocks
silverpill@silverpill@mitra.social (2026-06-04 17:51:55)
Here's another interesting FEP from @steve where JSONPath-based syntax was proposed: https://codeberg.org/fediverse/fep/src/branch/main/fep/c195/fep-c195.md
silverpill@silverpill@mitra.social boosted:
@maddyunderstars@aus.social (2026-06-04 14:04:15)
Wrote my first FEP :) I guess I'd like some feedback before making the MR
Shoot, my ActivityPub instant messenger, already uses a slight modification of this protocol. I'll probably be updating Shoot to follow it properly soon.
FEP-bebd: Follow Invites
https://codeberg.org/MaddyUnderStars/fep/src/branch/invites/fep/bebd/fep-bebd.md
#FEP #fediverse #fedidev
Older Notes