docs: v0.8.5 Phase 39 remote announcement hub

- PLATFORM_ROADMAP Phase 39 complete; changelog entry
- PEARCORD_PARITY P39-1; next tranches updated
- ANNOUNCEMENT_HUB.md feature guide; ANNOUNCEMENT_FOLLOW cross-link
- GITEA_DEVELOPER + MODULES registry for pearcord-announcement-hub

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-05-21 22:30:52 -04:00
co-authored by Cursor
parent 7406f9b52c
commit 848819d8d1
6 changed files with 81 additions and 3 deletions
+4 -1
View File
@@ -48,7 +48,10 @@ npm run test:announcement
npm run test:boot
```
## Remote hub
See [ANNOUNCEMENT_HUB.md](./ANNOUNCEMENT_HUB.md) (v0.8.5+) for cross-guild syndication on the discovery mesh.
## Future
- Cross-post to followed remote guilds via discovery topic
- Rich embed cards on mirror messages
+56
View File
@@ -0,0 +1,56 @@
# Remote announcement hub (v0.8.5+)
Syndicate **announcement channel** posts to other Pearcord guilds over the **discovery P2P mesh** (`pearcord:discovery:v1`) — no central feed API.
## Module
`pearcord-announcement-hub` — hub publishers + cross-guild subscriptions (local JsonStore).
## Discovery gossip
| RPC | ID | Payload |
|-----|-----|---------|
| `ANNOUNCEMENT_HUB_POST` | 50 | `{ sourceGuildId, sourceChannelId, sourceGuildName, sourceChannelName, messageId, content, authorName, postedAt }` |
## Publish
Mods enable **Broadcast to P2P hub** per announcement channel (server settings). When a mod posts, Pearcord gossips `ANNOUNCEMENT_HUB_POST` on the discovery topic (if discovery mesh is joined).
## Subscribe
Another guild (Manage Channels) adds a **remote hub subscription**:
- Source guild id + announcement channel id (from Explore Public listing)
- Local text channel to receive mirrors
Mirrors use the format:
```text
📡 **Publisher Guild** · #broadcast
Remote hub headline
```
## Platform API
| Method | Description |
|--------|-------------|
| `setAnnouncementHubPublisher(channelId, enabled)` | Mod only |
| `subscribeRemoteAnnouncementHub({ sourceGuildId, sourceChannelId, targetChannelId })` | Mod only |
| `listRemoteAnnouncementHubSubs()` | Active subs for current guild |
View: `announcementHubPublishers`, `remoteAnnouncementHubSubs`.
## Tests
```bash
cd apps/pearcord
npm run test:announcement-hub # ANNOUNCEMENT_HUB_SMOKE_OK
npm run test:announcement-follow
npm run test:boot
```
## Future
- Hub post deduplication by `messageId`
- Rich embed cards on remote mirrors
- Encrypted hub posts for private guild pairs
+1
View File
@@ -123,6 +123,7 @@ git remote -v
| `pearcord-voice-capture` | Mic PCM feed from UI into voice media |
| `pearcord-display-capture` | Display JPEG feed from UI into screen share |
| `pearcord-stickers` | Guild animated stickers + `STICKER_UPSERT` gossip |
| `pearcord-announcement-hub` | Remote announcement syndication on discovery mesh |
| `pearcord-device-sync` | `pcdv_` multi-device pairing |
| `pearcord-emoji` | Guild emoji registry + `EMOJI_UPSERT` gossip |
| `pearcord-sync` | Planned Autobase bridge |
+5
View File
@@ -14,6 +14,11 @@
| `pearcord-voice-codec` | `modules/pearcord-voice-codec` | Opus/pcm voice frame codec |
| `pearcord-screen-share` | `modules/pearcord-screen-share` | Screen share gossip + protomux frames |
| `pearcord-announcements` | `modules/pearcord-announcements` | Announcement follow + cross-post |
| `pearcord-announcement-hub` | `modules/pearcord-announcement-hub` | Remote announcement syndication on discovery mesh |
| `pearcord-boosts` | `modules/pearcord-boosts` | Guild cosmetic boosts + gossip |
| `pearcord-stickers` | `modules/pearcord-stickers` | Guild animated stickers + gossip |
| `pearcord-voice-capture` | `modules/pearcord-voice-capture` | Mic PCM feed from UI into voice media |
| `pearcord-display-capture` | `modules/pearcord-display-capture` | Display JPEG feed for screen share |
| `pearcord-discovery` | `modules/pearcord-discovery` | Local directory + P2P public listings mesh |
| `pearcord-embed` | `modules/pearcord-embed` | OpenGraph fetch + cache |
| `pearcord-crypto` | `modules/pearcord-crypto` | DM payload sealing |
+3 -2
View File
@@ -4,7 +4,7 @@ Gap analysis between **Pearcord** (P2P Pear app) and a typical **centralized cha
> This is the only doc that compares against an external reference product. All other docs use Pearcord naming only.
## Summary (v0.8.4)
## Summary (v0.8.5)
| Area | Reference product | Pearcord | Gap |
|------|-------------------|----------|-----|
@@ -111,8 +111,9 @@ Phases **02** and **4** are largely complete; **3** (live audio) and **5** (n
| P36-1 | Microphone capture bridge (Web Audio → P2P voice) | [x] v0.8.2 |
| P37-1 | Display capture for screen share (getDisplayMedia → P2P frames) | [x] v0.8.3 |
| P38-1 | Animated guild stickers (GIF/WebP, STICKER_UPSERT) | [x] v0.8.4 |
| P39-1 | Remote announcement hub (discovery mesh syndication) | [x] v0.8.5 |
**Next tranches:** Remote announcement hub · per-user boost ledger · sticker packs · UI flow smoke.
**Next tranches:** Per-user boost ledger · sticker packs · UI flow smoke · hub deduplication.
When Phase 5 checklist is `[x]`, copy open items here into tracked rows in `PLATFORM_ROADMAP.md`.
+12
View File
@@ -150,6 +150,7 @@ See [PEARCORD_PARITY.md](./PEARCORD_PARITY.md) for full gap analysis and Phases
| `pearcord-voice-capture` | Mic PCM bridge from UI into voice media |
| `pearcord-display-capture` | Display JPEG feed from UI into screen share |
| `pearcord-stickers` | Guild animated stickers + `STICKER_UPSERT` gossip |
| `pearcord-announcement-hub` | Remote announcement syndication on discovery mesh |
---
@@ -242,6 +243,16 @@ When completing work, change `[ ]` → `[x]` and add a one-line note under **Cha
---
### Phase 39 — Remote announcement hub (v0.8.5)
| ID | Item | Status |
|----|------|--------|
| P39-1 | `pearcord-announcement-hub` + `ANNOUNCEMENT_HUB_POST` RPC 50 | [x] |
| P39-2 | Discovery gossip + cross-guild mirror ingest | [x] |
| P39-3 | Server settings UI + smoke-announcement-hub + ANNOUNCEMENT_HUB.md | [x] |
---
### Phase 38 — Animated stickers (v0.8.4)
| ID | Item | Status |
@@ -475,6 +486,7 @@ When completing work, change `[ ]` → `[x]` and add a one-line note under **Cha
### Changelog
- **2026-05-21** — v0.8.5: remote announcement hub (`pearcord-announcement-hub`, ANNOUNCEMENT_HUB_POST RPC 50, cross-guild mirrors via discovery, smoke-announcement-hub).
- **2026-05-21** — v0.8.4: animated guild stickers (`pearcord-stickers`, STICKER_UPSERT RPC 49, picker tabs, smoke-stickers, STICKERS.md).
- **2026-05-21** — v0.8.3: display capture for screen share (`pearcord-display-capture`, getDisplayMedia JPEG @ 2 fps, smoke-display-capture, DISPLAY_CAPTURE.md).
- **2026-05-21** — v0.8.2: microphone capture (`pearcord-voice-capture`, UI Web Audio → IPC, mic/synthetic indicator, smoke-voice-capture, VOICE_CAPTURE.md).