Salta al contenuto
0
  • Home
  • Piero Bosio
  • Blog
  • Mondo
  • Fediverso
  • News
  • Categorie
  • Old Web Site
  • Recenti
  • Popolare
  • Tag
  • Utenti
  • Home
  • Piero Bosio
  • Blog
  • Mondo
  • Fediverso
  • News
  • Categorie
  • Old Web Site
  • Recenti
  • Popolare
  • Tag
  • Utenti
Skin
  • Chiaro
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Scuro
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Predefinito (Nessuna skin)
  • Nessuna skin
Collassa

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone
  1. Home
  2. Categorie
  3. Technical Discussion
  4. Alright it's late and i need to go to bed, but here's a draft FEP to do full account migration with posts and whatever other kinda objects you want to bring with you.

Alright it's late and i need to go to bed, but here's a draft FEP to do full account migration with posts and whatever other kinda objects you want to bring with you.

Pianificato Fissato Bloccato Spostato Technical Discussion
moveallpostsfedidevfepfep1580fullmigrationaccountmigration
56 Post 12 Autori 211 Visualizzazioni
  • Da Vecchi a Nuovi
  • Da Nuovi a Vecchi
  • Più Voti
Rispondi
  • Risposta alla discussione
Effettua l'accesso per rispondere
Questa discussione è stata eliminata. Solo gli utenti con diritti di gestione possono vederla.
  • jonny@neuromatch.social jonny@neuromatch.social

    i think i'm supposed to direct discussion here, but i also linked back here from there, so idk in the spirit of everything being everywhere as far as i'm concerned go hogwild and yell at me online wherever you want

    https://socialhub.activitypub.rocks/t/fep-1580-move-actor-objects-with-a-migration-collection/8111

    julian@activitypub.space
    julian@activitypub.space
    julian@activitypub.space
    scritto su ultima modifica di julian@activitypub.space
    #21

    jonny@neuromatch.social FWIW there's no need to use SocialHub. You could post a discussion thread anywhere (like ActivityPub.Space, GitHub, a WordPress blog, etc... and yes, even a Mastodon status can be a starting point for discussion.)

    1 Risposta Ultima Risposta
    0
    • kopper@not-brain.d.on-t.work kopper@not-brain.d.on-t.work
      @jonny @mariusor from what i can tell the only reason the origin based security model and it's problems are a thing at all is because there is no mechanism to see who "owns" an object from a reference alone, which namespacing would solve

      otherwise you have to fetch every single object ever referenced just to check for a backlink. not only is fetching over AP is already inefficient as it is with no batching and surprisingly slow crypto,
      nobody serves backlinks of any kind
      trwnh@mastodon.social
      trwnh@mastodon.social
      trwnh@mastodon.social
      scritto su ultima modifica di
      #22

      @kopper @jonny @mariusor

      > see who "owns" an object from a reference alone, which namespacing would solve

      i don't think that's desirable on its own (since id should be opaque) but you can get it anyway if you require actors to have their own dns name (and then tls does the rest). that's how the same-origin model is *supposed* to work in theory; the bit that breaks the assumption is when one origin has multiple tenants

      re: actor namespaces, i am writing/exploring a fep for that actually...

      trwnh@mastodon.social mariusor@metalhead.club 2 Risposte Ultima Risposta
      0
      • trwnh@mastodon.social trwnh@mastodon.social

        @kopper @jonny @mariusor

        > see who "owns" an object from a reference alone, which namespacing would solve

        i don't think that's desirable on its own (since id should be opaque) but you can get it anyway if you require actors to have their own dns name (and then tls does the rest). that's how the same-origin model is *supposed* to work in theory; the bit that breaks the assumption is when one origin has multiple tenants

        re: actor namespaces, i am writing/exploring a fep for that actually...

        trwnh@mastodon.social
        trwnh@mastodon.social
        trwnh@mastodon.social
        scritto su ultima modifica di
        #23

        @kopper @jonny @mariusor basic idea is similar to toot:attributionDomains but with prefixes instead. the part i'm exploring is whether it makes more sense to just say heck it and use containers instead

        1 Risposta Ultima Risposta
        0
        • jonny@neuromatch.social jonny@neuromatch.social

          @kopper @mariusor in my fediverse, objects are given absolute addresses like @{actorPublicKey}/whatever/i/want and displayed like {petName}/whatever/i/want

          trwnh@mastodon.social
          trwnh@mastodon.social
          trwnh@mastodon.social
          scritto su ultima modifica di
          #24

          @jonny @kopper @mariusor i've had the same wish, except instead of "actorPublicKey" it's any uri

          basically take a base uri for your contact in your address book, and append a relative reference. the did specs can do this with service + relativeRef, and i think https://w3id.org/fep/e3e9 uses that? i'd like to be able to do that with cids too, or probably even http redirects

          1 Risposta Ultima Risposta
          0
          • trwnh@mastodon.social trwnh@mastodon.social

            @kopper @jonny @mariusor

            > see who "owns" an object from a reference alone, which namespacing would solve

            i don't think that's desirable on its own (since id should be opaque) but you can get it anyway if you require actors to have their own dns name (and then tls does the rest). that's how the same-origin model is *supposed* to work in theory; the bit that breaks the assumption is when one origin has multiple tenants

            re: actor namespaces, i am writing/exploring a fep for that actually...

            mariusor@metalhead.club
            mariusor@metalhead.club
            mariusor@metalhead.club
            scritto su ultima modifica di
            #25

            @trwnh the way I meant namespacing object IDs was simply related to being able to decompose an IRI into a clean and intuitive structure: example.com/~jdoe/outbox/123, means that the activity with that ID can be said to be contained in jdoe's outbox on example.com.

            @kopper @jonny

            trwnh@mastodon.social 1 Risposta Ultima Risposta
            0
            • mariusor@metalhead.club mariusor@metalhead.club

              @trwnh the way I meant namespacing object IDs was simply related to being able to decompose an IRI into a clean and intuitive structure: example.com/~jdoe/outbox/123, means that the activity with that ID can be said to be contained in jdoe's outbox on example.com.

              @kopper @jonny

              trwnh@mastodon.social
              trwnh@mastodon.social
              trwnh@mastodon.social
              scritto su ultima modifica di
              #26

              @mariusor @kopper @jonny the uri owner in this case is example.com and you cannot assume that "~jdoe" or "/outbox/" mean anything special

              ...however, if you knew that /~jdoe was an actor, then /~jdoe can tell you that you can implicitly trust any attribution claims to /~jdoe if the resource exists within some prefix like /~jdoe/ or /objects/

              mariusor@metalhead.club 1 Risposta Ultima Risposta
              0
              • trwnh@mastodon.social trwnh@mastodon.social

                @mariusor @kopper @jonny the uri owner in this case is example.com and you cannot assume that "~jdoe" or "/outbox/" mean anything special

                ...however, if you knew that /~jdoe was an actor, then /~jdoe can tell you that you can implicitly trust any attribution claims to /~jdoe if the resource exists within some prefix like /~jdoe/ or /objects/

                mariusor@metalhead.club
                mariusor@metalhead.club
                mariusor@metalhead.club
                scritto su ultima modifica di
                #27

                > you cannot assume

                @trwnh but I can. :D At least in GoActivityPub I built some logic around composing IRIs using this kind of mechanism.

                It's not guaranteed for handling external objects, but it's useful for creating internal ones.

                And in the context of moving objects (which is what I was replying to initially), I feel like having a example.com/~jdoe namespace ensures that you can do a batch move (and not have collisions) for all objects that have them as author just by changing the relevant bits of the object IDs, instead of having to generate a new ID individually for each moved object.

                @kopper @jonny

                trwnh@mastodon.social 1 Risposta Ultima Risposta
                0
                • mariusor@metalhead.club mariusor@metalhead.club

                  > you cannot assume

                  @trwnh but I can. :D At least in GoActivityPub I built some logic around composing IRIs using this kind of mechanism.

                  It's not guaranteed for handling external objects, but it's useful for creating internal ones.

                  And in the context of moving objects (which is what I was replying to initially), I feel like having a example.com/~jdoe namespace ensures that you can do a batch move (and not have collisions) for all objects that have them as author just by changing the relevant bits of the object IDs, instead of having to generate a new ID individually for each moved object.

                  @kopper @jonny

                  trwnh@mastodon.social
                  trwnh@mastodon.social
                  trwnh@mastodon.social
                  scritto su ultima modifica di
                  #28

                  @mariusor well, internally you control the identifiers, so you can do whatever you want. the danger is in assuming meaning externally.

                  1 Risposta Ultima Risposta
                  0
                  • silverpill@mitra.social
                    silverpill@mitra.social
                    silverpill@mitra.social
                    scritto su ultima modifica di
                    #29

                    @julian @jonny SocialHub is not a bad place though - FEP category is federated

                    https://socialhub.activitypub.rocks/ap/object/bee813d28b0947ffce97f8c2bbebb955

                    julian@activitypub.space 1 Risposta Ultima Risposta
                    0
                    • silverpill@mitra.social silverpill@mitra.social

                      @julian @jonny SocialHub is not a bad place though - FEP category is federated

                      https://socialhub.activitypub.rocks/ap/object/bee813d28b0947ffce97f8c2bbebb955

                      julian@activitypub.space
                      julian@activitypub.space
                      julian@activitypub.space
                      scritto su ultima modifica di
                      #30

                      Of course, not trying to say otherwise. Just that there is a preconception that jonny@neuromatch.social had to post there as part of the FEP process, which even I was under the assumption of.

                      We chatted about that and you disabused me of that notion :smirk:

                      1 Risposta Ultima Risposta
                      0
                      • jonny@neuromatch.social jonny@neuromatch.social

                        @kopper i was looking for an instance metadata item that was just some list of tokens that was "the list of things that the instance supports," and i could have sworn it existed, but i couldn't find it when i looked. most fedi apps (and even most LD apps) don't actually dereference the URIs in a context and treat them as tokens anyway, but yes failure to resolve terms is a big problem and am not a fan of DNS-based linked data.

                        julian@activitypub.space
                        julian@activitypub.space
                        julian@activitypub.space
                        scritto su ultima modifica di
                        #31

                        jonny@neuromatch.social kopper@not-brain.d.on-t.work Perhaps Capability Discovery is what you might be looking for? There is some implementor support for this one.

                        1 Risposta Ultima Risposta
                        0
                        • jonny@neuromatch.social jonny@neuromatch.social

                          Alright it's late and i need to go to bed, but here's a draft FEP to do full account migration with posts and whatever other kinda objects you want to bring with you. It's a trivial expansion of existing ActivityPub/streams systems and supports gradual migration as it's implemented and after an account migration. It should be possible to migrate pretty much everything this way, both private and public objects.

                          criticism, feedback, revisions, etc. welcome - i don't think this is a "final version" and there are certainly things i overlooked.

                          https://codeberg.org/fediverse/fep/src/commit/e6f7b7ce32aa6f84dcfa7bfdc10fd65119d75984/fep/1580/fep-1580.md

                          https://codeberg.org/fediverse/fep/pulls/692

                          #MoveAllPosts #FediDev #FEP #FEP_1580 #FullMigration #AccountMigration

                          elduvelle@neuromatch.social
                          elduvelle@neuromatch.social
                          elduvelle@neuromatch.social
                          scritto su ultima modifica di
                          #32

                          @jonny you're amazing 😍

                          1 Risposta Ultima Risposta
                          0
                          • jonny@neuromatch.social jonny@neuromatch.social

                            Alright it's late and i need to go to bed, but here's a draft FEP to do full account migration with posts and whatever other kinda objects you want to bring with you. It's a trivial expansion of existing ActivityPub/streams systems and supports gradual migration as it's implemented and after an account migration. It should be possible to migrate pretty much everything this way, both private and public objects.

                            criticism, feedback, revisions, etc. welcome - i don't think this is a "final version" and there are certainly things i overlooked.

                            https://codeberg.org/fediverse/fep/src/commit/e6f7b7ce32aa6f84dcfa7bfdc10fd65119d75984/fep/1580/fep-1580.md

                            https://codeberg.org/fediverse/fep/pulls/692

                            #MoveAllPosts #FediDev #FEP #FEP_1580 #FullMigration #AccountMigration

                            rimu@piefed.social
                            rimu@piefed.social
                            rimu@piefed.social
                            scritto su ultima modifica di
                            #33

                            This looks fine to me, great to see many edge cases considered.

                            1 Risposta Ultima Risposta
                            0
                            • jonny@neuromatch.social jonny@neuromatch.social

                              i'm almost disappointed bc it's so simple and obvious. there are a lot of caveats and requirements there because i was trying to make it clear enough to be implementable, but really it's as simple as doing this: https://neuromatch.social/@jonny/115338330944599542

                              gatesvp@mstdn.ca
                              gatesvp@mstdn.ca
                              gatesvp@mstdn.ca
                              scritto su ultima modifica di
                              #34

                              @jonny I'm seeing notes here for the technical challenge of performing a migration of objects between two willing hosts given a user in good standing with sufficient credentials. I think it's great that you have written that down.

                              But I think the reason we don't have this yet is because that's only 20% of the problem. The other 80% of the challenge is contained in that first sentence of mine.

                              • How do we signal this intention to migrate to both hosts?
                              • How do we validate that both hosts are willing?
                              • How do the hosts validate credentials and good standing of both the migrating user and each other?
                              • What obligations does each party have to propagate and maintain this effective URL redirect?
                              • What controls does each party have in order to manage this transition process?
                              • How do we manage moderation of the incoming content?
                              • How will this impact current user agreements on most instances?

                              Any specification here needs to address admins and moderators as key players.

                              jonny@neuromatch.social 1 Risposta Ultima Risposta
                              0
                              • jonny@neuromatch.social jonny@neuromatch.social

                                Alright it's late and i need to go to bed, but here's a draft FEP to do full account migration with posts and whatever other kinda objects you want to bring with you. It's a trivial expansion of existing ActivityPub/streams systems and supports gradual migration as it's implemented and after an account migration. It should be possible to migrate pretty much everything this way, both private and public objects.

                                criticism, feedback, revisions, etc. welcome - i don't think this is a "final version" and there are certainly things i overlooked.

                                https://codeberg.org/fediverse/fep/src/commit/e6f7b7ce32aa6f84dcfa7bfdc10fd65119d75984/fep/1580/fep-1580.md

                                https://codeberg.org/fediverse/fep/pulls/692

                                #MoveAllPosts #FediDev #FEP #FEP_1580 #FullMigration #AccountMigration

                                gaditb@icosahedron.website
                                gaditb@icosahedron.website
                                gaditb@icosahedron.website
                                scritto su ultima modifica di
                                #35

                                @jonny Could I possibly encourage you to add a brief 1-2 sentences-or-so "Social Considerations" section -- or, well, the way you organized your headings a "Social" heading in your "Discussion" section -- next to "Privacy" and "Security".

                                I think in this case the basic Social motivation and implication for this specifically is reasonably obvious to everyone in the discussion right now, but because that obviousness won't be as available to people looking back at this during a more future implementation and won't be as available to people reading this looking for interactions with their own drafting FEP at a later point, it's worth including in the text itself.

                                If you don't want to or if this isn't the sort of feedback you're looking for no worries and sorry for imposing.
                                (Alternatively if you'd be up for it but have many other things atm, and if you trust me enough, I could try to grab time from dodging between the holidays at the moment and do a brief one for you, if you want.)

                                jonny@neuromatch.social 1 Risposta Ultima Risposta
                                0
                                • gatesvp@mstdn.ca gatesvp@mstdn.ca

                                  @jonny I'm seeing notes here for the technical challenge of performing a migration of objects between two willing hosts given a user in good standing with sufficient credentials. I think it's great that you have written that down.

                                  But I think the reason we don't have this yet is because that's only 20% of the problem. The other 80% of the challenge is contained in that first sentence of mine.

                                  • How do we signal this intention to migrate to both hosts?
                                  • How do we validate that both hosts are willing?
                                  • How do the hosts validate credentials and good standing of both the migrating user and each other?
                                  • What obligations does each party have to propagate and maintain this effective URL redirect?
                                  • What controls does each party have in order to manage this transition process?
                                  • How do we manage moderation of the incoming content?
                                  • How will this impact current user agreements on most instances?

                                  Any specification here needs to address admins and moderators as key players.

                                  jonny@neuromatch.social
                                  jonny@neuromatch.social
                                  jonny@neuromatch.social
                                  scritto su ultima modifica di
                                  #36

                                  @gatesvp
                                  All these questions are addressed in the FEP except moderation, and I'm talking with masto devs about what would be good there

                                  gatesvp@mstdn.ca 1 Risposta Ultima Risposta
                                  0
                                  • gaditb@icosahedron.website gaditb@icosahedron.website

                                    @jonny Could I possibly encourage you to add a brief 1-2 sentences-or-so "Social Considerations" section -- or, well, the way you organized your headings a "Social" heading in your "Discussion" section -- next to "Privacy" and "Security".

                                    I think in this case the basic Social motivation and implication for this specifically is reasonably obvious to everyone in the discussion right now, but because that obviousness won't be as available to people looking back at this during a more future implementation and won't be as available to people reading this looking for interactions with their own drafting FEP at a later point, it's worth including in the text itself.

                                    If you don't want to or if this isn't the sort of feedback you're looking for no worries and sorry for imposing.
                                    (Alternatively if you'd be up for it but have many other things atm, and if you trust me enough, I could try to grab time from dodging between the holidays at the moment and do a brief one for you, if you want.)

                                    jonny@neuromatch.social
                                    jonny@neuromatch.social
                                    jonny@neuromatch.social
                                    scritto su ultima modifica di
                                    #37

                                    @gaditb
                                    I briefly addressed this in the intro but I agree its worth expanding on

                                    gaditb@icosahedron.website 1 Risposta Ultima Risposta
                                    0
                                    • jonny@neuromatch.social jonny@neuromatch.social

                                      @gaditb
                                      I briefly addressed this in the intro but I agree its worth expanding on

                                      gaditb@icosahedron.website
                                      gaditb@icosahedron.website
                                      gaditb@icosahedron.website
                                      scritto su ultima modifica di
                                      #38

                                      @jonny (My low-key agenda is, I kinda think every FEP should have a section about it. It's like, part of the discussion and the years of prior context people are discussing from,,)

                                      gaditb@icosahedron.website 1 Risposta Ultima Risposta
                                      0
                                      • gaditb@icosahedron.website gaditb@icosahedron.website

                                        @jonny (My low-key agenda is, I kinda think every FEP should have a section about it. It's like, part of the discussion and the years of prior context people are discussing from,,)

                                        gaditb@icosahedron.website
                                        gaditb@icosahedron.website
                                        gaditb@icosahedron.website
                                        scritto su ultima modifica di
                                        #39

                                        @jonny Okay actually more directly-specufic-to-content thought. Although one that I don't know the right answer to:

                                        > Constitutively private objects like bookmarks, blocks, and mutes SHOULD be ingested during the ingestion routine for the purposes of creating a seamless migration from the perspective of the migrating Actor, but MUST NOT be included in the migration collection.

                                        For Blocks in particular -- In cases where, as is allowed by SHOULD, a migration (either source or destination) implements migrating posts but /not/ Blocks,
                                        that silently opens up old posts to now no longer be blocked from interaction, which feels particular significant currently (where we don't have shared blocklists) since it means primarily accounts that have been specifically blocked on an individual basis -- likely (? this is an assumption) for recurringly-applicable reasons.

                                        jonny@neuromatch.social 1 Risposta Ultima Risposta
                                        0
                                        • gaditb@icosahedron.website gaditb@icosahedron.website

                                          @jonny Okay actually more directly-specufic-to-content thought. Although one that I don't know the right answer to:

                                          > Constitutively private objects like bookmarks, blocks, and mutes SHOULD be ingested during the ingestion routine for the purposes of creating a seamless migration from the perspective of the migrating Actor, but MUST NOT be included in the migration collection.

                                          For Blocks in particular -- In cases where, as is allowed by SHOULD, a migration (either source or destination) implements migrating posts but /not/ Blocks,
                                          that silently opens up old posts to now no longer be blocked from interaction, which feels particular significant currently (where we don't have shared blocklists) since it means primarily accounts that have been specifically blocked on an individual basis -- likely (? this is an assumption) for recurringly-applicable reasons.

                                          jonny@neuromatch.social
                                          jonny@neuromatch.social
                                          jonny@neuromatch.social
                                          scritto su ultima modifica di
                                          #40

                                          @gaditb
                                          Really good point, I have some ideas for language here, and there does need to be a bit more specificity about how to handle visibility for e.g. instance software that may not have blocks importing from software that does - basically that visibility must be at least as constrained as the source object

                                          gaditb@icosahedron.website 1 Risposta Ultima Risposta
                                          0

                                          Ciao! Sembra che tu sia interessato a questa conversazione, ma non hai ancora un account.

                                          Stanco di dover scorrere gli stessi post a ogni visita? Quando registri un account, tornerai sempre esattamente dove eri rimasto e potrai scegliere di essere avvisato delle nuove risposte (tramite email o notifica push). Potrai anche salvare segnalibri e votare i post per mostrare il tuo apprezzamento agli altri membri della comunità.

                                          Con il tuo contributo, questo post potrebbe essere ancora migliore 💗

                                          Registrati Accedi
                                          Rispondi
                                          • Risposta alla discussione
                                          Effettua l'accesso per rispondere
                                          • Da Vecchi a Nuovi
                                          • Da Nuovi a Vecchi
                                          • Più Voti


                                          • 1
                                          • 2
                                          • 3
                                          Feed RSS
                                          Alright it's late and i need to go to bed, but here's a draft FEP to do full account migration with posts and whatever other kinda objects you want to bring with you.
                                          @pierobosio@soc.bosio.info
                                          NodeBB Contributors
                                          • Accedi

                                          • Accedi o registrati per effettuare la ricerca.
                                          • Primo post
                                            Ultimo post