Posts
-
Article vs. Note (redux!) — summary of current implementations -
Article vs. Note (redux!) — summary of current implementations -
Article vs. Note (redux!) — summary of current implementations+1
Article
= rich content, embedded images, videos, and other media.But how embedded images should be treated by implementations that use media cache? Are they expected to rewrite
src
attributes in images? -
How do you use `context` (if at all)? -
ID normalization@julian @federated Apparently only the top post is federated but not replies.
ID normalization
ActivityStreams 2.0 spec says IDs are IRIs (RFC 3987): Activity Streams 2.0 ActivityPub spec is more strict and says that IDs are “Publicly dereferencable URIs” (RFC 3986): ActivityPub But what does it mean in practice…
SocialHub (socialhub.activitypub.rocks)
-
Look at how @mikedev designed `events` in @streams!@liaizon @grunfink @mikedev @streams @nodebb @julian Mitra transforms Event objects into posts, that works reasonably well. I'm not against extended support but I'd like to wait until some standard in this area emerges. As far as I know, existing event servers use slightly different protocols.
@blog was working on better interop
-
Article Interop WG: How to represent titles?Found the answer here: https://funfedi.dev/support_tables/generated/object_types/
Sharkey seems to be ignoring the
name
, I guess this means Misskey does that as well. -
Article Interop WG: How to represent titles?@tedu @article_interop There might be popular services where
name
is ignored completely but<h1>
incontent
gracefully degrades. If that's the case,<h1>
(or<h1>
plusname
) would be preferable.AFAIK Mastodon doesn't have this problem and will display
Article.name
. I don't know about the others. -
Article Interop WG: How to represent titles?Article Interop WG: How to represent titles?
Should title be inserted into
Article.content
as an<h1>
tag, or should it go toArticle.name
? -
Minutes from 2 May 2024 WG Meeting@julian Activities like
Announce(Create(Note))
are the main point of FEP-1b12:>In case the incoming activity is deemed valid, the group MUST wrap it in an Announce activity, with the original activity as object.
Announce(Note)
is an additional activity that Lemmy sends to remain compatible with micro-blogging apps. -
Minutes from 2 May 2024 WG Meeting@julian Makes sense. Accept if origin is the same, otherwise retrieve from source. I think Announce(Create(Note)) and other FEP-1b12 activities should be processed in the same way:
FEP-1b12: Group federation
Internet forums are probably the oldest form of social media. They can be implemented with the Activitypub protocol, but such implementations may not necessarily be compatible with each other. This document defines a com…
SocialHub (socialhub.activitypub.rocks)
-
Minutes from 2 May 2024 WG Meeting -
Still a ways to go, but here's a nomadic identity (this one only has one instance at the moment) incorporating some of the recent changes from FEP-ef61 - which required re-starting the testing regimen.@mikedev The path component was necessary when we were using
did:ap
, to distinguish between DID URLs and DIDs. However, with the introduction of 'ap' URLs this requirement can be relaxed. I'm just not sure if it should be. -
Minutes from 2 May 2024 WG Meeting@mikedev Okay, I think I'm starting to see the big picture here. When a group actor publishes Add or Announce activity which wraps another activity, the recipients should somehow verify the authenticity of a wrapped activity. With FEP-8b32 this is easy. Without FEP-8b32 you need to fetch the wrapped activity from its server of origin. However, when the group is private the activity would be private as well, and everything becomes complicated. The originating server may not know who is part of the group and who is not, and therefore it can't enforce privacy by requiring a signed fetch.
To work around this in his non-FEP-8b32 implementation of FEP-400e, @grishka invented "actor tokens": https://codeberg.org/fediverse/fep/src/branch/main/fep/db0e/fep-db0e.md
Am I getting this right?
Curiously, the authentication of wrapped activities is not described in FEP-1b12. I posted about this problem on SocialHub forum yesterday but haven't gotten a response yet: https://socialhub.activitypub.rocks/t/fep-1b12-group-federation/2724/66
Is it so obvious that it doesn't need to be stated? Or is there a huge security hole in existing FEP-1b12 implementations because no one have bothered to think about this?
-
Still a ways to go, but here's a nomadic identity (this one only has one instance at the moment) incorporating some of the recent changes from FEP-ef61 - which required re-starting the testing regimen.@mikedev I can spot several differences between this document and the latest revision of FEP-ef61:
- FEP-ef61 now uses
gateways
property, notgateway
. I changed the property name because its value is an ordered list (and we already havereplies
andorderedItems
, so a plural doesn't feel inappropriate).
- Canonical object ID has no path component. FEP-ef61 says that path is REQUIRED (according to RFC 3986, the path can be "empty", so I should probably change it to "path MUST NOT be empty").
- The value ofproof.verificationMethod
is a "compatible" ID, but according to FEP-ef61, "The value of verificationMethod property of the proof MUST match the authority component of the ap:// URL". In other words, it must be a DID.Of course, all of that is up to discussion, and the spec can be changed if necessary.
>The sticky spots I see right now are abstracting a more portable url for profile-photo, cover-photo
We can use content-addressing. See Discussion / Media section.
>and ed25519 publickey
I assume you're referring to the need for it to be a server-owned key? Per FEP-521a we can add multiple keys to
assertionMethod
array. Each nomadic clone can use its own key for signing HTTP requests, only the identity key (the "authority" part of 'ap' URL) must be shared.>You should be able to import the resulting record into any FEP-ef61 compliant server running on any fediverse platform and have one identity to rule them all.
In my implementation exported objects and the ones sent via S2S protocol will probably look the same, because in the future I will perform proof generation on the client side. This means the server will not be able to change published objects, its role will be merely of an indexer.
-
Minutes from 2 May 2024 WG Meeting@grishka Looks interesting, I think writing a FEP is a good idea. The process is not dead yet
I want to implement private groups too but it is not clear which approach is better. We discussed private groups with @nutomic and he said that FEP-1b12 can also support private groups. There is an RFC, but AFAIK it has not been implemented yet.
And here's the documentation for @mikedev 's Conversation Containers: https://fediversity.site/help/develop/en/Containers
-
Minutes from 2 May 2024 WG Meeting -
Article vs. Note vs. Page@mikedev @nutomic @pfefferle @renchap @julian @pfefferle @nutomic That was a different time. Since then WordPress has joined the Fediverse, and now Ghost is about to join as well. I think the ability to display rich content may soon become a serious competitive advantage.
-
Mitra v2.17.0 has been released. From now on these announcements will be published from @mitra accounthttps://mitra.social/objects/018f214d-8273-0d4f-42b3-602feee5ee1fMitra v2.17.0 has been released. From now on these announcements will be published from @mitra account
https://mitra.social/objects/018f214d-8273-0d4f-42b3-602feee5ee1f
-
Article vs. Note vs. Page@renchap @pfefferle @julian @pfefferle @nutomic
I know that @dev attempted to start a group for working on this issue: https://mediaformat.org/wordress-activitypub/article-working-group/
cc @liaizon