jkap

CEO of posting

butch jewish dyke
part of @staff, cohost user #1
married to @kadybat

This user can say it
osu stats


🐘 mastodon
xoxo.zone/@jkap
🖼️ icon credit
twitter.com/osmoru
🐦 twitter
not anymore lol

staff
@staff

we'll be rolling out a fairly substantial change to how we render posts soon. we've tested it extensively and, while we don't anticipate any issues arising from this, sometimes Shit Happens. we'll be monitoring the deploy and are prepared to rollback if anything occurs.

technical details under the break for those interested

EDIT: all clear! thanks for using cohost!


hi everyone! jae's writing this, i'm gonna move to first person now.

i finally managed to catch one of my white whales of performance: Post Render Caching.

post rendering has been known by us to be one of the slowest parts of the website for a while. things like sanitization and postprocessing (custom emoji, mentions, etc) require iterating through a processed Abstract Syntax Tree (AST).

currently, we do this synchronously, which means it's a blocking operation and has the potential to cause performance issues for unrelated parts of the website. we have to do it synchronously because our previous attempts at asynchronous post rendering were miserable failures.

this change allows us to keep the final render step synchronous, to avoid any async render issues in react, but moves everything that generates the AST up to that point to an asynchronous process, which we can cache the output of. THIS MEANS we can cache the slow part, which was adjusted to be non-blocking, and do the faster part (turning the AST into react nodes) as needed.

that's it i think??? i'll answer questions in the comments too if you're curious.


You must log in to comment.

in reply to @staff's post:

largely because of sanitization, but it is also much easier for us to work with for adding new features (like embeds and custom emoji) than a standard tokenizer would be.