So close! This will be our biggest release ever.

Federated filters?! I don't want to even think about the ways you must have twisted the activitypub spec to pull that one off!

@dansup Hi dansup! How does #Pixelfed decide something is a direct message? Apparently any limited scope (ie not public) messages from #Socialhome are shown to my contacts on any Pixelfed instances as direct messages, even though they've been sent to many contacts.

I think looking at Socialhome code, the message is delivered to each recipient separately, to ensure privacy is kept and receivers don't see other receivers. What do I need to add to CC or such to ensure it doesn't look like a one to one message? Some kind of followers collection? Socialhome doesn't have followers collections exposed since limited posts can be delivered to any kind of list of remote accounts, not just a static followers.


@jaywink Hello! I implemented this in the same way Mastodon handles DMs. A followers collection should fix this!

@dansup Well, #Socialhome doesn't have a followers collection 😅 Those are only a should in the #ActivityPub spec.

Limited posts from Socialhome do go to the normal feed in #Mastodon but I found the likely reason. Socialhome always prefers sharedInbox delivery, if available on a target server. It looks like #Pixelfed profiles at least the one that this issue was found on (messages going to dm's) don't have shared inboxes. Possibly that difference means the same payload ends up as a direct message in Pixelfed.

@jaywink Pixelfed does have a sharedInbox, some instances may have not updated to the latest commits yet. I will take a look at this after I'm done work, I'd like to find a way to support SocialHome 😄

@dansup Well in that case it's likely #Socialhome isn't updating the inboxes of remote users frequently enough, since your profile also has for both public and private deliveries 🤔 But now doing a fresh fetch using my federation code in a shell, I get '' for your public inbox.

So, no need to do anything on your end, I'll check why that isn't updating, I think it should get updated at minimum when profile is updated 🤔 I mean assuming delivering to the shared inbox will mean my limited posts wont end up in direct messages?

@dansup OK well seems Socialhome only updates remote profiles when receiving them, so the inbox should update the next time the profile changes. Should do some scheduled random polling to check for changes I guess, but not going to add this for now. @dada edit your Pixelfed profile if you don't want direct messages from me 😅

@jaywink @dada @dansup I am not into the full technical details, but there's some discussion on yes/no to support sharedInbox, which breaks the actor model. E.g. will not get sharedInbox support.

You might ask @cj for details, but here are pointers to some discussion:

@humanetech @jaywink @dada @cj sharedInbox is the only way the fediverse will scale, delivering multiple copies of the same object to the same domain and verifying http signatures (with blind rotation) of each inbox request does not make sense.

Most content is public, and sharedInbox was created for that context.

@dansup Strong disagree, especially on the "only". Multiplexing over a maintained preauthenticated channel between 2 instances would have the same outcome without relying on multiple network requests, and could provide a path to provide the actor model over other transport protocols outside of HTTP. Notably, unblocking the Peer to peer case.

@humanetech @jaywink @dada

@cj @humanetech @jaywink @dada That sounds interesting! Do you know if Mastodon or Pleroma have plans to support this?

@cj @dansup

Might be interesting to mention / elaborate the idea on SocialHub? Might lead to become a FEP?

@jaywink @dada

@cj @dansup @humanetech @jaywink @dada We tried it in Pleroma for a bit so months ago, forgot why but it didn't work out as we expected it would, could be an implementation/librairies issues or that this model actually doesn't works out well.

@cj 🇺🇸🇨🇭 @dansup @Humane Tech Now @dada So, I'm partly responsible for the whole sharedInbox thing, having originally introduced it as publicInbox before #Mastodon joined the working group. At that time it was proposed to fit #Diaspora delivery mode, because we did not see #ActivityPub suitable for Diaspora without a single inbox per server. Mastodon had the same (very valid) concern after joining the working group, but they wanted it expanded to non-public posts too, thus it became sharedInbox.

I still think without this ActivityPub would have failed. Diaspora ended up not adopting ActivityPub, but Mastodon did, and I don't believe Mastodon could have switched from OStatus to ActivityPub without sharedInbox. It's very academical to say what could be better than sharedInbox in the future, but at that stage we were in the present. Without Mastodon adopting ActivityPub no one would here be discussing using it. The working group, at the time of finishing, was already over time - there was no time to work on peer to peer or any other possible future solutions.

Before judging people for using something that works, it would be great to give them something alternative that works - not something that is just an experimental possibility. In the meantime, sharedInbox is the best and only way to scale delivery to large servers.

@jaywink @dada @dansup @humanetech @cj

/ off topic
What is the trick to put 1296 characters in the mastodon UI like with this toot?
I mean normal users only get 500 characters.
Can we pay for more characters?


@Sebastian Lasse, Haha :D I use Socialhome, my own platform. It has no post limits and Mastodon seems like generally happy to accept longer content over federation, which is great ;)

@sl007 I believe Mastodon is configurable as increased the limit to 512 to be an even power of 2.

@cj @sl007 I've 5000 on my single-user pleroma instance. *shrug*

@Ivan Vučica Yeah it's an artificial frontend limit on Mastodon to mirror the behaviour of Twitter :/

I'm sorry to say that even 5000 feels artificial. Why 5K? What if someone wants to write a slightly longer post? IMHO the UI should adapt to the post size, but not limit it. Facebook (sorry!) does this pretty well. If your post is large, it opens it in a separate view in full size, but it doesn't artificially limit like Twitter does. I think Mastodon does this well too for posts received over federation, but it's odd that it makes strict restrictions on their own users.

@ivan @cj

What you saw in the screenshot is the flagship instance with 500 characters and 1 person longer.

So, even more injustice for the users of shared instances like

Interesting, it is not only about Content Moderation but now also who got the most characters.

Ivan, did you post very long texts somewhere / URL?
I like long texts, that is not the point here!

@Sebastian Lasse, @cj 🇺🇸🇨🇭 The fans of character limits see it as a good thing, not bad thing. Having to formulate your thoughts into a smaller amount of characters makes you creative, is the argument. Still, makes me wonder why Twitter raised it from 140 to 280 and Mastodon then from whatever it was at the time (250?) to 500 (default, configurable yes), if "shorter is better".

But this is a preference thing, lots of people genuinely like the fact that microblogging has character limits. And those who don't have the freedom to choose an instance with a larger limit (not on Twitter, of course).

The most important thing is that platforms don't reject federated content that is longer than their local limits IMHO, I'm happy Mastodon doesn't do that by default and hope no other platform does either.

Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!