With the published STX and Bun plugin 0.2.687, native SPA fragment navigation updates the document title but leaves canonical and description metadata from the initial document.
Observed in Open Farming's actual Buddy server:
- Load
/directly: title and canonical identify the homepage. - Click the existing Targeted weed control link to
/features/targeted-weed-control. - The heading and title correctly identify Targeted weed control, while
link[rel=canonical]remainshttps://openfarm.ing/and the description remains the homepage description. - Reload the detail URL: canonical and description correctly identify the detail page, and active navigation is correct.
The app uses ordinary native links and server-rendered layout metadata. Both installed packages match the published 0.2.687 archives, and resolution from Buddy's actual module confirms it uses those copies. This is separate from the fixed title-translation bug in #2120 and the app layout binding fix in theopenfarm/openfarm.ing#36.
Acceptance:
- Define and implement a bounded native fragment contract for supported per-page head metadata, including canonical, description, social metadata and locale alternates.
- Reconcile only supported metadata without replacing application assets, security tokens or unrelated head state, and preserve old-client/full-navigation compatibility.
- Cover actual HTTP fragments and real browser navigation, back/forward, locale changes, encoded text and missing/removed metadata.
- Fix source, release through
bun run release:patch, and adopt/qualify the published dependency. No installed-package edits or distribution patches.
No claim is made that the current app PR resolves SPA head metadata. Direct-load metadata is correct, and the existing source release fixes the translated navigation title.