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. Pre-Alpha ActivityPub-related bug reports

Pre-Alpha ActivityPub-related bug reports

Scheduled Pinned Locked Moved AP Test (community.nodebb.org)
bugsnodebbacti
138 Posts 18 Posters 1.3k 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.
  • evan@cosocial.caE evan@cosocial.ca

    @erincandescent @julian @trwnh @silverpill a thread is a tree with a root. Every non-root node in the tree has an `inReplyTo` that points to one of the other nodes.

    It's represented by a `Collection` in the `context` property of each object. (I don't like this, but it's common so we should just use it).

    It's in reverse-chronological order.

    If you started at the root node and walked the tree using the `replies` collection, you should visit exactly the same nodes as in the `context` 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
    #117

    @evan @erincandescent @julian @silverpill I don't think a thread *has* to be a tree -- it's a set. The "reply tree" is a separate structure. Threads can be forked out of other threads.

    (I also dislike "reverse chron" and heavily favor "forward chron", but custom sorting of collections is not well-specced rn so that's a future step.)

    silverpill@mitra.socialS 1 Reply Last reply
    0
    • 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
      #118

      @julian I reported this to you because one user asked me by "why I can't discover this NodeBB thread from my instance?". I think this is going to happen quite often across the Fediverse.
      Maybe in the future we will figure out how to deal with these collections, but right now this leads to a bad user experience

      @trwnh @evan @erincandescent @evan

      trwnh@mastodon.socialT 1 Reply Last reply
      0
      • jupiter_rowland@hub.netzgemeinde.euJ This user is from outside of this forum
        jupiter_rowland@hub.netzgemeinde.euJ This user is from outside of this forum
        jupiter_rowland@hub.netzgemeinde.eu
        wrote on last edited by
        #119
        @julian @Erin 💽✨ I'm not a dev, so I don't have the technical details down pat.

        But Friendica and everything that came after it, including Hubzilla, handle conversations as something enclosed with exactly one (1) post and otherwise only comments, as opposed to Mastodon's loose chain of posts. Replies are always comments instead of posts, and they're always sent to the thread starter who is the owner of the whole thread, and who then distributes them to all participants.

        Right after Friendica, permissions were introduced. These aren't stored with each comment separately and with the post only for the post itself. Rather, they're unified for the whole thread. The thread starter defines who is allowed to see what and who is allowed to do what. As opposed to Mastodon, commenters cannot change the permissions of their comments away from those of the start post.

        Last year, (streams) switched to conversations as containers. To the outward, it works the same, but internally, it's different. Again, I'm not a dev. @Mike Macgirvin 🖥️ has made all this. But to my understanding, this is when a thread really became an object of its own.

        CC: @infinite love ⴳ @Evan Prodromou @silverpill

        #Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Friendica #Hubzilla #Streams #(streams) #Conversations
        1 Reply Last reply
        0
        • silverpill@mitra.socialS silverpill@mitra.social

          @julian I reported this to you because one user asked me by "why I can't discover this NodeBB thread from my instance?". I think this is going to happen quite often across the Fediverse.
          Maybe in the future we will figure out how to deal with these collections, but right now this leads to a bad user experience

          @trwnh @evan @erincandescent @evan

          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
          #120

          @silverpill @evan@cosocial.ca @erincandescent @julian @evan@community.nodebb.org I'd prefer impls update to support showing threads/collections, rather than NodeBB being held back. UX will get better as other impls update.

          At the very least, browser.pub can do it! 😛

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

            @evan @erincandescent @julian @silverpill I don't think a thread *has* to be a tree -- it's a set. The "reply tree" is a separate structure. Threads can be forked out of other threads.

            (I also dislike "reverse chron" and heavily favor "forward chron", but custom sorting of collections is not well-specced rn so that's a future step.)

            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
            #121

            @trwnh @evan @erincandescent @julian +1 for forward chron, that way you can start displaying posts without fetching the whole thread

            evan@cosocial.caE 1 Reply Last reply
            0
            • silverpill@mitra.socialS silverpill@mitra.social

              @trwnh @evan @erincandescent @julian +1 for forward chron, that way you can start displaying posts without fetching the whole thread

              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
              #122

              @silverpill @trwnh @erincandescent @julian Use the `last` property to start with the oldest page.

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

                @silverpill @trwnh @erincandescent @julian Use the `last` property to start with the oldest page.

                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
                #123

                @silverpill @trwnh @erincandescent @julian Also, I think you're imagining some kind of pre-order traversal sorting. If you want that, it's a lot easier to just walk the `replies` tree.

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

                  @silverpill @evan@cosocial.ca @erincandescent @julian @evan@community.nodebb.org I'd prefer impls update to support showing threads/collections, rather than NodeBB being held back. UX will get better as other impls update.

                  At the very least, browser.pub can do it! 😛

                  erincandescent@akko.erincandescent.netE This user is from outside of this forum
                  erincandescent@akko.erincandescent.netE This user is from outside of this forum
                  erincandescent@akko.erincandescent.net
                  wrote on last edited by
                  #124
                  @trwnh @silverpill @evan @julian @evan so, truthfully, I'm ambivalent to whether a thread object exists. But if it does, I feel like it should probably be reified distinctly from the thread collection primarily because I don't think treating collections as objects is a good idea. Maybe I'm wrong, but that's my strongly held opinion!

                  And yeah, then we can give threads a following collection and let people follow them as they wish.
                  evan@cosocial.caE erincandescent@akko.erincandescent.netE 2 Replies Last reply
                  0
                  • erincandescent@akko.erincandescent.netE erincandescent@akko.erincandescent.net
                    @trwnh @silverpill @evan @julian @evan so, truthfully, I'm ambivalent to whether a thread object exists. But if it does, I feel like it should probably be reified distinctly from the thread collection primarily because I don't think treating collections as objects is a good idea. Maybe I'm wrong, but that's my strongly held opinion!

                    And yeah, then we can give threads a following collection and let people follow them as they wish.
                    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
                    #125

                    @erincandescent @julian @evan@community.nodebb.org @trwnh @silverpill WTF

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

                      @silverpill @trwnh @erincandescent @julian Use the `last` property to start with the oldest page.

                      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
                      #126

                      @evan @silverpill @erincandescent @julian just seems backwards to me, for no real reason. if you wanted reverse chron viewing of a forward chron collection, then it makes sense to fetch `last` and page backwards.

                      at the very least, `startIndex` as a property of OrderedCollectionPage makes **way** more sense with a forward chron presentation.

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

                        @evan @silverpill @erincandescent @julian just seems backwards to me, for no real reason. if you wanted reverse chron viewing of a forward chron collection, then it makes sense to fetch `last` and page backwards.

                        at the very least, `startIndex` as a property of OrderedCollectionPage makes **way** more sense with a forward chron presentation.

                        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
                        #127

                        @trwnh @silverpill @erincandescent @julian

                        It's bad for caching to do forward chron, which is why we don't do it anywhere else.

                        Also, it does not help you build a tree structure; older nodes are not necessarily at the top of the tree.

                        trwnh@mastodon.socialT 1 Reply Last reply
                        0
                        • erincandescent@akko.erincandescent.netE erincandescent@akko.erincandescent.net
                          @trwnh @silverpill @evan @julian @evan so, truthfully, I'm ambivalent to whether a thread object exists. But if it does, I feel like it should probably be reified distinctly from the thread collection primarily because I don't think treating collections as objects is a good idea. Maybe I'm wrong, but that's my strongly held opinion!

                          And yeah, then we can give threads a following collection and let people follow them as they wish.
                          erincandescent@akko.erincandescent.netE This user is from outside of this forum
                          erincandescent@akko.erincandescent.netE This user is from outside of this forum
                          erincandescent@akko.erincandescent.net
                          wrote on last edited by
                          #128
                          @trwnh @evan @evan @julian @silverpill and to be clear my ambivalence about whether there should be a thread object comes primarily because I don't think this is a point on which we will ever get universal agreement

                          It's an area where I feel the only real route is the "why not both?" compromise that doesn't really make anyone happy
                          evan@cosocial.caE 1 Reply Last reply
                          0
                          • erincandescent@akko.erincandescent.netE erincandescent@akko.erincandescent.net
                            @trwnh @evan @evan @julian @silverpill and to be clear my ambivalence about whether there should be a thread object comes primarily because I don't think this is a point on which we will ever get universal agreement

                            It's an area where I feel the only real route is the "why not both?" compromise that doesn't really make anyone happy
                            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
                            #129

                            @erincandescent @julian @evan@community.nodebb.org @trwnh @silverpill Standards are about making arbitrary decisions in the pursuit of uniformity.

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

                              @trwnh @silverpill @erincandescent @julian

                              It's bad for caching to do forward chron, which is why we don't do it anywhere else.

                              Also, it does not help you build a tree structure; older nodes are not necessarily at the top of the tree.

                              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
                              #130

                              @evan @silverpill @erincandescent @julian why is it bad for caching? it seems like the opposite to me -- reverse-chron means that pages are constantly updating and are almost never consistent! each new item in the collection pushes everything else behind it, and the last item of the page overflows into becoming the first item of the next page. if you did forward-chron, you could freeze "page 1" as soon as it got full, and move onto "page 2".

                              also, a viewer can easily tell where they left off.

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

                                @evan @silverpill @erincandescent @julian why is it bad for caching? it seems like the opposite to me -- reverse-chron means that pages are constantly updating and are almost never consistent! each new item in the collection pushes everything else behind it, and the last item of the page overflows into becoming the first item of the next page. if you did forward-chron, you could freeze "page 1" as soon as it got full, and move onto "page 2".

                                also, a viewer can easily tell where they left off.

                                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
                                #131

                                @trwnh @silverpill @erincandescent @julian oh, yes, that's true, if you do "volatile paging" (last 20 pages).

                                If you have reified pages (item goes in one page and stays there), once the pages are full, they don't change (except for `Remove` activities).

                                Don't do volatile paging.

                                If you use reified pages, an add to a reverse-chron collection will typically have changes to `first` and the Collection itself.

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

                                  @trwnh @silverpill @erincandescent @julian oh, yes, that's true, if you do "volatile paging" (last 20 pages).

                                  If you have reified pages (item goes in one page and stays there), once the pages are full, they don't change (except for `Remove` activities).

                                  Don't do volatile paging.

                                  If you use reified pages, an add to a reverse-chron collection will typically have changes to `first` and the Collection itself.

                                  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
                                  #132

                                  @trwnh @silverpill @erincandescent @julian

                                  If you have bidirectional links (`first` and `last`) you can have stable collections with rev-chron or forward-chron. So, fair point.

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

                                    @evan @silverpill @erincandescent @julian why is it bad for caching? it seems like the opposite to me -- reverse-chron means that pages are constantly updating and are almost never consistent! each new item in the collection pushes everything else behind it, and the last item of the page overflows into becoming the first item of the next page. if you did forward-chron, you could freeze "page 1" as soon as it got full, and move onto "page 2".

                                    also, a viewer can easily tell where they left off.

                                    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
                                    #133

                                    @evan @silverpill @erincandescent @julian relevant thread: https://socialhub.activitypub.rocks/t/stricter-specifications-for-pagination-of-collections-and-orderedcollections/2633

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

                                      @trwnh @silverpill @erincandescent @julian

                                      If you have bidirectional links (`first` and `last`) you can have stable collections with rev-chron or forward-chron. So, fair point.

                                      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
                                      #134

                                      @evan @silverpill @erincandescent @julian Yeah, my point is that it seems almost entirely conventional whether to have "reverse" mean first.next.next... or last.prev.prev... -- and I favor the latter approach because it makes more sense imo, no double-inversion ("reverse-reverse chron", anyone?)

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

                                        @evan @silverpill @erincandescent @julian Yeah, my point is that it seems almost entirely conventional whether to have "reverse" mean first.next.next... or last.prev.prev... -- and I favor the latter approach because it makes more sense imo, no double-inversion ("reverse-reverse chron", anyone?)

                                        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
                                        #135

                                        @trwnh @silverpill @erincandescent @julian Except for most interfaces, your first page is the current stuff, and you go back in time to find earlier stuff.

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

                                          @trwnh @silverpill @erincandescent @julian Except for most interfaces, your first page is the current stuff, and you go back in time to find earlier stuff.

                                          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
                                          #136

                                          @evan @silverpill @erincandescent @julian This is what I meant by "conventional". On a forum thread, you generally read forward. On social media like Twitter, there is a heavy bias toward going reverse. And some interfaces even let you choose ascending or descending order.

                                          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