Skip to content

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone

Topic removal from a category/community

Technical Discussion
29 5 126

Gli ultimi otto messaggi ricevuti dalla Federazione
  • Yes, I think I like the idea of clients being able to store data on the server however they like. It reminds me of this description of ATProto that I found recently: https://overreacted.io/a-social-filesystem/

    I guess my question is: once I store my custom stuff in custom places on my server, how do I publish this so other people can find?

    And, object IDs are usually defined by the server. So how would it work to say "create a collection named XYZ and add this object to it"?

    @silverpill @mariusor @trwnh

    read more

  • @benpate @silverpill in a client managed followers collection i would Add you to my followers just like fedi instances currently do silently. "but how can you prove--" yes exactly, how can current fedi prove anyone is a follower either? you need the Follow+Accept pair to both be live without an Undo on either, right? and that's what leads to the "follow state machine" on fedi that drifts out of sync and leads to private posts being leaked to removed followers (which you can't officially do!)

    read more

  • @benpate @silverpill @mariusor none of the IDs should have any semantics; from the outside, there is no distinction between a client managed or server managed collection. likes/shares/etc could be managed by a "client" like mastodon, or even a "default" one. it's not any more complex unless you want to vary the collection responses based on the request headers. for that you need a minimal dynamic layer with an access control policy of some sort. (WAC is the simplest, but ACP is more powerful)

    read more

  • @silverpill @mariusor @trwnh

    I e*love* this idea- especially in principle. I say that because I’m having a hard time wrapping my head around this and how it would be used in practice.

    Do you think you could post an example workflow (or three) to demonstrate how this would work?

    I get that objects could be added to client-defined collections (very cool) but if object/collection IDs don’t have predefined semantics, how will I know where to look to get the data I need?

    read more

  • > The thanks was for your input with regards to collection management.

    @silverpill of course, sorry for the misunderstanding. Doubly so, for forgetting Mitra is Rust, I remembered it to be Python. :D

    And yes, the difficulty is indeed in massaging JSON-LD documents into strongly typed data that are meaningful for library consumers. However I've not despaired yet... there's light at the end of that boring tunnel. :P

    read more

  • @julian It looks simple on the surface, but in reality it is much more complicated than a non-generic server. In addition to activity transfer, generic server needs to maintain collections. First of all, a followers collection, which is often used as a delivery target. Then likes, shares etc. It needs to enforce permissions, to prevent actors on the same server from deleting each other posts.

    This is doable if you only care about activities defined in ActivityPub. But then you want to introduce context collection. And then 50 other extensions. How to do that without special-casing every one of them?

    This is where duck typing (FEP-2277) and unified security model (FEP-fe34) become really handy. No matter what the client sends, you can figure out what it is (an object, an actor, or a collection), and enforce permissions.

    read more

  • @silverpill@mitra.social I find it curious that this needs to be spelled out in an FEP.

    Isn't a generic AP server one that ingests anything and shoves it into the outbox... like a mail transfer agent?

    ... then delivers it dutifully?

    I mean, sure, you can do stuff in between, like spam detection, blocklists, etc etc etc...

    My quick read through of the FEP (and it was quick, because it was a short FEP :stuck_out_tongue:) seems to confirm this.

    read more

  • @silverpill lol, based on the "claims" at the begining, why do I feel like the "thanks" at the end should be in quotations?

    Also I take umbrage with calling what I've been doing for the past 8 years as "being not difficult to build nor an interesting concept". I feel like you, and other developers having the benefit of dynamically typed programming languages, underestimate how that can be worked into robust APIs when you're limited by less versatile stacks.

    read more
Post suggeriti
  • 0 Votes
    1 Posts
    7 Views
    I have received word that there are people combing through the PieFed code looking for anything that might be harmful. This is excellent and can only make PieFed better and less harmful. We appreciate their interest in PieFed and look forward to answering any questions and showing people around the code. Please join us at https://chat.piefed.social or https://matrix.to/#/#piefed-developers:matrix.org. There's no need to listen to rumors and amateur speculation when we're right here and happy to help. Come on in, the water's fine!
  • 0 Votes
    54 Posts
    224 Views
    Got it :smile: [image: 1768321405165-01e5619b-2f1f-4c27-96d6-45ced83b4d42-image.png]
  • 0 Votes
    1 Posts
    3 Views
    After 5 months of chipping away at it, PieFed is now an installable 'app' in the Yunohost store! It's been there for a couple of weeks actually but until this weekend it had a scary red exclamation mark because some automated tests hadn't ran yet. But that's gone now so I feel confident about recommending it to others. Yunohost is a linux distro for servers that has a web gui for installing and managing services, that takes all the hassle out of self-hosting. How to get started with Yunohost. @squirrel@piefed.kobel.fyi and @michael@piefed.chrisco.me have had good success setting up their instances already: https://piefed.social/c/piefed_meta/p/1561141/thanks-to-rimu-ericgaspar-and-tituspijean-yunohost-has-a-working-piefed-setup
  • 0 Votes
    6 Posts
    37 Views
    In general that's a good idea because you should never trust content coming from somewhere else (even in an S2S context) For reference, NodeBB literally sanitizes the bejeezus out of what it gets from anywhere. All classes are removed, all attributes are removed. I want it as close to semantic HTML as possible, and classes/attributes mean absolutely nothing because: I don't use the same CSS classes Attributes may not follow my own rules for when and where they are added. For example, Mastodon messes with any URL it federates out. It chops the anchor text in half, hides the rest behind invisible or something, and adds an ellipsis. invisible does something different in NodeBB, so there is a CSS conflict here. I strip everything and just show the URL as it was intended.