home.social

#hashtagmeta — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #hashtagmeta, aggregated by home.social.

  1. @happyborg
    People can follow hashtags

    People on Mastodon can follow hashtags. But just because people on Mastodon can, doesn't mean people everywhere else in the Fediverse can, too.

    AFAIK, some of the minimalist microblogging server applications designed for self-hosting don't offer this feature. I'm not sure if Pleroma and Akkoma have it.

    Hubzilla, which is what I'm commenting from, definitely doesn't have this feature. And Hubzilla is anything but minimalist. It's the most powerful and versatile of all Fediverse server applications.

    Also, if you can follow hashtags, you can only follow hashtags on your home server. But if you're on a small server, hardly any messages with these hashtags wash up there in the first place. You'll miss a lot. If you're on a private, single-user server, following hashtags is completely useless because the only messages with these hashtags that reach the server are those that you receive from your own contacts anyway.

    (streams) and Forte, both being streamlined and more advanced Hubzilla descendants, can follow hashtags. But there simply aren't any big (streams) or Forte servers, especially not with lots of traffic from Mastodon. Most of the few (streams) and Forte users run their own single-user servers.

    This is also why it doesn't matter much whether snac or GoToSocial users can follow hashtags: These two are almost exclusively used as private, single-user servers because that's what they're designed for first and foremost.

    To make it short: Most Fediverse users outside the big Mastodon servers can only follow hashtags by relying on "bots" that forward posts with these hashtags which they find on e.g. mastodon.social.

    In fact, this is good for Mastodon users as well. It helps circumvent two of Mastodon's disadvantages.

    One is that it has no support for groups whatsoever (the Fediverse does have groups in case you don't know). If Mastodon users need to talk about a certain topic, they can't do so in a group about that topic. All they can do is shout into the ether with certain hashtags and hope that the right person catches their toot.

    The other one is that this is highly unlikely on Mastodon itself. On Mastodon, most content remains unseen.

    Mastodon doesn't offer a list of unread messages in the timeline, not even a counter. All that Mastodon users can do is scroll down their timeline until they either hit content that they've already seen, or until they've got no more time, or until they want no more. Anything below will remain unseen. It's sad that this counts as the default or even without alternatives in the Fediverse. And most Mastodon users follow so many accounts and channels (plus hashtags occasionally) that they can impossibly read all the messages they receive.

    Let's suppose a Mastodon user wants to talk about Hubzilla for some reason. I've seen this happen often enough. The only chance they have, not knowing that the @hubzilla exists, much less that they can join it from Mastodon, is by tooting into the void with the hashtag #Hubzilla and hoping that either one of their followers or someone somewhere out there on their followers' servers follows the hashtag #Hubzilla.

    But none of their followers comes online soon enough to scroll down to their toot. They all have tons of other content in their timelines above that toot, so they never scroll all the way down to it. If not, they simply don't know what Hubzilla is. And even if any Mastodon users follow the hashtag #Hubzilla (which I doubt), this still doesn't mean that one of them scrolls all the way down to that toot.

    And then there's me. As I've already said, I'm on Hubzilla. I can't follow hashtags directly. Instead, I "follow" the hashtag #Hubzilla by having this hashtag on the FediBuzz relay (https://relay.fedi.buzz/) as a contact. Or, in Mastodon terms, by following it. FediBuzz is not a bot server. It's a relay that server admins can connect their servers to to have more public content on their servers (if their server software supports relays, that is). Something completely normal on Mastodon, especially on small servers.

    So when someone on Mastodon toots something with #Hubzilla, I receive it as a new post. But I don't have to scroll down a timeline of unknown length to find it. I have a counter for unread messages and other unnoticed actions. It unfolds into a list of unread messages and other unnoticed actions. From there, I can get directly to that post. I will notice it. And I'll usually be able to help.

    #Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Hashtag #Hashtags #HashtagMeta #CWHashtagMeta #Relay #Relays
  2. CW: Mentions and hashtags on Hubzilla are more "normal" in version 11.4, and this probably isn't pandering to Mastodon; CW: long (over 3,200 characters), Fediverse meta, Fediverse-beyond-Mastodon meta, hashtag meta
    I've noticed that Hubzilla 11.4 handles mentions and hashtags (closer to) the Twitter way instead of the Identi.ca way now. The @ and the # became part of the link (@Jupiter's Fedi-Memes on (streams), #Hashtag, for example).

    I wouldn't cry out "pandering to Mastodon" now. I don't think this happened in the same vein as Forte giving the choice between starting an enclosed conversation and starting a microblogging-style loose thread. After all, it's vanilla Mastodon out of all microblogging applications that handles the old Identi.ca way quite gracefully. And even what didn't work as intended didn't cause a big mess instead either.

    Other Fediverse applications are way less prepared for this. From the Mastodon fork Glitch to all the *keys and, I think, the *omas, not only can't they handle the Identi.ca way, but they tend to fail rather ungracefully because they don't even expect anything else than the Twitter way. Especially on Misskey, this has been recognised as a bug in 2024 already, and nothing much has happened in terms of fixing it. Of course, all the Forkeys have inherited the bug, and I think none of them has fixed it instead of waiting for upstream Misskey to fix it. I'm not even sure if Iceshrimp.NET, a complete rewrite in C#, hasn't re-implemented it.

    I mean, if lots of Fediverse server applications render Hubzilla's old "#Hashtag" (with the number sign outside the link, the Identi.ca way) as its Markdown representation, "#[Hashtag](https://hub.netzgemeinde.eu/search?tag=Hashtag)", and people keep complaining, then someone has to step in and put an end to this mess. And lots of fingers were pointing at Hubzilla. While tens of thousands of Mastodon accounts blocked Hubzilla channels for their long posts, hundreds of *key accounts blocked Hubzilla channels for how completely messed up their hashtags came out.

    Also, unless I'm completely wrong, the first Fediverse server application that handled mentions and hashtags the Twitter way rather than the Identi.ca way wasn't Mastodon either; it was GNU social, itself a fork of StatusNet, the software that used to power Identi.ca before its switch to pump.io.

    So this wasn't a case of Hubzilla acting up on Mastodon. It was a case of Hubzilla acting up across at least half the Fediverse, Mastodon actually largely excluded.

    That is, it may still worry you that Hubzilla whose foundation was laid in May, 2012, based on Friendica which is another two years older, adapted to software which came later instead of playing the "we were here first" card. A whole lot of software which came later and which was largely created independently from Mastodon (although both Mastodon and Pleroma started their lives as something akin to alternative frontends for GNU social), but still.

    By the way, don't Friendica, (streams) and Forte still cause the same issue? Especially Forte that has actually started pandering to Mastodon as of late?

    #Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Fediverse #Mastodon #GlitchSoc #Pleroma #Akkoma #Misskey #Forkey #Forkeys #Friendica #Hubzilla #Streams #(streams) #Forte #Hubzilla11 #Hashtags #HashtagMeta #CWHashtagMeta #Mention #Mentions #MentionTag
  3. @Truth & Answers I've just come across a toot from a Mastodon user who demanded that everyone who posts, quote, "on Mastodon," end quote, limit their posts to 500 characters.

    This was far from being the first time I've read this very demand or similar demands. It just was the most recent time.

    Where this comes from? Well, it has two sides.

    The Mastodon side


    One side are Mastodon users. Not all of them, but most of them. Literally all of them were on-boarded onto Mastodon with the notion that Mastodon is its own enclosed network with nothing else in it. Those who pull them on board either think it's easier for them to understand if they aren't told about the non-Mastodon Fediverse, or they don't know about the non-Mastodon Fediverse themselves.

    Some of these newbies think Mastodon is the network because they've never heard of the Fediverse. Others think the Fediverse is Mastodon and nothing else.

    My estimation, and not only mine, is that more than 50% of all Mastodon users think the Fediverse consists of nothing else than Mastodon. A great deal of the rest thinks the Fediverse doesn't extend beyond Mastodon, Pixelfed and PeerTube. Not much anyway.

    It doesn't help that Mastodon, unlike other Fediverse server applications such as Misskey, the Forkeys, Friendica, (streams) or Forte, does not tell its users which server app a message came from. It doesn't help either that Mastodon "sanitises" away quite a few things that'd make non-Mastodon messages a dead giveaway. So the huge majority of Mastodon users believe that if they see it on Mastodon, it came from Mastodon.

    So these people are dropped into a network which they think is nothing but a purist, minimalist microblogging service with no more than 500 characters, and whose only differences from Twitter are the name, that it isn't just one website, that it isn't owned by Elon Musk, and that it isn't overrun by fascists.

    They get used to it. They get used to only having a maximum of 500 characters. They get used to the CW field being the CW field. They get used to Mastodon's entire culture which they see as the be-all, end-all of online culture.

    And then they come across a message with a whole lot over 500 characters for the first time. Something which, to their best knowledge, shouldn't exist in the Mastodon Fediverse. Something which mustn't exist in the Mastodon Fediverse.

    Some don't have any idea how it could be possible to "toot" more than 500 characters "on Mastodon", and they ask how one can do that. Others believe that all these "long toots" come from hacked Mastodon servers. Either way, they often demand that these Mastodon users adhere to Mastodon's culture and Mastodon's unwritten rules and act like all good Mastodon users shall act. Including not "tooting" more than 500 characters "on Mastodon".

    Both are being told that these "toots" aren't "toots" because they don't come from Mastodon. That the Fediverse is, in fact, not only Mastodon. That there's other server software in the Fediverse that has always been able to post way more than 500 characters.

    That changes nothing for them. They still demand everyone in the Fediverse adhere to Mastodon's culture and Mastodon's unwritten rules and only to these, and that everyone in the Fediverse use whatever they use exactly like vanilla, unmodified Mastodon.

    And they feel absolutely justified. According to their gospel, Gargron invented the Fediverse when he created Mastodon. And everything in the Fediverse that isn't Mastodon (once they discover that there is such stuff) has either been designed as an add-on glued onto Mastodon (Pixelfed, PeerTube), or it's an evil, savage intruder (everything that's capable of largely doing the same thing as Mastodon without being Mastodon).

    The Fediverse is to Mastodon users what the ancient world was to the Romans. Mastodon is the Roman Empire. Literally the only place that has got something like culture. A few places have voluntarily joined the Roman Mastodon Empire. All the rest consists of primitive, savage, culture-less barbarians whose lands need to be conquered by force to bring them culture.

    The non-Mastodon side


    The other side are the non-Mastodon users. This sounds harsh, but while Mastodon users act by faith and belief, non-Mastodon users act by knowledge. It's them who know what the Fediverse really is. That there has never been a point in history at which the Fediverse has only been Mastodon. And that culture does exist outside of Mastodon. Only that these cultures are different from Mastodon's culture, largely because they're geared towards the technical capabilities of the underlying software.

    To non-Mastodon users, the Fediverse feels like the New World when the European conquerors and settlers arrived. They demanded the natives adopt European culture and convert to Catholic Christianty or face death. The natives actually already had cultures. Cultures that suited them and their surroundings much more than the culture lived in European cities. But the Europeans didn't acknowledge the natives' cultures as such, nor did they care.

    From non-Mastodon users' point of view, Mastodon users act to them like the Europeans acted to the natives in their colonies-to-be.

    A very good example, also because it's such an extreme example, has to be Friendica. In case you don't know, Friendica (https://friendi.ca; https://en.wikipedia.org/wiki/Friendica; https://joinfediverse.wiki/Friendica) is a free, open-source, decentralised, federated Facebook alternative that first came out as early as May, 2010. Friendica developed a wholly different culture from Mastodon's because it's vastly different from Mastodon.

    Mastodon's culture was mostly coined in mid-2022 by those who escaped from Elon Musk's announcement to buy out Twitter in February/March, 2022.
    Friendica's culture was coined by its early users in 2010 already.

    Mastodon users are mostly used to living in a Mastodon-only network with no connection to anything that isn't Mastodon. They believe that Mastodon and the Fediverse were designed as such, and that Friendica is an illegitimate intruder.
    Friendica users are used to being able to connect to everything that moves, including Mastodon, including the whole Fediverse, no matter which iteration of the Fediverse, including diaspora*, and the some. That's because Friendica was designed from the ground up to be able to connect to a whole lot of stuff. It's part of its concept.

    Mastodon users believe that Mastodon was there before anything.
    Friendica users know that Friendica was there long before Mastodon, even before diaspora*, and that Friendica still wasn't the first.

    Mastodon users are used to only having 500 characters. They still consider that a lot in comparison with Twitter's 280 characters.
    Friendica users are used to not having any character limit whatsoever. Friendica's actual technical character limit is imposed by the maximum size of the message text database field, and that's over 16.7 million characters.

    Mastodon users are used to chopping long posts into threads. It's what they expect. Actual long posts irritate them.
    Friendica users are used to posting long post in one piece. It's what they expect. One and the same post being chopped up into itty-bitty bits irritate them.

    Mastodon users are used to putting CWs in a dedicated CW field.
    Friendica users are used to the self-same text field actually being a summary field (Friendica calls it "abstract"). While Mastodon got that field in 2017 as a pull request from a user, Friendica had it from the get-go, i.e. since 2010. And Friendica actually adopted it from Evan Prodromou's decentralised Twitter alternative StatusNet from 2008 with which Friendica was able to federate with from the get-go as well.

    Mastodon users "know" that Gargron invented the CW field.
    Friendica users actually do know for a fact that they've had the same field as a summary field since long before Mastodon was even made. There are still enough Friendica veterans around from before 2016.

    This also means that Mastodon users are used to poster-side CWs which all readers get just the same.
    Friendica users are used to CWs being automatically generated on the reader's side, individually for each reader, by an optional text filter.
    In fact, Mastodon can do the same. But nobody knows, it came way too late to become part of Mastodon's culture (Mastodon 4.0 in October, 2022), it's too tedious to use, it probably isn't supported by that many phone apps, and next to nobody uses Mastodon's Web interface. In the meantime, Friendica has had this feature for some twelve years longer, and it's only an on-off switch and one editable keyword list.

    Mastodon users are used to only having up to four images and to images always only being file attachments dangling below a post.
    Friendica users are used to being able to embed a virtually unlimited number of images to a post. And to actually embed them, as in, with text above the image and text below the image and another image below that text and more text below that image. Theoretically, they could insert tiny images into lines of text. By the way, Mastodon refuses to display embedded images. It also rejects any file attachments beyond the first four. And up to version 4.0 from October, 2022, it didn't support any kind of text formatting and "sanitised" all message texts down to plain text.

    This also means that Mastodon users are used to only having plain text or mucking around with Unicode characters for bold type and italics.
    Friendica users are used to being able to not only see, but also post all sorts of text formatting that HTML is capable of.

    Mastodon users are often deadly afraid of quote-posts because they only know quote-posts as a means of harassment and dogpiling on Twitter.
    Friendica users, their entire culture being entirely unfazed by whatever has ever happened on Twitter, are absolutely used to always having had quote-posts at hand and to using quote-posts as a means of forwarding content. They had what Mastodon calls "quotes" years before they had what Mastodon calls "boosts" (and what many Mastodon users refer to as "retoots").

    Mastodon users are used to conversations being loosely tied together from toots and to having to visibly mention all those whom they want to receive a reply.
    Friendica users are used to having enclosed threaded conversations with only one post and otherwise only comments. They're also used to everyone in the conversation, i.e. everyone who has received the original post, automatically receiving every single last comment. They're used to always seeing the entire thread immediately as opposed to single-message piecemeal.

    Mastodon users are used to shouting into the void with hashtags attached if they want to talk about a certain topic. It's the only way for them to do so.
    Friendica users are used to having groups. Oh, and full-text search.

    The conflict


    It should be obvious that these two types have a very high chance of not getting along, especially if the Mastodon user is fairly new and not used to there being stuff in the Fediverse that's nothing like Mastodon.

    Mastodon users keep demanding that everyone else in the Fediverse live by Mastodon's culture and Mastodon's rules and only by these.

    Mastodon users who have joined in 2026 keep ordering Friendica veterans who have joined in the early 2010s (before there was any Mastodon) to act like they're on Mastodon.

    They demand these Friendica veterans fully adopt Mastodon's culture (which isn't even geared towards Friendica's set of features).

    They indirectly demand these Friendica veterans give up their own culture (because they cannot comprehend that there can be any other culture in the Fediverse than Mastodon's, as in, that what Friendica has is a culture, even though it's different from Mastodon's).

    They directly demand these Friendica veterans give up some 40% of the features they've been using for a decade and a half and indirectly demand they give up another 40% of these features.

    They demand these Friendica veterans stop posting more than 500 characters at once.

    They demand these Friendica veterans put CWs into their abstract field. (Again, they think that Gargron has invented this field from scratch as a CW field,)

    They demand these Friendica veterans use their abstract field only for CWs.

    They demand these Friendica veterans stop "spamming" hashtags that clearly aren't there for content discovery. (They cannot comprehend that these hashtags are there to trigger automatic reader-side CWs because the entire concept is completely alien to them.)

    And so forth.

    These Friendica veterans have been in the Fediverse for about a decade and a half. And suddently, these Mastodon newbies appear and tell them how to use Friendica.

    Of course, these Mastodon newbies don't know a thing about Friendica. They think the Friendica veterans are Mastodon users, and they're telling them how to use Mastodon.

    So the Friendica users tell them, no, they aren't on Mastodon. They're on Friendica which has got absolutely nothing to do with Mastodon.

    Then the Mastodon newbies will believe that someone has created this weird Friendica thing after Mastodon was made (it can't possibly be any other way, right?9 and illegally hacked this Friendica thing into the Mastodon Fediverse. And whoever made Friendica omitted to make Friendica just like Mastodon.

    Okay, now the Friendica users tell them that Friendica was launched in 2010, how long before Mastodon that was, and that they themselves have been around for much longer than Mastodon, too.

    Now, either the Mastodon newbies will fail to comprehend that there can be anything in the Fediverse made before Mastodon if Gargron has invented the very technology. Or they think that the Fediverse was still created with Mastodon, and that Friendica still illegally intruded into the Mastodon Fediverse.

    Either way, the Friendica veterans will have to adapt and act entirely by Mastodon's standards. This is the Mastodon Fediverse, Mastodon is the biggest software (if only by monthly active users, by the way), Mastodon has defined "the Fediverse culture", and thus it's the Mastodon users and only the Mastodon users who get to say how people have to act and behave in the Fediverse.

    And then the Mastodon users wonder how there's so much Mastodon hatred on Friendica (and there actually is). How Friendica users complain about Mastodon users trying to force them to use Friendica like Mastodon. How Friendica users complain about Mastodon users chopping long posts into small bits. As if they had a choice. How Friendica users complain about CWs in whatever that abstract field is supposed to be. And so forth.

    How dare the Friendica users complain? The Mastodon users are the good guys! It's them and only them who have a culture, who have rules, who know how to use the Fediverse!

    By the way: It gets even worse between Mastodon and Lemmy.

    Mastodon's culture is an idealised version of pre-Musk Twitter's culture with bits of Tumblr's SFW culture mixed in. That's because just about everyone on Mastodon originally came from Twitter, and most of them escaped from Elon Musk. They want Mastodon (and the Fediverse) be a better Twitter. It helps that Mastodon is still trying hard to be a Twitter clone.

    Lemmy's culture, on the other hand, is a carbon copy of Reddit's culture. Lemmy is a Reddit clone that shares next to no features at all with Mastodon except for ActivityPub support. Next to all Lemmy users are former Redditors who left Reddit when Reddit started charging $20,000,000 for its client API, effectively killing off all third-party Reddit apps. They saw no reason in changing their culture because it wasn't the culture that drove them away. Hardly any of them were on Twitter, and almost none of them have ever been on Mastodon. Many think the Fediverse is Lemmy. Of the rest, many think the Fediverse is Lemmy with a side of PieFed.

    Mastodon lives on hashtags even more than Twitter. Lemmy has zero support for hashtags because Reddit doesn't have any either, and neither does Hacker News.

    Mastodon requires mentions to get replies to their recipients. One visible mention per recipient. Lemmy doesn't need mentions for this at all. Mentions on Lemmy only serve to, well, mention someone. Just like on Reddit.

    And so forth.

    It's actually easy to spot threads on Lemmy that were started by Mastodon users: The title is in the post text, or there's no title at all because the Mastodon users did as they always do: mention in the first line, then a new line because that looks prettier. Of course, there's a mention in the post text. And there's a bunch of hashtags strewn across the post text even though they don't even work. If you're very lucky, the hashtags are at the bottom, but most Mastodon users don't waste any of their 500 characters on that.

    I hope you get a rough idea how much headbutting there is between Mastodon users who think that the Mastodon users rule supreme over the whole Fediverse and Lemmy community owners who do rule over the Lemmy communities which these Mastodon users have just posted into.

    Countermeasures


    Both sides are actually taking countermeasures. The non-Mastodon side is more effective at it, though.

    On Mastodon's side, there are very few single users who block every single non-Mastodon server they come across.

    Countermeasures on the non-Mastodon side vary. They start with single users who block each Mastodon user who doesn't behave like they want them to behave, e.g. they block everyone who chops a long post into a thread at first trike.

    Then there's Hubzilla, reworked from a fork of a fork of Friendica by Friendica's own creator. Hubzilla has always been based on its own protocol, Zot6 (Friendica's creator calls it an older version of Nomad). ActivityPub support is optional, on by default on new servers and off by default on new channels. The current devs won't change anything about that. Not only doesn't Hubzilla's technology allow for moving it to ActivityPub as its base protocol, but ActivityPub being optional is seen as a last-resort "drawbridge" for those to whom Mastodon has become unbearable.

    Nowadays, Friendica's creator is working on two other applications in the same family. (streams) is a fork of a fork of three forks of a fork (of a fork?) of Hubzilla, and Forte is a fork of (streams). Both have an admin-side user agent filter. It can block entire Fediverse applications without having to hassle around with a URL list. It was mainly created and advertised as a means to permanently lock Threads out, even if Threads should change URLs. But it's also being advertised as being capable of blocking all of Mastodon, all present and future servers. Mastodon being intentially made barely compatible with the rest of the Fediverse is only one reason for this.

    (streams) and Forte also have another admin-side filter which, when turned on, locks everything out that doesn't support enclosed threaded conversations. That's because server applications like Mastodon mess with the way that (streams), Forte and their ancestors handle conversations. Granted, when this is activated only to get rid of Mastodon, it causes quite a bit of collateral damage.

    Generally, (streams) and Forte are very similar. The main difference is that Forte is entirely based on ActivityPub whereas (streams) is based on the current version of Nomad with ActivityPub still being optional. The reason why (streams) is kept around is for there to still be one of these applications with the same protocol-level "drawbridge" as Hubzilla. And in fact, the most important (streams) group used to have ActivityPub off with the intention to keep Mastodon out.

    I guess there are still Mastodon users who absolutely defend and support Mastodon's way being forced upon the non-Mastodon Fediverse, and who are irritated or upset about non-Mastodon users being very defensive of their own non-Mastodon ways and refusing to adopt Mastodon's (allegedly much superior) culture instead of embracing it.

    And I guess there are Mastodon users who feel absolutely entitled to get to every last Hubzilla and (streams) and Forte user unhindered and force them to use Hubzilla/(streams)/Forte exactly like Mastodon in every way possible.

    #Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #CharacterLimit #CharacterLimits #CharacterLimitMeta #CWCharacterLimitMeta #500Characters #CW #CWs #CWMeta #ContentWarning #ContentWarnings #ContentWarningMeta #Hashtag #Hashtags #HashtagMeta #CWHashtagMeta #Fediverse #Mastodon #MastodonFediverse #NotOnlyMastodon #FediverseIsNotMastodon #MastodonIsNotTheFediverse #Friendica #Hubzilla #Streams #(streams) #Forte #Lemmy #MastodonCulture #FediverseCulture #MastodonCentricity #MastodonNormativity
  4. CW: Good image descriptions require a much bigger effort than you may think; CW: long (over 5,300 characters), Fediverse meta, Fediverse-beyond-Mastodon meta, character limit meta, content warning meta, hashtag meta, alt-text meta, image description meta, AI mentioned (AI-)
    Image descriptions are important in the Fediverse, at least if your posts have a chance to reach Mastodon. But is it only about having image descriptions in general? Is it only about having image descriptions at all? Or is it about image description quality as well?

    Blind or visually-impaired users say that anything is better than nothing. But seriously, the image file name as the alt-text is useless. So is a copy of the post text as the alt-text; at least one mobile app for Mastodon seems to do that automatically. So is some gibberish written into the alt-text, just so that there's some alt-text.

    So you write a short image description for your alt-text. That should be much better than nothing.

    But then you're criticised and sanctioned because your image description lacks detail.

    Since you can't or don't want to write a longer description, you leave that to an AI.

    But then you're criticised and sanctioned because your image description is obvious AI slop. The AI is inaccurate, it hallucinates, it misidentifies things and it still leaves out details.

    Okay, so you sit down and put quite some time and effort into a hand-written image description that's both accurate and detailed. At least you think so.

    And still, someone may come and criticise and/or sanction you for having left out certain details.

    If you don't fix your image description to their satisfaction, you're insulted as ableist and blocked very publicly so that as many other users as possible block you, too.

    Now, minimum quality standards for image descriptions are evolving over time. What matters now didn't necessarily matter two years ago. Things that don't matter now may matter in two years or in five years. Even today, alt-text activists criticise image posts that are several years old for image descriptions that they consider less than optimal. This means the image descriptions that you write today must be good enough for as long as your image posts stay available. If they aren't, have fun going through all your old image posts, editing them and upgrading the image descriptions to the latest minimum requirements.

    There's only way to be safe from Mastodon's alt-text police in the long run: First of all, you must educate yourself about all the rules and guidelines of alt-texts and image descriptions, and there are dozens of websites about these. You can't know beforehand which ones of these rules will be declared mandatory by someone from the alt-text police in the future, so you'd better follow them to a tee already now. Of course, when two rules contradict each other, you must know which one to follow.

    Also, you must know that the requirements and quality standards for good alt-texts and image descriptions on Mastodon are different from the entire rest of the Web. What's good enough for the Web isn't necessarily good enough for Mastodon.

    Lastly, you must know your audience. And normally, your audience can be anyone anywhere in the Fediverse or even on the Web. There are only very few places in the Fediverse where you can control who will be able to read your stuff, and Mastodon isn't one of them. You must know your audience, and you must at least be able to estimate what they know about the contents of your image, what they don't know and what they need to know. If your audience doesn't necessarily know what something is, explain it, but please do so in the post text and not in the alt-text! If your audience doesn't necessarily know what something looks like, but it may want to know, describe what it looks like.

    As for my own images, my strategy is to write two image descriptions for each image. One is the short image description; it goes into the alt-text. I'm going to limit that to a maximum of 512 characters because Misskey and its forks delete alt-texts that are over 512 characters long. The other one is the long image description; it goes into the post text. The long image description is fully detailed, it contains all explanations necessary to understand the image and its descriptions, and it contains transcripts of every last bit of text anywhere within the borders of the image, readable in the image or not.

    Posting memes is a bit easier. There is only one image description that's hopefully short enough to go into the alt-text. But I still need to explain a whole lot of things, and as I can't always rely upon links to websites like KnowYourMeme for explanations, I often have to write a whole lot of explanations into the post.

    Ideally, the worst that could happen to me is being criticised for my alt-text exceeding 200 characters or my post exceeding 500 characters or being blocked for the latter. I reduce the chance for that to happen with a summary that includes a long post content warning with the rough length of the post and the hashtags #Long, #LongPost, #CWLong and #CWLongPost that can be filtered. I almost always add hashtags for folks to filter.

    But I hope that nobody can say I haven't tried hard enough.

    #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #CharacterLimit #CharacterLimits #CharacterLimitMeta #CWCharacterLimitMeta #500Characters #CW #CWs #CWMeta #ContentWarning #ContentWarnings #ContentWarningMeta #Hashtag #Hashtags #HashtagMeta #CWHashtagMeta #AltText #AltTextMeta #CWAltTextMeta #ImageDescription #ImageDescriptions #ImageDescriptionMeta #CWImageDescriptionMeta
  5. CW: Why Sharkey fails to render hashtags from Friendica, Hubzilla & Co. properly, and how long this bug has been known already; CW: long (over 6,600 characters), Fediverse meta, Fediverse-beyond-Mastodon meta
    So there's that nasty bug on Sharkey that mangles hashtags in messages from Hubzilla and probably also Friendica, (streams) and Forte. They always look like this:

    #[Hashtag](https://hub.netzgemeinde.eu/search?tag=Hashtag)

    Basically, Sharkey receives fully standard Rich Text from Hubzilla. It manages to convert this Rich Text into its own Misskey-Flavored Markdown. But then its Markdown parser does not parse it and leaves the Markdown code visible to everyone. It simply doesn't expect there to be a hashtag character in front of an embedded link because, seriously, who'd ever do that and why?!

    Friendica would. In fact, Friendica does. It puts the hashtag character in front of the tag, as in outside the tag, as opposed to at the beginning of the tag. It has been doing that since its beginnings in 2010 because it was designed from the get-go to also federate with StatusNet from 2008. And StatusNet does hashtags the same way on its few remaining servers. In fact, so did Identi.ca from 2008, from which StatusNet emerged.

    Hubzilla, (streams) and Forte do it, too, because they have inherited it from Friendica.

    On StatusNet, Friendica, Hubzilla, (streams) and Forte, a hashtag in a message looks like this:

    #Hashtag

    Notice how the hashtag character has the same colour as the rest of the post text. And not the same colour as the rest of the hashtag. This means that the hashtag character is not part of the link. (To Mastodon users who don't know this: If something in a "toot" has a different colour from the rest of the "toot", it's a link. Even if it doesn't show a URL in plain sight.)

    On 𝕏, Mastodon, Pleroma, Akkoma, Misskey, the various Forkeys and a whole lot of other Fediverse software, a hashtag in a message looks like this:

    #Hashtag

    Notice how now the hashtag character has the same colour as the rest of the hashtag. This means that the hashtag character is part of the link.

    But why did Identi.ca do hashtags differently from Twitter? Because Identi.ca did hashtags before Twitter. AFAIK, when Identi.ca was launched, it had support for hashtags right away. About one year before Twitter.

    The hashtag itself had already been invented by the Twitter community. Chris Messina had already codified it in 2007. But it wasn't until 2009 that Twitter actually introduced a technological implementation to support it.

    Again, Identi.ca must have had hashtags as early as 2008, and there was no way that Identi.ca creator Evan Prodromou could possibly predict what Twitter would do the following year. So he did what he thought was right and what actually made sense to him.

    But nowadays, everybody "knows" that Twitter had the world's very first hashtag implementation ever because nobody, even in the Fediverse, has ever heard of Identi.ca. I mean, the majority of Fediverse users "know" that the Fediverse started with Mastodon.

    You know, just like Officer James Barrett "knew" that there is no intelligent life outside Earth only a few minutes before he became Agent J of the Men In Black.

    This is also why just about all Fediverse software that does hashtags the Twitter way expects everything to do hashtags the Twitter way. It does not expect hashtags to be done differently. And when a message comes in from Friendica, Hubzilla, (streams) or Forte with hashtags in it, it fails at varying degrees of ungracefully.

    Hashtags with the hashtag character outside the link are older than hashtags with the hashtag character inside that they're not only completely unexpected, that they cause software to malfunction, but the same software often can't even handle that malfunction. It's a miracle that the Friendica/Hubzilla family doesn't cause Fediverse servers to crash or even server databases to go corrupt by simply sending hashtags.

    Mastodon used to be an exception of sorts, but only because, before version 4.0 from October, 2022, its HTML "sanitiser" actually ripped out any and all rich text code from incoming messages and left nothing but plain text behind. And then it didn't recognise hashtags in messages from outside Mastodon as hashtags at all.

    When Mastodon 4.0 came and supported some rich text, including embedded links, it went haywire, of course. But then someone from Friendica and Hubzilla went in and complained about this malfunction and explained what happened, why it happened and why it was not Friendica and Hubzilla that did things wrong. Besides, if something utterly defaces "toots", then Mastodon developers do step in to stop it. After all, Mastodon has a few more of them at hand, paid, full-time professionals even. You have to give it that.

    Which takes us back to Sharkey. Sharkey is developed by a small handful of individuals in their spare time. Granted, it's a soft fork of Misskey, so a lot of development work is done by the Misskey devs and taken over by the Sharkey devs, but they still have to weave the code changes coming from Misskey in and make them work with what's different on Sharkey.

    So it turned out that (Link content warning: eye contact) this bug has already been filed to the Sharkey devs in October, 2024. All that has happened since then until today was that Hazelnoot added two labels. But the bug report came with no explanations. In fact, it misattributed one of my Hubzilla posts as a Friendica post.

    And in fact, it turned out that this is actually (Link content warning: Microsoft GitHub link, eye contact) a Misskey bug which has been filed in January, 2024, two years ago. The bug report is a bit more elaborate, but the reporter still knew precious little about what's going on. So I wrote a comment in which I explained the bug from a Friendica/Hubzilla POV as well as what's going on on the technical side, and why the error has to be on Misskey's side.

    I hope this will finally help get the bug fixed. Unfortunately, this fix would come too late for Iceshrimp. Iceshrimp-JS is a true Forkey, but in maintenance mode, so I guess only security patches and critical bugfixes will be merged from Misskey, if anything. And Iceshrimp.NET is a complete rewrite of a pre-this-fix Misskey fork, so the Iceshrimp devs probably don't know about this issue either. If it fails ungracefully upon receiving hashtags with the hashtag character outside, it will require its own bug report.

    #Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Hashtag #Hashtags #HashtagMeta #CWHashtagMeta #Twitter #𝕏 #Fediverse #Mastodon #Pleroma #Akkoma #Misskey #Forkey #Forkeys #Sharkey #Iceshrimp #Iceshrimp-JS #Iceshrimp.NET #Identi.ca #Laconi.ca #StatusNet #Friendica #Hubzilla #Streams #(streams) #Forte
  6. CW: Why Sharkey fails to render hashtags from Friendica, Hubzilla & Co. properly, and how long this bug has been known already; CW: long (over 6,600 characters), Fediverse meta, Fediverse-beyond-Mastodon meta
    So there's that nasty bug on Sharkey that mangles hashtags in messages from Hubzilla and probably also Friendica, (streams) and Forte. They always look like this:

    #[Hashtag](https://hub.netzgemeinde.eu/search?tag=Hashtag)

    Basically, Sharkey receives fully standard Rich Text from Hubzilla. It manages to convert this Rich Text into its own Misskey-Flavored Markdown. But then its Markdown parser does not parse it and leaves the Markdown code visible to everyone. It simply doesn't expect there to be a hashtag character in front of an embedded link because, seriously, who'd ever do that and why?!

    Friendica would. In fact, Friendica does. It puts the hashtag character in front of the tag, as in outside the tag, as opposed to at the beginning of the tag. It has been doing that since its beginnings in 2010 because it was designed from the get-go to also federate with StatusNet from 2008. And StatusNet does hashtags the same way on its few remaining servers. In fact, so did Identi.ca from 2008, from which StatusNet emerged.

    Hubzilla, (streams) and Forte do it, too, because they have inherited it from Friendica.

    On StatusNet, Friendica, Hubzilla, (streams) and Forte, a hashtag in a message looks like this:

    #Hashtag

    Notice how the hashtag character has the same colour as the rest of the post text. And not the same colour as the rest of the hashtag. This means that the hashtag character is not part of the link. (To Mastodon users who don't know this: If something in a "toot" has a different colour from the rest of the "toot", it's a link. Even if it doesn't show a URL in plain sight.)

    On 𝕏, Mastodon, Pleroma, Akkoma, Misskey, the various Forkeys and a whole lot of other Fediverse software, a hashtag in a message looks like this:

    #Hashtag

    Notice how now the hashtag character has the same colour as the rest of the hashtag. This means that the hashtag character is part of the link.

    But why did Identi.ca do hashtags differently from Twitter? Because Identi.ca did hashtags before Twitter. AFAIK, when Identi.ca was launched, it had support for hashtags right away. About one year before Twitter.

    The hashtag itself had already been invented by the Twitter community. Chris Messina had already codified it in 2007. But it wasn't until 2009 that Twitter actually introduced a technological implementation to support it.

    Again, Identi.ca must have had hashtags as early as 2008, and there was no way that Identi.ca creator Evan Prodromou could possibly predict what Twitter would do the following year. So he did what he thought was right and what actually made sense to him.

    But nowadays, everybody "knows" that Twitter had the world's very first hashtag implementation ever because nobody, even in the Fediverse, has ever heard of Identi.ca. I mean, the majority of Fediverse users "know" that the Fediverse started with Mastodon.

    You know, just like Officer James Barrett "knew" that there is no intelligent life outside Earth only a few minutes before he became Agent J of the Men In Black.

    This is also why just about all Fediverse software that does hashtags the Twitter way expects everything to do hashtags the Twitter way. It does not expect hashtags to be done differently. And when a message comes in from Friendica, Hubzilla, (streams) or Forte with hashtags in it, it fails at varying degrees of ungracefully.

    Hashtags with the hashtag character outside the link are older than hashtags with the hashtag character inside that they're not only completely unexpected, that they cause software to malfunction, but the same software often can't even handle that malfunction. It's a miracle that the Friendica/Hubzilla family doesn't cause Fediverse servers to crash or even server databases to go corrupt by simply sending hashtags.

    Mastodon used to be an exception of sorts, but only because, before version 4.0 from October, 2022, its HTML "sanitiser" actually ripped out any and all rich text code from incoming messages and left nothing but plain text behind. And then it didn't recognise hashtags in messages from outside Mastodon as hashtags at all.

    When Mastodon 4.0 came and supported some rich text, including embedded links, it went haywire, of course. But then someone from Friendica and Hubzilla went in and complained about this malfunction and explained what happened, why it happened and why it was not Friendica and Hubzilla that did things wrong. Besides, if something utterly defaces "toots", then Mastodon developers do step in to stop it. After all, Mastodon has a few more of them at hand, paid, full-time professionals even. You have to give it that.

    Which takes us back to Sharkey. Sharkey is developed by a small handful of individuals in their spare time. Granted, it's a soft fork of Misskey, so a lot of development work is done by the Misskey devs and taken over by the Sharkey devs, but they still have to weave the code changes coming from Misskey in and make them work with what's different on Sharkey.

    So it turned out that (Link content warning: eye contact) this bug has already been filed to the Sharkey devs in October, 2024. All that has happened since then until today was that Hazelnoot added two labels. But the bug report came with no explanations. In fact, it misattributed one of my Hubzilla posts as a Friendica post.

    And in fact, it turned out that this is actually (Link content warning: Microsoft GitHub link, eye contact) a Misskey bug which has been filed in January, 2024, two years ago. The bug report is a bit more elaborate, but the reporter still knew precious little about what's going on. So I wrote a comment in which I explained the bug from a Friendica/Hubzilla POV as well as what's going on on the technical side, and why the error has to be on Misskey's side.

    I hope this will finally help get the bug fixed. Unfortunately, this fix would come too late for Iceshrimp. Iceshrimp-JS is a true Forkey, but in maintenance mode, so I guess only security patches and critical bugfixes will be merged from Misskey, if anything. And Iceshrimp.NET is a complete rewrite of a pre-this-fix Misskey fork, so the Iceshrimp devs probably don't know about this issue either. If it fails ungracefully upon receiving hashtags with the hashtag character outside, it will require its own bug report.

    #Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Hashtag #Hashtags #HashtagMeta #CWHashtagMeta #Twitter #𝕏 #Fediverse #Mastodon #Pleroma #Akkoma #Misskey #Forkey #Forkeys #Sharkey #Iceshrimp #Iceshrimp-JS #Iceshrimp.NET #Identi.ca #Laconi.ca #StatusNet #Friendica #Hubzilla #Streams #(streams) #Forte
  7. CW: Why Sharkey fails to render hashtags from Friendica, Hubzilla & Co. properly, and how long this bug has been known already; CW: long (over 6,600 characters), Fediverse meta, Fediverse-beyond-Mastodon meta
    So there's that nasty bug on Sharkey that mangles hashtags in messages from Hubzilla and probably also Friendica, (streams) and Forte. They always look like this:

    #[Hashtag](https://hub.netzgemeinde.eu/search?tag=Hashtag)

    Basically, Sharkey receives fully standard Rich Text from Hubzilla. It manages to convert this Rich Text into its own Misskey-Flavored Markdown. But then its Markdown parser does not parse it and leaves the Markdown code visible to everyone. It simply doesn't expect there to be a hashtag character in front of an embedded link because, seriously, who'd ever do that and why?!

    Friendica would. In fact, Friendica does. It puts the hashtag character in front of the tag, as in outside the tag, as opposed to at the beginning of the tag. It has been doing that since its beginnings in 2010 because it was designed from the get-go to also federate with StatusNet from 2008. And StatusNet does hashtags the same way on its few remaining servers. In fact, so did Identi.ca from 2008, from which StatusNet emerged.

    Hubzilla, (streams) and Forte do it, too, because they have inherited it from Friendica.

    On StatusNet, Friendica, Hubzilla, (streams) and Forte, a hashtag in a message looks like this:

    #Hashtag

    Notice how the hashtag character has the same colour as the rest of the post text. And not the same colour as the rest of the hashtag. This means that the hashtag character is not part of the link. (To Mastodon users who don't know this: If something in a "toot" has a different colour from the rest of the "toot", it's a link. Even if it doesn't show a URL in plain sight.)

    On 𝕏, Mastodon, Pleroma, Akkoma, Misskey, the various Forkeys and a whole lot of other Fediverse software, a hashtag in a message looks like this:

    #Hashtag

    Notice how now the hashtag character has the same colour as the rest of the hashtag. This means that the hashtag character is part of the link.

    But why did Identi.ca do hashtags differently from Twitter? Because Identi.ca did hashtags before Twitter. AFAIK, when Identi.ca was launched, it had support for hashtags right away. About one year before Twitter.

    The hashtag itself had already been invented by the Twitter community. Chris Messina had already codified it in 2007. But it wasn't until 2009 that Twitter actually introduced a technological implementation to support it.

    Again, Identi.ca must have had hashtags as early as 2008, and there was no way that Identi.ca creator Evan Prodromou could possibly predict what Twitter would do the following year. So he did what he thought was right and what actually made sense to him.

    But nowadays, everybody "knows" that Twitter had the world's very first hashtag implementation ever because nobody, even in the Fediverse, has ever heard of Identi.ca. I mean, the majority of Fediverse users "know" that the Fediverse started with Mastodon.

    You know, just like Officer James Barrett "knew" that there is no intelligent life outside Earth only a few minutes before he became Agent J of the Men In Black.

    This is also why just about all Fediverse software that does hashtags the Twitter way expects everything to do hashtags the Twitter way. It does not expect hashtags to be done differently. And when a message comes in from Friendica, Hubzilla, (streams) or Forte with hashtags in it, it fails at varying degrees of ungracefully.

    Hashtags with the hashtag character outside the link are older than hashtags with the hashtag character inside that they're not only completely unexpected, that they cause software to malfunction, but the same software often can't even handle that malfunction. It's a miracle that the Friendica/Hubzilla family doesn't cause Fediverse servers to crash or even server databases to go corrupt by simply sending hashtags.

    Mastodon used to be an exception of sorts, but only because, before version 4.0 from October, 2022, its HTML "sanitiser" actually ripped out any and all rich text code from incoming messages and left nothing but plain text behind. And then it didn't recognise hashtags in messages from outside Mastodon as hashtags at all.

    When Mastodon 4.0 came and supported some rich text, including embedded links, it went haywire, of course. But then someone from Friendica and Hubzilla went in and complained about this malfunction and explained what happened, why it happened and why it was not Friendica and Hubzilla that did things wrong. Besides, if something utterly defaces "toots", then Mastodon developers do step in to stop it. After all, Mastodon has a few more of them at hand, paid, full-time professionals even. You have to give it that.

    Which takes us back to Sharkey. Sharkey is developed by a small handful of individuals in their spare time. Granted, it's a soft fork of Misskey, so a lot of development work is done by the Misskey devs and taken over by the Sharkey devs, but they still have to weave the code changes coming from Misskey in and make them work with what's different on Sharkey.

    So it turned out that (Link content warning: eye contact) this bug has already been filed to the Sharkey devs in October, 2024. All that has happened since then until today was that Hazelnoot added two labels. But the bug report came with no explanations. In fact, it misattributed one of my Hubzilla posts as a Friendica post.

    And in fact, it turned out that this is actually (Link content warning: Microsoft GitHub link, eye contact) a Misskey bug which has been filed in January, 2024, two years ago. The bug report is a bit more elaborate, but the reporter still knew precious little about what's going on. So I wrote a comment in which I explained the bug from a Friendica/Hubzilla POV as well as what's going on on the technical side, and why the error has to be on Misskey's side.

    I hope this will finally help get the bug fixed. Unfortunately, this fix would come too late for Iceshrimp. Iceshrimp-JS is a true Forkey, but in maintenance mode, so I guess only security patches and critical bugfixes will be merged from Misskey, if anything. And Iceshrimp.NET is a complete rewrite of a pre-this-fix Misskey fork, so the Iceshrimp devs probably don't know about this issue either. If it fails ungracefully upon receiving hashtags with the hashtag character outside, it will require its own bug report.

    #Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Hashtag #Hashtags #HashtagMeta #CWHashtagMeta #Twitter #𝕏 #Fediverse #Mastodon #Pleroma #Akkoma #Misskey #Forkey #Forkeys #Sharkey #Iceshrimp #Iceshrimp-JS #Iceshrimp.NET #Identi.ca #Laconi.ca #StatusNet #Friendica #Hubzilla #Streams #(streams) #Forte
  8. CW: Why Sharkey fails to render hashtags from Friendica, Hubzilla & Co. properly, and how long this bug has been known already; CW: long (over 6,600 characters), Fediverse meta, Fediverse-beyond-Mastodon meta
    So there's that nasty bug on Sharkey that mangles hashtags in messages from Hubzilla and probably also Friendica, (streams) and Forte. They always look like this:

    #[Hashtag](https://hub.netzgemeinde.eu/search?tag=Hashtag)

    Basically, Sharkey receives fully standard Rich Text from Hubzilla. It manages to convert this Rich Text into its own Misskey-Flavored Markdown. But then its Markdown parser does not parse it and leaves the Markdown code visible to everyone. It simply doesn't expect there to be a hashtag character in front of an embedded link because, seriously, who'd ever do that and why?!

    Friendica would. In fact, Friendica does. It puts the hashtag character in front of the tag, as in outside the tag, as opposed to at the beginning of the tag. It has been doing that since its beginnings in 2010 because it was designed from the get-go to also federate with StatusNet from 2008. And StatusNet does hashtags the same way on its few remaining servers. In fact, so did Identi.ca from 2008, from which StatusNet emerged.

    Hubzilla, (streams) and Forte do it, too, because they have inherited it from Friendica.

    On StatusNet, Friendica, Hubzilla, (streams) and Forte, a hashtag in a message looks like this:

    #Hashtag

    Notice how the hashtag character has the same colour as the rest of the post text. And not the same colour as the rest of the hashtag. This means that the hashtag character is not part of the link. (To Mastodon users who don't know this: If something in a "toot" has a different colour from the rest of the "toot", it's a link. Even if it doesn't show a URL in plain sight.)

    On 𝕏, Mastodon, Pleroma, Akkoma, Misskey, the various Forkeys and a whole lot of other Fediverse software, a hashtag in a message looks like this:

    #Hashtag

    Notice how now the hashtag character has the same colour as the rest of the hashtag. This means that the hashtag character is part of the link.

    But why did Identi.ca do hashtags differently from Twitter? Because Identi.ca did hashtags before Twitter. AFAIK, when Identi.ca was launched, it had support for hashtags right away. About one year before Twitter.

    The hashtag itself had already been invented by the Twitter community. Chris Messina had already codified it in 2007. But it wasn't until 2009 that Twitter actually introduced a technological implementation to support it.

    Again, Identi.ca must have had hashtags as early as 2008, and there was no way that Identi.ca creator Evan Prodromou could possibly predict what Twitter would do the following year. So he did what he thought was right and what actually made sense to him.

    But nowadays, everybody "knows" that Twitter had the world's very first hashtag implementation ever because nobody, even in the Fediverse, has ever heard of Identi.ca. I mean, the majority of Fediverse users "know" that the Fediverse started with Mastodon.

    You know, just like Officer James Barrett "knew" that there is no intelligent life outside Earth only a few minutes before he became Agent J of the Men In Black.

    This is also why just about all Fediverse software that does hashtags the Twitter way expects everything to do hashtags the Twitter way. It does not expect hashtags to be done differently. And when a message comes in from Friendica, Hubzilla, (streams) or Forte with hashtags in it, it fails at varying degrees of ungracefully.

    Hashtags with the hashtag character outside the link are older than hashtags with the hashtag character inside that they're not only completely unexpected, that they cause software to malfunction, but the same software often can't even handle that malfunction. It's a miracle that the Friendica/Hubzilla family doesn't cause Fediverse servers to crash or even server databases to go corrupt by simply sending hashtags.

    Mastodon used to be an exception of sorts, but only because, before version 4.0 from October, 2022, its HTML "sanitiser" actually ripped out any and all rich text code from incoming messages and left nothing but plain text behind. And then it didn't recognise hashtags in messages from outside Mastodon as hashtags at all.

    When Mastodon 4.0 came and supported some rich text, including embedded links, it went haywire, of course. But then someone from Friendica and Hubzilla went in and complained about this malfunction and explained what happened, why it happened and why it was not Friendica and Hubzilla that did things wrong. Besides, if something utterly defaces "toots", then Mastodon developers do step in to stop it. After all, Mastodon has a few more of them at hand, paid, full-time professionals even. You have to give it that.

    Which takes us back to Sharkey. Sharkey is developed by a small handful of individuals in their spare time. Granted, it's a soft fork of Misskey, so a lot of development work is done by the Misskey devs and taken over by the Sharkey devs, but they still have to weave the code changes coming from Misskey in and make them work with what's different on Sharkey.

    So it turned out that (Link content warning: eye contact) this bug has already been filed to the Sharkey devs in October, 2024. All that has happened since then until today was that Hazelnoot added two labels. But the bug report came with no explanations. In fact, it misattributed one of my Hubzilla posts as a Friendica post.

    And in fact, it turned out that this is actually (Link content warning: Microsoft GitHub link, eye contact) a Misskey bug which has been filed in January, 2024, two years ago. The bug report is a bit more elaborate, but the reporter still knew precious little about what's going on. So I wrote a comment in which I explained the bug from a Friendica/Hubzilla POV as well as what's going on on the technical side, and why the error has to be on Misskey's side.

    I hope this will finally help get the bug fixed. Unfortunately, this fix would come too late for Iceshrimp. Iceshrimp-JS is a true Forkey, but in maintenance mode, so I guess only security patches and critical bugfixes will be merged from Misskey, if anything. And Iceshrimp.NET is a complete rewrite of a pre-this-fix Misskey fork, so the Iceshrimp devs probably don't know about this issue either. If it fails ungracefully upon receiving hashtags with the hashtag character outside, it will require its own bug report.

    #Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Hashtag #Hashtags #HashtagMeta #CWHashtagMeta #Twitter #𝕏 #Fediverse #Mastodon #Pleroma #Akkoma #Misskey #Forkey #Forkeys #Sharkey #Iceshrimp #Iceshrimp-JS #Iceshrimp.NET #Identi.ca #Laconi.ca #StatusNet #Friendica #Hubzilla #Streams #(streams) #Forte
  9. CW: Why Sharkey fails to render hashtags from Friendica, Hubzilla & Co. properly, and how long this bug has been known already; CW: long (over 6,600 characters), Fediverse meta, Fediverse-beyond-Mastodon meta
    So there's that nasty bug on Sharkey that mangles hashtags in messages from Hubzilla and probably also Friendica, (streams) and Forte. They always look like this:

    #[Hashtag](https://hub.netzgemeinde.eu/search?tag=Hashtag)

    Basically, Sharkey receives fully standard Rich Text from Hubzilla. It manages to convert this Rich Text into its own Misskey-Flavored Markdown. But then its Markdown parser does not parse it and leaves the Markdown code visible to everyone. It simply doesn't expect there to be a hashtag character in front of an embedded link because, seriously, who'd ever do that and why?!

    Friendica would. In fact, Friendica does. It puts the hashtag character in front of the tag, as in outside the tag, as opposed to at the beginning of the tag. It has been doing that since its beginnings in 2010 because it was designed from the get-go to also federate with StatusNet from 2008. And StatusNet does hashtags the same way on its few remaining servers. In fact, so did Identi.ca from 2008, from which StatusNet emerged.

    Hubzilla, (streams) and Forte do it, too, because they have inherited it from Friendica.

    On StatusNet, Friendica, Hubzilla, (streams) and Forte, a hashtag in a message looks like this:

    #Hashtag

    Notice how the hashtag character has the same colour as the rest of the post text. And not the same colour as the rest of the hashtag. This means that the hashtag character is not part of the link. (To Mastodon users who don't know this: If something in a "toot" has a different colour from the rest of the "toot", it's a link. Even if it doesn't show a URL in plain sight.)

    On 𝕏, Mastodon, Pleroma, Akkoma, Misskey, the various Forkeys and a whole lot of other Fediverse software, a hashtag in a message looks like this:

    #Hashtag

    Notice how now the hashtag character has the same colour as the rest of the hashtag. This means that the hashtag character is part of the link.

    But why did Identi.ca do hashtags differently from Twitter? Because Identi.ca did hashtags before Twitter. AFAIK, when Identi.ca was launched, it had support for hashtags right away. About one year before Twitter.

    The hashtag itself had already been invented by the Twitter community. Chris Messina had already codified it in 2007. But it wasn't until 2009 that Twitter actually introduced a technological implementation to support it.

    Again, Identi.ca must have had hashtags as early as 2008, and there was no way that Identi.ca creator Evan Prodromou could possibly predict what Twitter would do the following year. So he did what he thought was right and what actually made sense to him.

    But nowadays, everybody "knows" that Twitter had the world's very first hashtag implementation ever because nobody, even in the Fediverse, has ever heard of Identi.ca. I mean, the majority of Fediverse users "know" that the Fediverse started with Mastodon.

    You know, just like Officer James Barrett "knew" that there is no intelligent life outside Earth only a few minutes before he became Agent J of the Men In Black.

    This is also why just about all Fediverse software that does hashtags the Twitter way expects everything to do hashtags the Twitter way. It does not expect hashtags to be done differently. And when a message comes in from Friendica, Hubzilla, (streams) or Forte with hashtags in it, it fails at varying degrees of ungracefully.

    Hashtags with the hashtag character outside the link are older than hashtags with the hashtag character inside that they're not only completely unexpected, that they cause software to malfunction, but the same software often can't even handle that malfunction. It's a miracle that the Friendica/Hubzilla family doesn't cause Fediverse servers to crash or even server databases to go corrupt by simply sending hashtags.

    Mastodon used to be an exception of sorts, but only because, before version 4.0 from October, 2022, its HTML "sanitiser" actually ripped out any and all rich text code from incoming messages and left nothing but plain text behind. And then it didn't recognise hashtags in messages from outside Mastodon as hashtags at all.

    When Mastodon 4.0 came and supported some rich text, including embedded links, it went haywire, of course. But then someone from Friendica and Hubzilla went in and complained about this malfunction and explained what happened, why it happened and why it was not Friendica and Hubzilla that did things wrong. Besides, if something utterly defaces "toots", then Mastodon developers do step in to stop it. After all, Mastodon has a few more of them at hand, paid, full-time professionals even. You have to give it that.

    Which takes us back to Sharkey. Sharkey is developed by a small handful of individuals in their spare time. Granted, it's a soft fork of Misskey, so a lot of development work is done by the Misskey devs and taken over by the Sharkey devs, but they still have to weave the code changes coming from Misskey in and make them work with what's different on Sharkey.

    So it turned out that (Link content warning: eye contact) this bug has already been filed to the Sharkey devs in October, 2024. All that has happened since then until today was that Hazelnoot added two labels. But the bug report came with no explanations. In fact, it misattributed one of my Hubzilla posts as a Friendica post.

    And in fact, it turned out that this is actually (Link content warning: Microsoft GitHub link, eye contact) a Misskey bug which has been filed in January, 2024, two years ago. The bug report is a bit more elaborate, but the reporter still knew precious little about what's going on. So I wrote a comment in which I explained the bug from a Friendica/Hubzilla POV as well as what's going on on the technical side, and why the error has to be on Misskey's side.

    I hope this will finally help get the bug fixed. Unfortunately, this fix would come too late for Iceshrimp. Iceshrimp-JS is a true Forkey, but in maintenance mode, so I guess only security patches and critical bugfixes will be merged from Misskey, if anything. And Iceshrimp.NET is a complete rewrite of a pre-this-fix Misskey fork, so the Iceshrimp devs probably don't know about this issue either. If it fails ungracefully upon receiving hashtags with the hashtag character outside, it will require its own bug report.

    #Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Hashtag #Hashtags #HashtagMeta #CWHashtagMeta #Twitter #𝕏 #Fediverse #Mastodon #Pleroma #Akkoma #Misskey #Forkey #Forkeys #Sharkey #Iceshrimp #Iceshrimp-JS #Iceshrimp.NET #Identi.ca #Laconi.ca #StatusNet #Friendica #Hubzilla #Streams #(streams) #Forte