I wonder if next people are going to ask for custom CSS and JavaScript to be allowed in toots

@Gargron that'd be silly

just give us bbcode and we'll be on our way

@Gargron I mean, we could just keep using unreadable unicode characters that kinda look like letters...

@ben Or you can just not do that if you think that's bad. There is no strict requirement for anything to actually be bold or italic here, and people understand *emphasis* in context.

@Gargron and if a remote instance sends <em>some text</em>, does Mastodon convert it to *emphasis* or to absolutely nothing?

@ben I think that ultimately posts that have rich formatting are not meant for Mastodon. If they are marked up as an Article, we show their permalink in the toot, so people can view the content in the environment it is supposed to be viewed in.

@Gargron people using Mastodon do *try* to post with rich text, falling back on extremely weird unicode nonsense and emoji-per-letter hacks

by giving people the ability to *see* post formatting, you're not making Mastodon any more complicated

I can already make an 8 megabyte text post and instances will accept it regardless of what Mastodon thinks posts should look like. There's no reason a safe subset of HTML should be stripped from posts, especially if it's not being replaced with anything.

At the very least, display unsupported tags as tags rather than deleting them entirely (like what my HTML sanitizer for my tech forum does when people post <script> tags - rather than deleting them, it just converts them to &lt;script&gt;)

@ben @Gargron hard agree. also sometimes important context is lost from pleroma instances that do use the formatting, and it's extremely helpful for passing around little code snippets and such. i know you're not a fan eugen but there really is a lot of important context that goes missing sometimes when communicating with pleroma instances that allow simple markup, and at least not showing what's there i think causes more understanding than we realize

@anna @ben As @boots noted it's not just allowing HTML tags but also adding CSS styles for them to not look like garbage. The more markup you allow the harder it is to have the right CSS to not let it look like garbage, and this doesn't even touch upon having hotlinked inline images or videos, if you go all the way about supporting what other platforms post. You have to draw the line somewhere, and I'm drawing it in a specific place.

@Gargron @ben @boots i do think it's worth reconsidering drawing the line to include some accessibility features that are common elsewhere on the fediverse. all of those problems are solvable and not particularly huge ones, and an option to turn it off would be wise, but i don't think wanting some simple formatting options is a desire that is going away

@anna @Gargron @boots

I'm more concerned with silently dropping inputs.

Let's say someone implements ActivityPub with text/plain payloads rather than text/html through some future extension to ActivityPub. What if they post a link like <>? Mastodon users would currently see absolutely nothing.

@ben @anna @boots Okay, if the content type of the post is text/plain, I definitely agree it should just be HTML-encoded instead of sanitized as if it were HTML. That being said that's not an acute problem until there is any platform at all that posts text/plain stuff.

@Gargron @anna @boots but my point is that if Mastodon doesn't accept an HTML element, it shouldn't silently drop it, modifying the post's meaning. Absolutely any other response would be preferable, including a fatal error that rejects the post entirely.

@ben @anna @boots Okay. We can see about changing the way the sanitizer handles stuff it doesn't allow or rejecting such posts. That would be acceptable.

@Gargron @anna @boots my suggestion is to display tags as tags (as in, entity-encoding the &lt; and &gt;)

@anna @ben @boots I don't see a problem--by itself--with allowing bold, italics, and monospace. However, I think it's an issue of shifting perspectives. Once sharing code on Mastodon is possible without using external links, people will start running into the 500 limit more often, and that will lead to more tensions with that limit until it is removed, and so on, until every constraint that makes this platform feel the way it does is stripped away.

@Gargron @ben @boots the limit is kind of a solved quantity, anyone who really wants to change it does, and i don't forsee a lot of instances really clamoring for long code snippets posted. heck, we even solve that problem here but running a pleroma instance for posting really long stuff and it honestly works fine (and isn't even used that often for that purpose). not everything is a slippery slope, i don't think there's a huge desire to turn mastodon into medium

@anna @ben @boots I wouldn't say it goes towards Medium, but towards Tumblr, and that's my impression. More importantly, if people are not willing to let me say "no, this is enough" now, what makes you think they would listen to my "no, this is enough" later? I know the idea of a "slippery slope" is frowned down upon in politics, but in software development, with "scope creep" it's absolutely a thing all the time.

@Gargron @anna @boots

I deal with a lot of code that does stuff like this:

catch (UnsupportedFormattingException)
// continue as if nothing happened. don't log it or show an error message or anything. not like this could ever cause problems when trying to figure out what's going wrong.

(don't write code that does stuff like this)

@Gargron @anna @ben @boots people are literally already formatting posts though, you might as well allow them to in a way that doesnt destroy screenreaders. also hellthread

@Gargron @ben @boots when is it scope creep and when is it "people have very consistently and adamantly wanted this thing and there are existing implementations of it and no doomsdays have come to pass maybe we should at least consider being compatible with those implementations" though, is the question

@anna @Gargron @boots I'm just asking to "creep" the scope to "not silently dropping part of a signed input and displaying it as if it was the original"

@rick_777 @Gargron we had a lot of trouble with new people who didn't understand Markdown coming to the forum and posting something that looked like absolute gibberish because of the old filter

Wouldn't that be solved by disabling markdown by default for new accounts?

@rick_777 @Gargron How would quoting work, then? WTDWTF is a NodeBB forum.

I quote by prepending a > to all paragraphs.

Like email before HTML, it works.

@rick_777 @Gargron that's how Markdown works

how would quoting someone who's posting in a different markup language work?

@Gargron @ben Bold or italics would be fine by me. Anything else is added bloat.

@Gargron @ben I do think there's room for bold and italic, because in their absence people tend to use a _wide_ *array* of ALTERNATIVES, including SHOUTY CAPITALS, which can make posts seem ANGRIER than the poster intends - or, people use stronger motherfucking words to make their motherfucking point, or perhaps they use an exaggeratedly aggressive tone to drive their point straight into your dumb face, and while all of those things _can_ replace italics, none of them are really <em>ideal.</em>

@Gargron @ben For me this feels less like a technical issue and more of a social one. At least in the places I moderate, I've always allowed italics, and bumper-sticker-style posts and CAPITAL SHOUTIES happen rarely and are considered rather rude. Italics seem like a politer way to add emphasis than other options.

@ben ugh bold should have never been a part of unicode. I'm with @Gargron on this. Bad decisions elsewhere shouldn't be of influence.

@qwazix @Gargron bold text isn't part of Unicode

bold mathematical constant symbols are

if people can't use actual formatting, they fall back on that

screen readers can't handle it because they aren't supposed to be used that way

@ben ah, ok got it. Thanks for clarifying. Still with @Gargron though :-P

I think plain text has an elegance in being plain.

@amic @Gargron Some markdown would be quite nice, like even just supporting __ and ** would be pretty good. It also gracefully degrades; _Whilst this kind of emphasis is less common_, it makes sense with a little context.

@Gargron what if they ask for custom text content :thaenkin:

@Gargron Yea because that's the same as basic formatting options??

@Gargron Twitter had (involuntarily) the “feature” of embeddable JavaScript for a while :)

the simpler the better I think; if you add to much frosting you just get facebook. No offense...but what styling is really needed for a frontend that is effectively a 500 char text platform?

@gargron i mean i think if the community en-masse asks for it and other places are doing it without any issues, i don't see why one wouldn't approve the issue and would instead go to snarkily subtoot about the people asking for it and who even made a pull request so you didn't have to code it

@boots Well, sometimes people ask for things that are good for them personally, but have long-term and side effects that they don't think about. Changing a few lines to let the sanitizer keep more HTML tags was never a development issue.

Mastodon was not created as a blogging platform, but specifically as a microblogging platform, with plaintext in mind. This informed literally all design decisions ever. Opening it up to rich formatting will make a few webdev-adjacent people happy and (1/2)

@boots worsen the overall platform UX for everyone else at the same time. There's just no point to it. Why not use or WordPress if you need headlines and blockquotes (2/2)

@Gargron @boots I dunno, I think having to rely on whatever browser I'm on supporting the hacky Unicode solutions people are currently using kinda worsens the overall platform UX on its own. Just sayin'.

@Frinkeldoodle @boots The only unicode hackery that I see is zalgo text and full-width text, and neither of those things are an issue of HTML formatting.

I don't know who is using bold Unicode characters with any kind of regularity, but if that's considered harmful, they could just not do that.

@gargron @Frinkeldoodle Then if the solution to people using a bad workaround for a feature's non-existence is to not do the workaround, why did polls get added? People could've simply stopped doing boost and like polls.

@boots @Frinkeldoodle Polls weren't added because of boost or like posts. I can guarantee you that hasn't even crossed my mind. There were four parameters that led to polls:

They were highly requested (top feature request) since launch; Twitter had them, so it was a UX expectation; ActivityPub already contained the building parts for them; and they are fun and right on the surface, so you're not just adding something that 2 people will ever find out about and use

@gargron Actually, Mastodon has CSS that prevents a lot of the rich text from rendering, so the pull request adds a lot more than just changes to the sanitizer.

And I sincerely doubt that it's only webdev-adjacent people asking for this, it's simply only that those kinds of people...have github accounts, really.

Frankly, the issue is quite simply "do you want people doing weird hacky unicode and messing up screenreaders", or "do you want to standardize this by approving it."

@gargron People are going to do it either way, and the point of software is not to adhere to some platonic solid of, say, a "plaintext microblogging platform". Discord is simply an IM app, and yet it has markdown and such, and it's no worser off for it.

@Gargron I'd be happy with <marquee> and <blink>. I reckon this joint would look amazing with every toot and handle packed with these!

Markdown is sufficient for me.

(Don't fall into the slippery slope fallacy; markdown is awesome.)

@Gargron From there it's just a slippery slope until someone gets Windows 95 or Doom running inside a Toot.

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!