Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
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
We Distribute
  1. Home
  2. Technical Discussion
  3. #Smithereen 0.11 is out!

#Smithereen 0.11 is out!

Scheduled Pinned Locked Moved Technical Discussion
smithereenactivitypubmastodev
14 Posts 3 Posters 522 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.
  • grishka@mastodon.socialG This user is from outside of this forum
    grishka@mastodon.socialG This user is from outside of this forum
    grishka@mastodon.social
    wrote on last edited by
    #3

    @julian do you mean fetching the `replies` collections to make threads as complete as possible? I've been doing that for a long time already 😄

    Never seen those FEPs, will take a look

    julian@activitypub.spaceJ evan@cosocial.caE 2 Replies Last reply
    0
    • grishka@mastodon.socialG grishka@mastodon.social

      @julian do you mean fetching the `replies` collections to make threads as complete as possible? I've been doing that for a long time already 😄

      Never seen those FEPs, will take a look

      julian@activitypub.spaceJ This user is from outside of this forum
      julian@activitypub.spaceJ This user is from outside of this forum
      julian@activitypub.space
      wrote on last edited by
      #4

      grishka@mastodon.social this would be in addition to replies collection fetching 🙂

      You'd poll one endpoints to get all of the replies in the tree. Mastodon will support serving this collection soon!

      1 Reply Last reply
      0
      • grishka@mastodon.socialG grishka@mastodon.social

        @julian do you mean fetching the `replies` collections to make threads as complete as possible? I've been doing that for a long time already 😄

        Never seen those FEPs, will take a look

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

        @grishka @julian I think the idea is to use a thread collection so you can get the whole reply tree to a post without having to walk `inReplyTo` links up and `replies` collections down.

        julian@activitypub.spaceJ grishka@mastodon.socialG 2 Replies Last reply
        1
        • evan@cosocial.caE evan@cosocial.ca

          @grishka @julian I think the idea is to use a thread collection so you can get the whole reply tree to a post without having to walk `inReplyTo` links up and `replies` collections down.

          julian@activitypub.spaceJ This user is from outside of this forum
          julian@activitypub.spaceJ This user is from outside of this forum
          julian@activitypub.space
          wrote on last edited by
          #6

          evan@cosocial.ca I think it's time to start drafting a SWICG report on backfill approaches hmm

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

            @grishka @julian I think the idea is to use a thread collection so you can get the whole reply tree to a post without having to walk `inReplyTo` links up and `replies` collections down.

            grishka@mastodon.socialG This user is from outside of this forum
            grishka@mastodon.socialG This user is from outside of this forum
            grishka@mastodon.social
            wrote on last edited by
            #7

            @evan @julian yeah, that makes sense. Though implementing FEP-f228 as specified would be complicated for me because I don't store AP objects as-is — I treat ActivityPub like an API, so to return chronologically ordered replies mixed with likes, I would have to make database queries that would get very inefficient very fast (something like SELECT ... FROM wall_posts ... UNION SELECT ... FROM likes ... ORDER BY time ASC LIMIT x OFFSET y).

            julian@activitypub.spaceJ grishka@mastodon.socialG 2 Replies Last reply
            0
            • grishka@mastodon.socialG grishka@mastodon.social

              @evan @julian yeah, that makes sense. Though implementing FEP-f228 as specified would be complicated for me because I don't store AP objects as-is — I treat ActivityPub like an API, so to return chronologically ordered replies mixed with likes, I would have to make database queries that would get very inefficient very fast (something like SELECT ... FROM wall_posts ... UNION SELECT ... FROM likes ... ORDER BY time ASC LIMIT x OFFSET y).

              julian@activitypub.spaceJ This user is from outside of this forum
              julian@activitypub.spaceJ This user is from outside of this forum
              julian@activitypub.space
              wrote on last edited by
              #8

              grishka@mastodon.social most implementations just return the object IDs. Sending the entire activity stream is more difficult, although some do do it (e.g. silverpill@mitra.social's Mitra)

              So "collection of posts".

              1 Reply Last reply
              0
              • grishka@mastodon.socialG grishka@mastodon.social

                @evan @julian yeah, that makes sense. Though implementing FEP-f228 as specified would be complicated for me because I don't store AP objects as-is — I treat ActivityPub like an API, so to return chronologically ordered replies mixed with likes, I would have to make database queries that would get very inefficient very fast (something like SELECT ... FROM wall_posts ... UNION SELECT ... FROM likes ... ORDER BY time ASC LIMIT x OFFSET y).

                grishka@mastodon.socialG This user is from outside of this forum
                grishka@mastodon.socialG This user is from outside of this forum
                grishka@mastodon.social
                wrote on last edited by
                #9

                @evan @julian I solve the problem of running into a deleted replies by never fully deleting replies that have replies, instead clearing most of the data. So, for such a reply, I return a Tombstone that still allows the traversal of the thread.

                I agree that this is still not optimal though. Running into a reply from a server that no longer operates would still break things. And you still have to make tons of requests (although Java's virtual threads make that reasonably fast).

                1 Reply Last reply
                0
                • grishka@mastodon.socialG This user is from outside of this forum
                  grishka@mastodon.socialG This user is from outside of this forum
                  grishka@mastodon.social
                  wrote on last edited by
                  #10

                  @julian @silverpill that I can do fairly trivially

                  julian@activitypub.spaceJ 1 Reply Last reply
                  0
                  • grishka@mastodon.socialG grishka@mastodon.social

                    @julian @silverpill that I can do fairly trivially

                    julian@activitypub.spaceJ This user is from outside of this forum
                    julian@activitypub.spaceJ This user is from outside of this forum
                    julian@activitypub.space
                    wrote on last edited by
                    #11

                    grishka@mastodon.social yes, you and I don't store all ActivityPub objects, and neither does Mastodon. That's why attempting to serve activities is a non-starter.

                    Mastodon will serve the object IDs.

                    Lemmy (not released yet) and Piefed (v1.2) also implement this collection, so having another implementor be able to use them would be great.

                    1 Reply Last reply
                    0
                    • grishka@mastodon.socialG This user is from outside of this forum
                      grishka@mastodon.socialG This user is from outside of this forum
                      grishka@mastodon.social
                      wrote on last edited by
                      #12

                      @julian I have this convention where I return IDs for remote objects (obviously, how else would you authenticate them if not by fetching from the origin servers) but complete objects that are local, to save resources. IIRC I saw Mastodon do it for replies so just copied this behavior

                      julian@activitypub.spaceJ 1 Reply Last reply
                      0
                      • grishka@mastodon.socialG grishka@mastodon.social

                        @julian I have this convention where I return IDs for remote objects (obviously, how else would you authenticate them if not by fetching from the origin servers) but complete objects that are local, to save resources. IIRC I saw Mastodon do it for replies so just copied this behavior

                        julian@activitypub.spaceJ This user is from outside of this forum
                        julian@activitypub.spaceJ This user is from outside of this forum
                        julian@activitypub.space
                        wrote on last edited by
                        #13

                        grishka@mastodon.social that's a really interesting question, and I put those thoughts in a new topic 🙂

                        Link Preview Image
                        Returning objects in a collection vs. IDs

                        In another topic (#Smithereen 0.11 is out!), @grishka@mastodon.social says this: I have this convention where I return IDs for remote objects (obviously, ho...

                        favicon

                        ⁂ ActivityPub.Space (activitypub.space)

                        1 Reply Last reply
                        0
                        • 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

                          @julian doooooo iiiiiiit

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


                          • Login

                          • Don't have an account? Register

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