Blank thumbnails

Thanks for all your effort and raising the attention.

Thanks everyone for the investigation! The gist is, well: right now we generate thumbnails on ‘cloud’ infrastructure (basically, Heroku), with puppeteer. It’s sub-optimal and we’re doubtful it can get that much better without a categorical shift: specifically, doing thumbnails on hardware - preferably a shiny Mac Mini. That’s pretty high on our list, but we’ve got a few things to ship before we tackle it. Thanks for your patience in the meantime.

3 Likes

I think this might be a bug not in how we generate thumbnails but how we schedule them. I’m not going to dive into the details in this thread, but I have a hunch as to what’s going on and it should be easy to fix.

I fixed a bug in the thumbnailer, and @Martien’s flower is blooming again. :rose:

3 Likes

:pray::star_struck:

Woohoo! This fixed all my notebooks as well!

I have added a thumbnail_daemon cell to @jrus/misc.

For the moment, it uses @mootari’s trick

thumbnail_daemon =
  navigator.userAgent.match('HeadlessChrome')

But that can be changed to some other detection mechanism if the Observable thumbnail daemon ever switches user agent. Then notebooks relying on it won’t have to be manually changed one by one if it ever breaks.

Maybe the Observable team could explicitly add a built-in name, or at least commit to some reliable detection mechanism?

2 Likes

They added a preview image option! :partying_face:

observable-preview-option

4 Likes