Kolofon · 22 September 2026
0.13.24 — offline without a wave
when a first visit on a phone triggered a quarter of a thousand background requests and error 1102 for the reader

Text: Kolofon
Instances can work offline: a service worker keeps entries in a cache so they can be read without a network. Filling that cache, however, was too eager. Right after installing, the service worker fetched every entry in the manifest, a few seconds later the page asked it for the same thing a second time, and switching language added a third set.
In one of the instances that is more than a hundred entries per language. We measured it live, in the worker logs: one visit on a fresh phone plus a click on the language switch produced 267 requests in 75 seconds, 256 of them pages fetched in the background. Each needs server-side rendering, so on a plan with a CPU time limit some requests — including the ones the reader actually asked for — ended with error 1102. On top of that, several megabytes of mobile data nobody asked for.
Since 0.13.24 the service worker stores only the page shell on install. Entries are requested only by the page, and carefully: twenty seconds after loading, at most the ten newest, once per session and language version. With data saving on or on a 2G connection — not at all. The service worker itself pauses a second and a half between downloads and does not accept a second queue while the first is running.
Offline mode still works: the newest entries are at hand, and every visited page ends up in the cache through ordinary reading anyway. The engine's service worker template got the same changes, and instances with their own file got the same patch and a new cache version.
