(Experimental?) New Features in Kibicat Mastodon
The other day I was talking with some friends about the “old days” before Mastodon supported CWs, and how we used to EBG13 nyy bs bhe cbfgf because, guess what, if Mastodon didn’t have CWs we still wouldn’t throw nyy guvf fuvg out in the open. I realized that I actually kind of liked ROT13 better than the current system, because you could only ROT13 ⁜cneg⁜ bs n cbfg and the remainder would give the reader context as to how the problematic bit was being used.
Then I realized that our old ROT13 system was an effective plaintext fallback for pbagrzcbenel Qvfpbeq-fglyr fcbvyre gntf and that I could just implement that in Mastodon, so I did.
GlitchCat users! You can now create inline spoilers in your posts by using a <spoiler-text>
HTML tag in either the Markdown or HTML content modes. Spoilers ⁜can⁜ include emoji but ⁜cannot⁜ include other markup like links, mentions, or hashtags.
Spoilers federate as ROT13 with special properties so that other servers can recognize them. If you are on another Mastodon instance which supports Markdown and HTML content modes, let me know and I can get you a patch!
@Lady putting the Glitch in GlitchCat
@aescling like a cat, we are
agile
@Lady lmao
@Lady oh that's neat! maybe i'll hack gotosocial to do it too
@KitRedgrave it’s super not difficult from a backend perspective; just a simple element replacement
@KitRedgrave here’s the mastodon implementation (L122–137)
https://gitlab.com/kibicat/mastodon/-/blob/trunk/app/lib/advanced_text_formatter.rb#L122-137
@Lady yeah i think the hard part for me will be figuring out how to build and push gotosocial to my microk8s "cluster" of one vps
@KitRedgrave i guess i can just link the commit for a full picture of what backend support looks like
the frontend is the more tricky bit; i don’t know what the current state of gotosocial frontends are or if any of them even support HTML/Markdown posts
@Lady i use pinafore which i know does support markdown
@KitRedgrave wonder how hard it would be to get frontend support into pinafore lol
surely easier than it was for mastodon
@Lady @KitRedgrave they explicitly target only upstream’s featureset as a scope limitation so i think that would actually be pretty difficult to convince them to do
@KitRedgrave @Lady yes
@KitRedgrave @Lady very
@KitRedgrave @aescling it’s not hard conceptually; the spoilers look like
<span property="tag:ns.1024.gdn,2022-11-11:spoiler_text" content="The actual content of the post">Typically ROT13 but it doesn’t matter; ignore this</span>
you just match spans with that property attribute, pull their content attribute, and replace them with a spoiler toggle (which is not hard to make)
@KitRedgrave @aescling doing this in Mastodon!React is a nightmare but
@Lady @KitRedgrave it was very annoying to review (no shade @ kibi)
@KitRedgrave @aescling i mean basically
it just does so in a way where the original text is still recoverable by frontends/other instances
@KitRedgrave @aescling so on a supporting instance like here, you never see the ROT13, that’s just the fallback for the rest of you
@KitRedgrave @Lady i would say "that's why i don't bother with that shit and run everything on one VM" except then i do shit like this
@KitRedgrave @Lady my silly ass thought this would be easier and "simpler" lmao
@Lady it works now
@aescling mhm
@Lady good job
re: (Experimental?) New Features in Kibicat Mastodon
@Lady hmm, might be a good idea to make it work on the public view too?
re: (Experimental?) New Features in Kibicat Mastodon
@alyssa i’m ambivalent since the current public view will disappear in 4.0 (it’s all going to use the frontend JS; see mastodon.social which is running this code now)
re: (Experimental?) New Features in Kibicat Mastodon
@Lady ah fair
re: (Experimental?) New Features in Kibicat Mastodon
@alyssa if that wasn’t the case i definitely would have looked into it
re: (Experimental?) New Features in Kibicat Mastodon
@Lady oh this is nifty
(note: if you try to boost this toot it may break the app; like i said this is experimental)