workspace-nav.stx is the one navigation component still on plain anchors, so every link in it does a full page load while the rest of the app navigates client side.
Counted across the navigation components in hq.training:
| component | StxLink | plain <a href> |
|---|---|---|
resources/components/app-nav.stx | 28 | 0 |
resources/components/marketing-nav.stx | 25 | 0 |
resources/components/workspace-nav.stx | 0 | 9 |
Repo wide it is 392 StxLink against 250 plain anchors, so StxLink is clearly the house idiom and the two main navigations are fully converted. This one looks like it was simply missed.
Not part of this
Most of the remaining 250 anchors are defensible and should stay as they are: 9 external, 11 in-page # anchors, 3 mailto, 5 query-string (the footer language switcher among them, which calls preventDefault anyway), and 64 dynamic expressions. Of the 57 internal paths, nearly all sit in the public and SEO pages ([username].stx, profile.stx, explore/*, blog/[slug].stx, share/[token].stx), where a real anchor is arguably correct for crawlers and cold landings.
So this is specifically about the nine in workspace-nav.stx.