• 3 Posts
  • 461 Comments
Joined 3 years ago
cake
Cake day: June 9th, 2023

help-circle

  • What’s actually missing here?

    At the very least, it is missing a context definition in the JSON-LD document that describes the term. What does a document of type ChooseAnswer mean if the provided @context entry only makes references to activitystreams and security/v1 namespaces?

    More than that, it is missing a clear need. There is no need to specify a new vocabulary term when as:accept is right there: Why define a new term when something like

    {  
             "id": "https://piefed.social/activities/answer/hgb4iO4b8UAFRTn", 
             "type": "Accept",  
             "actor": "https://piefed.socialz/u/rimu", 
             "object": "https://piefed.ngrok.app/comment/224",
             "target": "https://piefed.ngrok.app/post/123",  
             "@context": ["https://www.w3.org/ns/activitystreams", "https://w3id.org/security/v1"],  
             "audience": "https://crust.piefed.social/c/linux_questions",  
             "to": ["https://www.w3.org/ns/activitystreams#Public"],  
             "cc": ["https://crust.piefed.social/c/linux_questions"]  
    }  
    

    can represent the information that a comment has been accepted as a good answer to the question?


  • Believing that the we need professional hosting providers to have a sustainable Fediverse != “Monetizing the platform”.

    Besides, I’ve already voiced similar concerns through different venues. The devs made it clear they are not interested in developing software with a focus on standards compliance. They care about throwing as many features as possible to their system.

    It’s fine, it’s their project, they can do whatever they want. It doesn’t mean that I don’t have the right to have an opinion about it.



  • ‘ChooseAnswer’ is not an object type defined by activitystreams, and the json-ld context provided by PieFed server has no extension referring to it.

    This means that any server ingests messages to an inbox using RDF will see this document and think “this is invalid” and drop it. If it sent as:accept instead, it would work without any modification.

    Re: community migration, there is at least one other person besides me that said “when I post something to one community, and PieFed says that I also said that on another place when I didn’t, then the server is fabricating Information”.

    To illustrate the point: if suddenly we adopted JSON-LD signatures as a message authentication system, then all messages from imported communities would fail.


  • How is creating a new Activity type preventing compatibility with the rest of the Fediverse?

    If they chose to use any of the 3 solutions I described, there would be no changes on the other servers to receive and parse the message. But because it uses a different type, now those serves that want to store the information about an answer being accepted have to write code specifically to handle messages from PieFed.

    It also works in the other direction: if I want to send an “accept” activity for a comment, I could do it from my server and PieFed could easily understand it as well. But because they want to create their own ad-hoc solution, then they won’t be able to.

    When you’re the first one doing something with ActivityPub, you have to create it yourself.

    No, you don’t. The whole point of Linked Data and RDF is that nodes can send data to each other without having to agree on any new protocol

    Piefed features inspired by existing implementations such as the emoji reactions

    You are only making my point. Emojis have already a defined extension, this is why it’s easier to adopt it.

    picking the one feature

    It’s not just that. They also proposed some ad-hoc activities for moderation in the past and their “import community” works by taking posts and rewriting them as if they originated in the piefed instance. These are all signs that the devs either don’t understand or don’t care about JSON-LD as an standard.



  • It’s this kind of thinig that makes me think of PieFed as just a pile of hacks with no serious consideration for the Fediverse

    Designating which comment is an answer involves federating a new Activity:

    {  
             "id": "https://piefed.social/activities/answer/hgb4iO4b8UAFRTn", 
             "type": "ChooseAnswer",  
             "actor": "https://piefed.socialz/u/rimu", 
             "object": "https://piefed.ngrok.app/comment/224",  
             "@context": ["https://www.w3.org/ns/activitystreams", "https://w3id.org/security/v1"],  
             "audience": "https://crust.piefed.social/c/linux_questions",  
             "to": ["https://www.w3.org/ns/activitystreams#Public"],  
             "cc": ["https://crust.piefed.social/c/linux_questions"]  
    }  
    

    There are at least three different ways to implement this in a way compatible with ActivityPub:

    1. Send an “as:accept” activity with the comment as the object.
    2. Add an attribute for the comment indicating that it has been selected.
    3. Create a collection for chosen answers, add to the post object.

    And even if this type of new activity was a necessity, they could add their own extensions via a proper JSON-LD context definition. But they completely disregard JSON-LD, which means that they expect other servers to either (1) adopt their ad-hoc vocabulary or (2) ignore it completely and keep this idea that “Only PieFed has these features”.







  • No, far from me saying that the clients (apps?) need to look the same. What I am saying is that the differentiation should be happening at the client, not the server.

    It’s the thing with Communick. I wish I didn’t have to offer separate instances for each of the services (Mastodon, Lemmy, Funkwhale) but that every member could get one account which then could use as their main fediverse actor, regardless of “frontend” suited them best. The shell should adapt to the user, instead of the user being forced to adapt to the application.