Republish button reappears after clicking and cannot be dismissed

https://observablehq.com/@pearmini/hyperbolic-emojis

I’ll investigate! Thanks for the report.

The reason the republish button appeared is because you had unpublished changes. :slightly_smiling_face:

More specifically, your notebook uses fetch caching to cache fetched emojis from jsDelivr. Some of these fetches were cached after you clicked the republish button. This is likely due to the asynchronous nature of fetching (and subsequent caching), exacerbated because there are so many (389) tiny fetches being cached in this case.

Also, your notebook fetches a few random emojis on load, and since there are so many emojis, it’s likely that these random emojis aren’t already cached. Hence every time you visit your notebook you are caching new emojis which then triggers new edits and shows the republish button.

I’m not sure you actually want fetch caching here, since you’re fetching from a CDN. But if you do want fetch caching, you probably don’t want to make random fetches on load.

Also, we should probably disable fetch caching when the notebook is in read-only mode, since it’s surprising that your fetches are being cached when it looks like the notebook isn’t editable. I can fix that.

I’ve now disabled saving of programmatic file attachments (and by extension fetch caching and query caching) while in read-only mode. This should avoid additional random emoji from being saved to your notebook whenever you visit it.

Thanks, Mike, for the quick reply and fix! Apologies for misunderstanding the purpose of fetch caching. I just saw this new feature, so I tried it in this notebook. I think you’re right - this notebook is not a good use case for fetch caching, since the data is already cached by the CDN. I’ll remove fetch caching from this notebook.

Still, thanks for disabling the ā€œunder-the-hood editsā€ in read-only mode. This behavior was indeed a little confusing! I really appreciate your quick support!

My pleasure. Thank you for sharing awesome notebooks!