14-Jun-2026 — stop content pages from loading the full member list
build 695 — commit c77bfcd
WalkDisplayService is a root singleton, and shared components that render plain CMS content (card-image-or-map, related-links) inject it just to get walk-edit behaviour. Because the service did backend work in its constructor, simply being injected on a content, admin or committee page fired two requests that page never needed: the full member list (member/all, ~3.5s on an M0 cluster even as a 304, because it re-reads the whole collection) and the per-group next-walk dates.
Both loads are now lazy and only run where walks are actually shown:
- the member list loads only when a walk component calls refreshCachedData (the walks list, the walk view and the copy-from editor already do this on init), so the constructor no longer pre-loads it
- the next-walk dates are fetched once, on demand, from walk-view (the leaf component that uses the "next walk" highlight), guarded so the many walk cards in a list trigger a single request rather than one each, and no longer fired from the system-config subscription in the constructor
Net effect: opening a public page, a documentation page or any non-walk admin page no longer pulls the membership down. The walk pages are unchanged. The durable follow-up for the walk pages themselves is a short-lived server-side cache of the member list so repeat loads stop hitting the cluster.