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. ![]()
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!