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

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