Skip to content
  • Categories
  • Recent
  • Popular
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB-ActivityPub Bridge Test Instance

  1. Home
  2. Categories
  3. General Discussion
  4. AP Test (community.nodebb.org)
  5. i will not rest until fedi devs start using as:context properly. this is my single-issue. /hj

i will not rest until fedi devs start using as:context properly. this is my single-issue. /hj

Scheduled Pinned Locked Moved AP Test (community.nodebb.org)
36 Posts 7 Posters 454 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • trwnh@mastodon.socialT trwnh@mastodon.social

    @evan that would be the ideal, yes. streams does this (except i think they expose all the activities). pleroma uses a uri that doesnt resolve to anything. mastodon still uses the old ostatus:conversation.

    evan@cosocial.caE This user is from outside of this forum
    evan@cosocial.caE This user is from outside of this forum
    evan@cosocial.ca
    wrote on last edited by
    #14

    @trwnh 🫤 we'll get there. Is there a FEP?

    trwnh@mastodon.socialT 1 Reply Last reply
    0
    • evan@cosocial.caE evan@cosocial.ca

      @trwnh 🫤 we'll get there. Is there a FEP?

      trwnh@mastodon.socialT This user is from outside of this forum
      trwnh@mastodon.socialT This user is from outside of this forum
      trwnh@mastodon.social
      wrote on last edited by
      #15

      @evan https://w3id.org/fep/7888

      devnull@crag.socialD 1 Reply Last reply
      0
      • trwnh@mastodon.socialT trwnh@mastodon.social

        i will not rest until fedi devs start using as:context properly. this is my single-issue. /hj

        tedu@honk.tedunangst.comT This user is from outside of this forum
        tedu@honk.tedunangst.comT This user is from outside of this forum
        tedu@honk.tedunangst.com
        wrote on last edited by
        #16

        @trwnh interesting, I thought about this and decided that context should not be derefencable because nobody owns it. Anyone can create a new context, and then anyone can append to it. If you want to own the collection, make it a proper replies collection.

        trwnh@mastodon.socialT 1 Reply Last reply
        0
        • tedu@honk.tedunangst.comT tedu@honk.tedunangst.com

          @trwnh interesting, I thought about this and decided that context should not be derefencable because nobody owns it. Anyone can create a new context, and then anyone can append to it. If you want to own the collection, make it a proper replies collection.

          trwnh@mastodon.socialT This user is from outside of this forum
          trwnh@mastodon.socialT This user is from outside of this forum
          trwnh@mastodon.social
          wrote on last edited by
          #17

          @tedu the problem with deferring to a "replies" collection is that declaring a context is completely orthogonal to declaring a reply

          my thinking is that IF:
          - the context is present
          - the context is dereferenceable
          - the context is a Collection that has attributedTo

          THEN:
          - the context collection is managed by that attributedTo actor, via Add/Remove
          - you can participate by sending your Create to that actor, with the object having the same context

          trwnh@mastodon.socialT 1 Reply Last reply
          0
          • trwnh@mastodon.socialT trwnh@mastodon.social

            @tedu the problem with deferring to a "replies" collection is that declaring a context is completely orthogonal to declaring a reply

            my thinking is that IF:
            - the context is present
            - the context is dereferenceable
            - the context is a Collection that has attributedTo

            THEN:
            - the context collection is managed by that attributedTo actor, via Add/Remove
            - you can participate by sending your Create to that actor, with the object having the same context

            trwnh@mastodon.socialT This user is from outside of this forum
            trwnh@mastodon.socialT This user is from outside of this forum
            trwnh@mastodon.social
            wrote on last edited by
            #18

            @tedu side note, you do run into similar issues with establishing a two-way confirmation, e.g. that a reply is in the replies collection, or that an object is in its declared context. but that's a matter of convention and not a technical issue. i suppose you could have reply proofs and/or context proofs, but that's out of scope and is an exercise left to the reader

            trwnh@mastodon.socialT 1 Reply Last reply
            0
            • trwnh@mastodon.socialT trwnh@mastodon.social

              @tedu side note, you do run into similar issues with establishing a two-way confirmation, e.g. that a reply is in the replies collection, or that an object is in its declared context. but that's a matter of convention and not a technical issue. i suppose you could have reply proofs and/or context proofs, but that's out of scope and is an exercise left to the reader

              trwnh@mastodon.socialT This user is from outside of this forum
              trwnh@mastodon.socialT This user is from outside of this forum
              trwnh@mastodon.social
              wrote on last edited by
              #19

              @tedu my tentative approach would be to have a resolvable "stamp" in the form of an Add activity targeting either the `replies` collection or the `context` collection, although one raised objection was that fedi devs don't want to check for inReplyTo.replies being equivalent to replyProof.target? i can't say i understand the objection myself... something about inefficiencies with current database schemas in Mastodon et al. the alternative proposal was a custom AcceptReply activity, i think.

              trwnh@mastodon.socialT 1 Reply Last reply
              0
              • trwnh@mastodon.socialT trwnh@mastodon.social

                @tedu my tentative approach would be to have a resolvable "stamp" in the form of an Add activity targeting either the `replies` collection or the `context` collection, although one raised objection was that fedi devs don't want to check for inReplyTo.replies being equivalent to replyProof.target? i can't say i understand the objection myself... something about inefficiencies with current database schemas in Mastodon et al. the alternative proposal was a custom AcceptReply activity, i think.

                trwnh@mastodon.socialT This user is from outside of this forum
                trwnh@mastodon.socialT This user is from outside of this forum
                trwnh@mastodon.social
                wrote on last edited by
                #20

                @tedu to which i say: just make it a multityped activity, ["Add", "AcceptReply"]

                finally, the one other issue with the "stamp" idea is that it doesn't necessarily play well with edits. you can't easily approve a specific revision of the reply/comment/etc. all you can do is somehow detect this and revoke your approval by making the "stamp" nonresolvable.

                but, again... convention can solve this? just convene to always check the replies/context collection if you care about the authority of owners

                1 Reply Last reply
                0
                • trwnh@mastodon.socialT trwnh@mastodon.social

                  @evan https://w3id.org/fep/7888

                  devnull@crag.socialD This user is from outside of this forum
                  devnull@crag.socialD This user is from outside of this forum
                  devnull@crag.social
                  wrote on last edited by
                  #21

                  @trwnh @evan thanks, it seems like even if there is disagreement over whether 400e or 7888 is the preferred approach, alignment on implementations of `context` is important even between those who choose to implement 7888.

                  devnull@crag.socialD 1 Reply Last reply
                  0
                  • devnull@crag.socialD devnull@crag.social

                    @trwnh @evan thanks, it seems like even if there is disagreement over whether 400e or 7888 is the preferred approach, alignment on implementations of `context` is important even between those who choose to implement 7888.

                    devnull@crag.socialD This user is from outside of this forum
                    devnull@crag.socialD This user is from outside of this forum
                    devnull@crag.social
                    wrote on last edited by
                    #22

                    @trwnh @evan to that end, it's be something the forum/link sharing WG would love to address...

                    1 Reply Last reply
                    0
                    • trwnh@mastodon.socialT trwnh@mastodon.social

                      pleroma and streams are like 80-90% of the way there, the only missing bit is signaling who owns the context via `attributedTo`

                      silverpill@mitra.socialS This user is from outside of this forum
                      silverpill@mitra.socialS This user is from outside of this forum
                      silverpill@mitra.social
                      wrote on last edited by
                      #23

                      @trwnh Conversations in streams now have attributedTo property (example: https://fediversity.site/conversation/7342c8d7-6ac2-4128-8168-6cbd0dc9a37c). Does it make streams a complete FEP-7888 implementation?

                      trwnh@mastodon.socialT 1 Reply Last reply
                      0
                      • silverpill@mitra.socialS silverpill@mitra.social

                        @trwnh Conversations in streams now have attributedTo property (example: https://fediversity.site/conversation/7342c8d7-6ac2-4128-8168-6cbd0dc9a37c). Does it make streams a complete FEP-7888 implementation?

                        trwnh@mastodon.socialT This user is from outside of this forum
                        trwnh@mastodon.socialT This user is from outside of this forum
                        trwnh@mastodon.social
                        wrote on last edited by
                        #24

                        @silverpill i guess it does? it depends on whether comments are sent to context.attributedTo or not.

                        trwnh@mastodon.socialT 1 Reply Last reply
                        0
                        • trwnh@mastodon.socialT trwnh@mastodon.social

                          @silverpill i guess it does? it depends on whether comments are sent to context.attributedTo or not.

                          trwnh@mastodon.socialT This user is from outside of this forum
                          trwnh@mastodon.socialT This user is from outside of this forum
                          trwnh@mastodon.social
                          wrote on last edited by
                          #25

                          @silverpill in any case if i had to describe "compliance levels" then it would be something like:

                          0: does not use context (mastodon)
                          1: uses non-dereferenceable context (pleroma)
                          2.1: context resolves to a collection representing the conversation (streams?)
                          2.2: context has attributedTo and participating objects are sent to this actor

                          so all it would take for streams to be 2.2 compliant is for their "conversation containers" to be sent to `context.attributedTo` instead of `target.attributedTo`

                          trwnh@mastodon.socialT 1 Reply Last reply
                          0
                          • trwnh@mastodon.socialT trwnh@mastodon.social

                            @silverpill in any case if i had to describe "compliance levels" then it would be something like:

                            0: does not use context (mastodon)
                            1: uses non-dereferenceable context (pleroma)
                            2.1: context resolves to a collection representing the conversation (streams?)
                            2.2: context has attributedTo and participating objects are sent to this actor

                            so all it would take for streams to be 2.2 compliant is for their "conversation containers" to be sent to `context.attributedTo` instead of `target.attributedTo`

                            trwnh@mastodon.socialT This user is from outside of this forum
                            trwnh@mastodon.socialT This user is from outside of this forum
                            trwnh@mastodon.social
                            wrote on last edited by
                            #26

                            @silverpill reading through the "conversation containers" doc at https://codeberg.org/streams/streams/src/branch/release/doc/develop/en/Containers.mc i have the following comments

                            - the notion of a "top level post" is kinda redundant with the context, and its definition as "without inReplyTo" can be problematic if your "top-level post" is actually a reply to something. imagine an article inReplyTo something, but with its own context

                            - "the conversation owner (target->attributedTo)" seems to confirm not 2.2...

                            trwnh@mastodon.socialT 1 Reply Last reply
                            0
                            • trwnh@mastodon.socialT trwnh@mastodon.social

                              @silverpill reading through the "conversation containers" doc at https://codeberg.org/streams/streams/src/branch/release/doc/develop/en/Containers.mc i have the following comments

                              - the notion of a "top level post" is kinda redundant with the context, and its definition as "without inReplyTo" can be problematic if your "top-level post" is actually a reply to something. imagine an article inReplyTo something, but with its own context

                              - "the conversation owner (target->attributedTo)" seems to confirm not 2.2...

                              trwnh@mastodon.socialT This user is from outside of this forum
                              trwnh@mastodon.socialT This user is from outside of this forum
                              trwnh@mastodon.social
                              wrote on last edited by
                              #27

                              @silverpill cc @mikedev for posterity. also the swicg threaded discussions task force (hi @julian and @angus) is looking at this from a forum perspective and not just a social media perspective. it is quite likely they will arrive at a similar finding in their report

                              julian@community.nodebb.orgJ 1 Reply Last reply
                              0
                              • trwnh@mastodon.socialT trwnh@mastodon.social

                                @silverpill cc @mikedev for posterity. also the swicg threaded discussions task force (hi @julian and @angus) is looking at this from a forum perspective and not just a social media perspective. it is quite likely they will arrive at a similar finding in their report

                                julian@community.nodebb.orgJ This user is from outside of this forum
                                julian@community.nodebb.orgJ This user is from outside of this forum
                                julian@community.nodebb.org
                                wrote on last edited by
                                #28

                                @trwnh@mastodon.social something @angus@socialhub.activitypub.rocks and I were discussing was that some implementations include OP in the Page/context (iirc Lemmy does this @nutomic@lemmy.ml), and subsequent replies are Notes, whereas NodeBB, Discourse, and later Flarum, treat the context as merely a container.

                                It seems the latter fits better with the vision of 7888 but I'm not sure whether concessions need to be made for those other types.

                                trwnh@mastodon.socialT 1 Reply Last reply
                                0
                                • julian@community.nodebb.orgJ julian@community.nodebb.org

                                  @trwnh@mastodon.social something @angus@socialhub.activitypub.rocks and I were discussing was that some implementations include OP in the Page/context (iirc Lemmy does this @nutomic@lemmy.ml), and subsequent replies are Notes, whereas NodeBB, Discourse, and later Flarum, treat the context as merely a container.

                                  It seems the latter fits better with the vision of 7888 but I'm not sure whether concessions need to be made for those other types.

                                  trwnh@mastodon.socialT This user is from outside of this forum
                                  trwnh@mastodon.socialT This user is from outside of this forum
                                  trwnh@mastodon.social
                                  wrote on last edited by
                                  #29

                                  @julian @angus @nutomic i'm not sure what exactly you mean, but the exact types don't really matter (and shouldn't matter). for `context` you would just match against the id. after grouping by context, you are free to present in whichever way you want -- you can present in a flat chronological list, or in a nested reply tree sorted by some algorithmic scoring, it's all the same.

                                  evan@cosocial.caE 1 Reply Last reply
                                  0
                                  • trwnh@mastodon.socialT trwnh@mastodon.social

                                    @julian @angus @nutomic i'm not sure what exactly you mean, but the exact types don't really matter (and shouldn't matter). for `context` you would just match against the id. after grouping by context, you are free to present in whichever way you want -- you can present in a flat chronological list, or in a nested reply tree sorted by some algorithmic scoring, it's all the same.

                                    evan@cosocial.caE This user is from outside of this forum
                                    evan@cosocial.caE This user is from outside of this forum
                                    evan@cosocial.ca
                                    wrote on last edited by
                                    #30

                                    @trwnh @julian @angus @nutomic the `inReplyTo` property and `replies` collection give you what you need to build a tree structure.

                                    trwnh@mastodon.socialT 1 Reply Last reply
                                    0
                                    • evan@cosocial.caE evan@cosocial.ca

                                      @trwnh @julian @angus @nutomic the `inReplyTo` property and `replies` collection give you what you need to build a tree structure.

                                      trwnh@mastodon.socialT This user is from outside of this forum
                                      trwnh@mastodon.socialT This user is from outside of this forum
                                      trwnh@mastodon.social
                                      wrote on last edited by
                                      #31

                                      @evan @julian @angus @nutomic yeah, i'm just saying that crawling the tree is optional if you already have context. pleroma for example presents things in a flat chronological list, like an imageboard.

                                      example: post 3 is a reply to post 1, it has replies in posts 4 5 and 87. post 6 is in reply to post 2. there's an option to show the tree as indentation. if that option is disabled, you see posts in order 1 2 3 4 5 ... 87. if that option is enabled you see posts in order 1 2 6 3 4 5 87 and so on

                                      trwnh@mastodon.socialT 1 Reply Last reply
                                      0
                                      • trwnh@mastodon.socialT trwnh@mastodon.social

                                        @evan @julian @angus @nutomic yeah, i'm just saying that crawling the tree is optional if you already have context. pleroma for example presents things in a flat chronological list, like an imageboard.

                                        example: post 3 is a reply to post 1, it has replies in posts 4 5 and 87. post 6 is in reply to post 2. there's an option to show the tree as indentation. if that option is disabled, you see posts in order 1 2 3 4 5 ... 87. if that option is enabled you see posts in order 1 2 6 3 4 5 87 and so on

                                        trwnh@mastodon.socialT This user is from outside of this forum
                                        trwnh@mastodon.socialT This user is from outside of this forum
                                        trwnh@mastodon.social
                                        wrote on last edited by
                                        #32

                                        @evan @julian @angus @nutomic similarly, a chat app might not have `inReplyTo` on every single message. in fact, the vast majority of chat messages probably won't have `inReplyTo`. in this case, building a tree would fail spectacularly. all the chat messages are grouped together by the context of being in the same room, not by being in a reply tree. the reply is just metadata, like in discord or indieweb reply-contexts or the old youtube "video replies" feature.

                                        trwnh@mastodon.socialT evan@cosocial.caE 2 Replies Last reply
                                        0
                                        • trwnh@mastodon.socialT trwnh@mastodon.social

                                          @evan @julian @angus @nutomic similarly, a chat app might not have `inReplyTo` on every single message. in fact, the vast majority of chat messages probably won't have `inReplyTo`. in this case, building a tree would fail spectacularly. all the chat messages are grouped together by the context of being in the same room, not by being in a reply tree. the reply is just metadata, like in discord or indieweb reply-contexts or the old youtube "video replies" feature.

                                          trwnh@mastodon.socialT This user is from outside of this forum
                                          trwnh@mastodon.socialT This user is from outside of this forum
                                          trwnh@mastodon.social
                                          wrote on last edited by
                                          #33

                                          @evan @julian @angus @nutomic the aforementioned pleroma option, btw

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          Powered by NodeBB Contributors
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Popular