Mechanical rename produced by scripts/msd-rename.cjs: gsd/Gsd/GSD -> msd/Msd/MSD across contents and paths, upstream package/repo coordinates -> @golem15/msd-core and golem15com/msd-core. Deep links into upstream history, sibling upstream packages, the GSD-2 import feature, CHANGELOG.md and .changeset/ are kept as-is. Hand edits on top: MSD block-letter banner and logos, LICENSE copyright line, package/plugin identity, regenerated lockfile, install-tree fixtures, derived registries and benchmark baseline; migration checksum baseline re-locked (MSD keeps its own install state, so no install had applied the old sums); sort-order and regex-escaped expectations in tests adjusted.
955 B
955 B
id, title, group
| id | title | group |
|---|---|---|
| 128 | Update Banner Opt-In | v1.41.0 Features |
Purpose: Surface update availability to users who have declined or bypassed the MSD statusline, without requiring the statusline.
Behavior:
- At install time, if the installer detects no MSD statusline, it offers an opt-in
SessionStarthook. - The hook reads the existing
~/.cache/msd/msd-update-check.jsoncache — the same cache used by the statusline — and prints a banner only when an update is available. - Silent when up-to-date.
- Failure diagnostics rate-limited to once per 24 h.
- Cleanly removed by
npx @golem15/msd-core --uninstall.
Requirements:
- REQ-BANNER-01: Banner does not install without explicit opt-in.
- REQ-BANNER-02: No additional network requests — reuses the existing background update-check cache.
- REQ-BANNER-03: Uninstall path removes the banner hook.
Reference issue: #2795