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 grishka@mastodon.social

    #Smithereen 0.11 is out!

    This one mostly focuses on groups and moderation. Groups now have discussion boards, admins can specify server rules (with translations!), moderators have more and better tools at their disposal, and users can now pin posts and export their data.

    Detailed changelog here: https://github.com/grishka/Smithereen/releases/tag/0.11

    Now comes the part where I build the client API I promised everyone for so long. And the website.

    #ActivityPub #mastodev

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

    grishka@mastodon.social would you be interested in implementing conversational contexts/backfill (aka 7888 + f228)?

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