announcement: split persistent footer from version-specific bullets
The Discord invite was previously baked into ANNOUNCEMENT_FEATURES for
v0.21.7. Splitting it into a dedicated ANNOUNCEMENT_FOOTER constant keeps
it visible in every announcement going forward without re-adding the
bullet to each release's features list. The renderer separates the footer
from the bullets with one blank line so the persistent invite stays
visually distinct from the version-specific 'what's new' bullets.
All three surfaces now share the same shape:
✨ Magic Context — what's new in v<VERSION>:
• <bullet 1>
• <bullet 2>
...
Join us on Discord: https://discord.gg/F2uWxjGnU
Surface plumbing:
- shared/announcement.ts: added ANNOUNCEMENT_FOOTER export.
- plugin/rpc-handlers.ts: get-announcement now returns footer too.
- tui/data/context-db.ts: AnnouncementResponse gains footer field.
- tui/index.tsx: appends footer with blank-line separator.
- plugin/conflict-warning-hook.ts: sendStartupAnnouncement takes
an explicit footer parameter and appends it the same way.
- index.ts: passes ANNOUNCEMENT_FOOTER through to Desktop path.
- pi-plugin/src/index.ts: composes notify message via sections array
with the footer appended after a blank line.
ANNOUNCEMENT_VERSION is unchanged (still 0.21.7) so users who haven't
seen this announcement yet will see the new format. Users who already
dismissed v0.21.7 won't see it re-fire — that's the intended contract
for the version-keyed persistence file. U
ualtinok committed
cbeae21b326ef5c2f92fa0571efc441ba34ecbca
Parent: ba6a334