Feel free to open a PR: https://codeberg.org/rimu/pyfedi
Comment on PieFed 1.4 is released - emoji, federated stackoverflow and AI content filters
rglullis@communick.news 22 hours ago
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:
- Send an “as:accept” activity with the comment as the object.
- Add an attribute for the comment indicating that it has been selected.
- Create a collection for chosen answers, add to the post object.
Blaze@piefed.zip 21 hours ago
rglullis@communick.news 20 hours ago
This is not a matter of “opening a PR”. The fact that they are adding features in this completely ad-hoc manner shows that they are prioritizing features for piefed over interoperability with the wider Fediverse. If my job was to go around convincing every AP developer that their approach is flawed and to fix their mistakes, I’d be doing nothing else with my life.
What I can do though is to create a framework that makes it easy to work with JSON-LD and occasionally file bug reports
An aside: this “feel free to open a PR” - without any justification or discussion about the merit of issue at hand - is the standard passive-aggressive response from every developer who is not interested in making the change. It’s sad to see that it’s also becoming the go-to retort for the project cheerleaders…
Blaze@piefed.zip 20 hours ago
How is creating a new Activity type preventing compatibility with the rest of the Fediverse? Is there any other Fediverse platform that has a similar feature that Piefed could have replicated?
When you’re the first one doing something with ActivityPub, you have to create it yourself. This is not perfect, and you raise valid points, hence my suggestion to engage on the Codeberg.
On the other hand, for other Piefed features inspired by existing implementations such as the emoji reactions, the feature is compatible with those platforms which already supported the feature.
Regarding your last paragraph, picking the one feature for which the implementation can be improved and saying “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” while it’s clearly not true seems fully aggressive.
IndustryStandard@lemmy.world 18 hours ago
Because there is no real need for Piefed to create their own activity type besides it being slightly easier for their devs to do everything exactly the way they want.
But this is very detrimental to the fediverse because it means that everyone would have to change their software to suit the needs of Piefed.
rglullis@communick.news 19 hours ago
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 proposed, 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.
aasatru@kbin.earth 17 hours ago
"feel free to open a PR" - without any justification or discussion about the merit of issue at hand - is the standard passive-aggressive response from every developer who is not interested in making the change.
Man, the entitlement. Especially coming from the only person I know of who is here with the explicit goal of monetizing the platform.
There's a way of voicing concerns and criticisms in a way that is constructive, helpful, and in good faith, inviting to an open discussion with concerned parties. Yours is not that.
rglullis@communick.news 16 hours ago
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 pieces 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.
drmoose@lemmy.world 5 hours ago
I’m confused - this seems like idiomatic way to add new features in activity pub? What’s actually missing here?
rglullis@communick.news 4 hours ago
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
ChooseAnswermean 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:acceptis right there: Why define a new term when something likecan represent the information that a comment has been accepted as a good answer to the question?