Hexncoin

1.9.9

DECUSCurrent

All 23 apps on the desktop ship as their own bundle, fetched the first time the app is opened, and offline there was nothing to fetch from: tapping an icon with no connection replaced the whole desktop with an error page. The service worker kept two caches and keyed both to the release, so every update deleted the build output it had collected, and an app that opened offline yesterday did not open offline today. It keeps four caches now, each with one policy, and the one holding build output survives an update, because a file at a content-hashed address cannot go stale. The 404 page was a 375-line reproduction of the desktop wrapped around one sentence.

5 changes in this release

Highlights

  • 01

    An app that has opened once opens offline

    Every app is fetched on first open and then kept, including through an update: the cache holding build output is no longer thrown away on each release. Apps nobody has opened yet are collected quietly a few seconds after the desktop is up, one at a time while the machine is idle. That pass is skipped under Data Saver and on connections the browser reports as 2g, so it never spends bandwidth someone has said they do not have.

  • 02

    A bundle that never arrives fails inside its own window

    The failed fetch used to throw past the window and take the shell down with it, which is why the symptom was an error page where the OS had been. It is caught in the app pane now: the window stays open, the dock stays up, and the pane says whether this is an app that has never been opened on this device or a fault inside one that has. Try again re-runs the fetch, and on the desktop and the phone shell alike.

  • 03

    Four caches, one policy each

    Build output is answered from storage without asking the network, since its addresses are content-hashed and cannot describe different bytes tomorrow. Icons, wallpapers and sounds answer from storage and refresh behind the reader. Pages go to the network first and fall back to the stored page, then the desktop, then a page that says the connection is gone.

Everything in this release

New1

  • /offline answers a navigation with no network behind it and no stored copy of the page, and tells the reader when the connection is back rather than leaving them to keep pressing reload. It is stored when the worker installs, so it is there before the moment it exists for.

Improved3

  • The 404 page is one centred column. It was 375 lines reproducing the desktop around a single sentence, wallpaper, a menu bar, a running clock, a window with three traffic lights, a status bar and a four-icon dock, all of it competing with the one link a lost reader wants; the address that missed is still shown.
  • Data an app has already loaded is handed back while the connection is gone, marked as old, so an app opened offline shows the last figures it saw instead of a column of errors. Nothing is served from storage while there is a network to ask.
  • Cache rules cover 12 paths at the edge rather than one. Only build output carried a rule, so every icon, wallpaper, screenshot and sound was fetched again on each visit; those are good for a day now and refresh behind the reader, and the worker script itself is marked never to cache, which is what lets an update reach anyone.

Fixed1

  • Six files are stored when the worker installs, and one that fails no longer discards the other five. The list was fetched as a single unit, so one miss left the install holding nothing at all, which is the state in which an offline visit has no desktop to fall back to.
All releases

Every version of Hexncoin, newest first.