sometimes i just feel like making a completely ordinary post with nothing weird going on. no fake websites or browser sniffing or other hijinks, just some good old-fashioned prose. hope you have enjoyed reading it in a normal manner
congratulations @widr! the answer is that the ghosts generally do not appear when reading this post on your home timeline, but generally do appear when viewing it directly (although they don't for me, so, ymmv)
the reason is that the ghosts have css ending in
background: linear-gradient(; display: none;
and there seems to be a slight disparity in error handling between the code that renders posts server-side and the code that renders posts client-side:
-
the client-side code looks for semicolons rather aggressively and parses this as two separate properties; it then tries to parse the
backgroundproperty, fails, throws it out as invalid, and includes the leftoverdisplay: none; -
the server-side code leaves the whole thing intact, and the browser parses this as a single
backgroundproperty with an unterminatedlinear-gradientcontaining a bunch of garbage, which is all discarded as invalid. so there is nodisplayproperty and the ghosts are left visible
discovered via someone else's typo, which i immediately knew i had to use on purpose for something
my original version of this just changed the background of an element so i could see what happened where. if this paragraph has a gold background, i believe it was rendered client-side. if it has no background, it was rendered server-side. if it starts out with no background and then _changes_ to have a gold background, that is cohost fetching the post and re-rendering it, which is interesting because i've never edited it