Skip to content

v0.0.151

Choose a tag to compare

@github-actions github-actions released this 05 Aug 02:30
  • Generate a web app manifest: every site now serves /manifest.webmanifest through a generated app/manifest.ts, linked from every page's head automatically. It carries the site's name and description from config.json (falling back to the Doccupine defaults), start_url, standalone display, background and theme colors drawn from the light palette, and the root icon files as icon entries through a new manifestIcons export in utils/icons.ts, keeping their cache-busting hashed URLs; a site without root icon files gets a manifest without icons rather than a guessed format, and Global Settings documents the manifest under Icon files
  • Keep the docs header in normal document flow at the top of the page and fix it in place only once the page scrolls, which is what actually restores the browser-chrome color on doc pages: the browser toolbar on some platforms will not take the page's theme color while a sticky or fixed element touches the top edge, whatever that element's background - transparent, translucent, and opaque all behave the same, isolated by testing stripped-down copies of the real page on the affected device - so doc pages lost their chrome color while the 404 page and plain static files kept it. The Doccupine platform site's header is position: relative on its app pages, which is why it never hit this. At scroll position zero an in-flow header occupies exactly the space a sticky one would, so nothing changes visually; once the page scrolls the header pins as before, with a placeholder holding its measured height so the swap never shifts the layout
  • Align the browser-chrome color meta with the Doccupine platform site: the layout's static viewport export serves a single tag with the light primary in the first bytes of head, the pre-paint script never touches it - a pre-paint edit makes React 19 hydration insert a duplicate with the stale value beside it, which is what 0.0.150 shipped - and the theme provider's $themeColor="primary" sync corrects the tag after hydration and follows theme toggles, exactly as it does on the platform. The Theme page's Browser chrome note in the generated starter documentation now describes this behavior, including the shade settling shortly after load on themes whose modes define very different primary values