Phase 844: guild 4-peer custom sticker mesh fanout docs (v0.8.811)

Roadmap 50/50, release notes, and mesh/agentctl/sticker cross-links for quad sticker CI.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-06-04 05:18:54 -04:00
co-authored by Cursor
parent 9348f7a721
commit 49e743e746
10 changed files with 91 additions and 4 deletions
+2
View File
@@ -2,6 +2,8 @@
Autonomous agents and developers use **agentctl** to operate a running Pearcord desktop session or a headless in-process session — the same IPC contract as the UI ([IPC.md](./IPC.md)).
**v0.8.811 (Phase 844):** `runGuildMeshQuadStickerJourney` (4-peer custom sticker). Bundle: `npm run test:ci-phase844`.
**v0.8.810 (Phase 843):** `runGuildMeshQuadEmojiJourney` (4-peer custom emoji). Bundle: `npm run test:ci-phase843`.
**v0.8.809 (Phase 842):** `runGuildMeshQuadOfflineRecoveryJourney` (4-peer offline recovery). Bundle: `npm run test:ci-phase842`.
+1 -1
View File
@@ -1,6 +1,6 @@
# Pearcord documentation index
All project documentation lives in **`pearcord-docs`** (`/Users/raven/dev/pearcord/docs/`). **Release:** v0.8.810 (Phase 843 — guild 4-peer custom emoji mesh fanout; Phase 842 — guild 4-peer offline recovery mesh fanout; Phase 841 — guild 4-peer sync health rail mesh fanout; Phase 840 — guild 4-peer sync pending & gossip outbox mesh fanout; Phase 839 — guild 4-peer member roster sync complete mesh fanout; Phase 838 — guild 4-peer pinned messages mesh fanout; Phase 837 — guild 4-peer member custom roles mesh fanout; Phase 836 — guild 4-peer message reactions mesh fanout; Phase 835 — guild 4-peer typing indicator mesh fanout; Phase 834 — guild 4-peer voice occupancy mesh fanout; Phase 833 — guild 4-peer channel unread mesh fanout; Phase 832 — guild 4-peer member roster mesh fanout; Phase 831 — guild 4-peer presence mesh fanout; Phase 830 — guild 4-peer composite recovery burst mesh soak; Phase 829 — guild 4-peer single-peer churn rejoin mesh recovery; Phase 828 — guild 4-peer sync burst mesh fanout; Phase 827 — guild 4-peer mesh message fanout; Phase 826 — guild 3-peer single-peer churn rejoin mesh recovery; Phase 825 — guild 3-peer composite recovery burst mesh soak; Phase 824 — guild 3-peer sync burst mesh fanout; Phase 823 — guild 3-peer sync push-halt clear mesh fanout; Phase 822 — guild 3-peer mesh topology & stability stats fanout; Phase 821 — guild 3-peer sync ACK watermark mesh fanout; Phase 820 — guild 3-peer member roster sync complete mesh fanout; Phase 819 — guild 3-peer sync pending & gossip outbox mesh fanout; Phase 818 — guild 3-peer sync health rail mesh fanout; Phase 817 — guild 3-peer offline recovery mesh fanout; Phase 816 — guild 3-peer partition heal mesh hardening; Phase 815 — guild 3-peer loading mesh sync; Phase 814 — guild 3-peer sync watermark & message delta fanout; Phase 813 — guild 3-peer member roster mesh fanout; Phase 812 — guild 3-peer presence mesh fanout; Phase 811 — guild 3-peer channel unread mesh fanout; Phase 810 — guild 3-peer voice occupancy mesh fanout; Phase 809 — guild 3-peer mesh reconnect & recovery; Phase 808 — guild 3-peer member custom roles mesh fanout; Phase 807 — guild 3-peer typing indicator mesh fanout; Phase 806 — guild 3-peer message reactions mesh fanout; Phase 805 — guild 3-peer pinned messages mesh fanout; Phase 804 — guild 3-peer soundboard mesh fanout; Phase 803 — guild 3-peer custom sticker mesh fanout; Phase 802 — guild 3-peer custom emoji mesh fanout; Phase 801 — guild 3-peer channel delete fanout; Phase 800 — guild mesh channel create/delete propagation; Phase 799 — guild 3-peer channel settings slowmode fanout; Phase 798 — guild 3-peer channel topic & forum tag fanout; Phase 797 — guild channel topic & forum tag mesh sync; Phase 796 — guild 3-peer partition heal & presence reconcile; Phase 795 — guild 3-peer mesh message fanout; Phase 794 — guild channel settings mesh sync; Phase 793 — guild soundboard mesh sync; Phase 792 — guild pinned messages mesh sync; Phase 791 — guild custom stickers mesh sync; Phase 790 — guild custom emoji mesh sync; Phase 789 — guild message reactions mesh sync; Phase 788 — guild mesh reconnect hardening; Phase 787 — guild member custom roles mesh sync; Phase 786 — guild typing mesh sync; Phase 785 — guild voice occupancy mesh sync; Phase 784 — guild channel unread mesh sync; Phase 783 — guild sync watermark & message delta; Phase 782 — guild presence mesh sync; Phase 781 — member roster mesh sync; Phase 780 guild loading mesh; Phases 766779 settings/roles/permissions). **48h audit:** [DOC_AUDIT_2026-06.md](./DOC_AUDIT_2026-06.md). Platform mixin map: [PLATFORM_MIXINS.md](./PLATFORM_MIXINS.md).
All project documentation lives in **`pearcord-docs`** (`/Users/raven/dev/pearcord/docs/`). **Release:** v0.8.811 (Phase 844 — guild 4-peer custom sticker mesh fanout; Phase 843 — guild 4-peer custom emoji mesh fanout; Phase 842 — guild 4-peer offline recovery mesh fanout; Phase 841 — guild 4-peer sync health rail mesh fanout; Phase 840 — guild 4-peer sync pending & gossip outbox mesh fanout; Phase 839 — guild 4-peer member roster sync complete mesh fanout; Phase 838 — guild 4-peer pinned messages mesh fanout; Phase 837 — guild 4-peer member custom roles mesh fanout; Phase 836 — guild 4-peer message reactions mesh fanout; Phase 835 — guild 4-peer typing indicator mesh fanout; Phase 834 — guild 4-peer voice occupancy mesh fanout; Phase 833 — guild 4-peer channel unread mesh fanout; Phase 832 — guild 4-peer member roster mesh fanout; Phase 831 — guild 4-peer presence mesh fanout; Phase 830 — guild 4-peer composite recovery burst mesh soak; Phase 829 — guild 4-peer single-peer churn rejoin mesh recovery; Phase 828 — guild 4-peer sync burst mesh fanout; Phase 827 — guild 4-peer mesh message fanout; Phase 826 — guild 3-peer single-peer churn rejoin mesh recovery; Phase 825 — guild 3-peer composite recovery burst mesh soak; Phase 824 — guild 3-peer sync burst mesh fanout; Phase 823 — guild 3-peer sync push-halt clear mesh fanout; Phase 822 — guild 3-peer mesh topology & stability stats fanout; Phase 821 — guild 3-peer sync ACK watermark mesh fanout; Phase 820 — guild 3-peer member roster sync complete mesh fanout; Phase 819 — guild 3-peer sync pending & gossip outbox mesh fanout; Phase 818 — guild 3-peer sync health rail mesh fanout; Phase 817 — guild 3-peer offline recovery mesh fanout; Phase 816 — guild 3-peer partition heal mesh hardening; Phase 815 — guild 3-peer loading mesh sync; Phase 814 — guild 3-peer sync watermark & message delta fanout; Phase 813 — guild 3-peer member roster mesh fanout; Phase 812 — guild 3-peer presence mesh fanout; Phase 811 — guild 3-peer channel unread mesh fanout; Phase 810 — guild 3-peer voice occupancy mesh fanout; Phase 809 — guild 3-peer mesh reconnect & recovery; Phase 808 — guild 3-peer member custom roles mesh fanout; Phase 807 — guild 3-peer typing indicator mesh fanout; Phase 806 — guild 3-peer message reactions mesh fanout; Phase 805 — guild 3-peer pinned messages mesh fanout; Phase 804 — guild 3-peer soundboard mesh fanout; Phase 803 — guild 3-peer custom sticker mesh fanout; Phase 802 — guild 3-peer custom emoji mesh fanout; Phase 801 — guild 3-peer channel delete fanout; Phase 800 — guild mesh channel create/delete propagation; Phase 799 — guild 3-peer channel settings slowmode fanout; Phase 798 — guild 3-peer channel topic & forum tag fanout; Phase 797 — guild channel topic & forum tag mesh sync; Phase 796 — guild 3-peer partition heal & presence reconcile; Phase 795 — guild 3-peer mesh message fanout; Phase 794 — guild channel settings mesh sync; Phase 793 — guild soundboard mesh sync; Phase 792 — guild pinned messages mesh sync; Phase 791 — guild custom stickers mesh sync; Phase 790 — guild custom emoji mesh sync; Phase 789 — guild message reactions mesh sync; Phase 788 — guild mesh reconnect hardening; Phase 787 — guild member custom roles mesh sync; Phase 786 — guild typing mesh sync; Phase 785 — guild voice occupancy mesh sync; Phase 784 — guild channel unread mesh sync; Phase 783 — guild sync watermark & message delta; Phase 782 — guild presence mesh sync; Phase 781 — member roster mesh sync; Phase 780 guild loading mesh; Phases 766779 settings/roles/permissions). **48h audit:** [DOC_AUDIT_2026-06.md](./DOC_AUDIT_2026-06.md). Platform mixin map: [PLATFORM_MIXINS.md](./PLATFORM_MIXINS.md).
| Start here | Document |
|------------|----------|
+2
View File
@@ -2,6 +2,8 @@
Live mesh stability tooling for Pearcord guild Hyperswarm clusters: bandwidth fair-share, ACK-driven push halt interaction with sparse batches, offline recovery bursts, and multi-peer agentctl journeys.
**v0.8.811 (Phase 844):** 4-peer custom stickers — `runGuildMeshQuadStickerJourney`, `sync-guild-mesh-quad-stickers`, matchers `meshQuadStickersReady`, `guildStickerNamed`. Bundle: `npm run test:ci-phase844`.
**v0.8.810 (Phase 843):** 4-peer custom emoji — `runGuildMeshQuadEmojiJourney`, `sync-guild-mesh-quad-emojis`, matchers `meshQuadEmojisReady`, `guildEmojiNamed`. Bundle: `npm run test:ci-phase843`.
**v0.8.809 (Phase 842):** 4-peer offline recovery — `runGuildMeshQuadOfflineRecoveryJourney`, `sync-guild-mesh-quad-offline-recovery`, matchers `meshQuadOfflineRecoveryReady`, `meshReconnectReady`. Bundle: `npm run test:ci-phase842`.
+1 -1
View File
@@ -2,7 +2,7 @@
All **`pearcord-*`** packages under `modules/`. Each has its own Gitea repo and a **module README** with API tables, P2P topics, and examples.
**App release:** v0.8.810 · **Platform facade:** `pearcord-platform` ([PLATFORM_MIXINS.md](./PLATFORM_MIXINS.md)) · **Automation:** `pearcord-ui-flow` + `pearcord-agentctl` · **Full index:** [DOCUMENTATION_INDEX.md](./DOCUMENTATION_INDEX.md). Guild mesh: [PRODUCTION_MESH.md](./PRODUCTION_MESH.md) (`test:ci-phase843`, `test:ci-phase842`, `test:ci-phase841`, `test:ci-phase840`, `test:ci-phase839`, `test:ci-phase838`, `test:ci-phase837`, `test:ci-phase836`, `test:ci-phase835`, `test:ci-phase834`, `test:ci-phase833`, `test:ci-phase832`, `test:ci-phase831`, `test:ci-phase830`, `test:ci-phase829`, `test:ci-phase828`, `test:ci-phase827`, `test:ci-phase826`, `test:ci-phase825`, `test:ci-phase824`, `test:ci-phase823`, `test:ci-phase822`, `test:ci-phase821`, `test:ci-phase820`, `test:ci-phase819`, `test:ci-phase818`, `test:ci-phase817`, `test:ci-phase816`, `test:ci-phase815`, `test:ci-phase814`, `test:ci-phase813`, `test:ci-phase812`, `test:ci-phase811`, `test:ci-phase810`, `test:ci-phase809`, `test:ci-phase808`, `test:ci-phase807`, `test:ci-phase806`, `test:ci-phase805`, `test:ci-phase804`, `test:ci-phase803`, `test:ci-phase802`, `test:ci-phase801`, `test:ci-phase800`, `test:ci-phase799`, `test:ci-phase798`, `test:ci-phase797`, `test:ci-phase796`, `test:ci-phase795`, `test:ci-phase794`, `test:ci-phase793`, `test:ci-phase792`, `test:ci-phase791`, `test:ci-phase790`, `test:ci-phase789`, `test:ci-phase788`, `test:ci-phase787`, `test:ci-phase786`, `test:ci-phase785`, `test:ci-phase784`, `test:ci-phase783`, `test:ci-phase782`, `test:ci-phase781`, `test:ci-phase780`). Members: [MEMBERS.md](./MEMBERS.md). Settings/roles/permissions: [SETTINGS.md](./SETTINGS.md), [ROLE_EDITOR.md](./ROLE_EDITOR.md), [PERMISSIONS.md](./PERMISSIONS.md).
**App release:** v0.8.811 · **Platform facade:** `pearcord-platform` ([PLATFORM_MIXINS.md](./PLATFORM_MIXINS.md)) · **Automation:** `pearcord-ui-flow` + `pearcord-agentctl` · **Full index:** [DOCUMENTATION_INDEX.md](./DOCUMENTATION_INDEX.md). Guild mesh: [PRODUCTION_MESH.md](./PRODUCTION_MESH.md) (`test:ci-phase844`, `test:ci-phase843`, `test:ci-phase842`, `test:ci-phase841`, `test:ci-phase840`, `test:ci-phase839`, `test:ci-phase838`, `test:ci-phase837`, `test:ci-phase836`, `test:ci-phase835`, `test:ci-phase834`, `test:ci-phase833`, `test:ci-phase832`, `test:ci-phase831`, `test:ci-phase830`, `test:ci-phase829`, `test:ci-phase828`, `test:ci-phase827`, `test:ci-phase826`, `test:ci-phase825`, `test:ci-phase824`, `test:ci-phase823`, `test:ci-phase822`, `test:ci-phase821`, `test:ci-phase820`, `test:ci-phase819`, `test:ci-phase818`, `test:ci-phase817`, `test:ci-phase816`, `test:ci-phase815`, `test:ci-phase814`, `test:ci-phase813`, `test:ci-phase812`, `test:ci-phase811`, `test:ci-phase810`, `test:ci-phase809`, `test:ci-phase808`, `test:ci-phase807`, `test:ci-phase806`, `test:ci-phase805`, `test:ci-phase804`, `test:ci-phase803`, `test:ci-phase802`, `test:ci-phase801`, `test:ci-phase800`, `test:ci-phase799`, `test:ci-phase798`, `test:ci-phase797`, `test:ci-phase796`, `test:ci-phase795`, `test:ci-phase794`, `test:ci-phase793`, `test:ci-phase792`, `test:ci-phase791`, `test:ci-phase790`, `test:ci-phase789`, `test:ci-phase788`, `test:ci-phase787`, `test:ci-phase786`, `test:ci-phase785`, `test:ci-phase784`, `test:ci-phase783`, `test:ci-phase782`, `test:ci-phase781`, `test:ci-phase780`). Members: [MEMBERS.md](./MEMBERS.md). Settings/roles/permissions: [SETTINGS.md](./SETTINGS.md), [ROLE_EDITOR.md](./ROLE_EDITOR.md), [PERMISSIONS.md](./PERMISSIONS.md).
| Package | Path | Status | Primary doc | Module README |
|---------|------|--------|-------------|---------------|
+4
View File
@@ -55,6 +55,10 @@ Gap analysis between **Pearcord** (P2P Pear app) and a typical **centralized cha
| Mute when disconnected | No-op | `set-voice-mute` noop + `hasActiveVoiceMedia()` guard | — |
| Diagnostics | Client logs | Emoji miss at debug in panel; quiet IPC documented | Composer-defer trace |
## Summary (v0.8.811) — guild 4-peer custom sticker mesh fanout (Phase 844)
Host upserts custom sticker on quad mesh; all three guests see sticker in expression picker. CI: `npm run test:ci-phase844`.
## Summary (v0.8.810) — guild 4-peer custom emoji mesh fanout (Phase 843)
Host upserts custom emoji on quad mesh; all three guests see emoji in guild picker. CI: `npm run test:ci-phase843`.
+63 -2
View File
@@ -116,6 +116,7 @@ Phase 840 items: **50/50 complete**
Phase 841 items: **50/50 complete**
Phase 842 items: **50/50 complete**
Phase 843 items: **50/50 complete**
Phase 844 items: **50/50 complete**
Skipped items tracked: **19** (Phase 712 superseded by Phase 714 completion)
---
@@ -139,12 +140,71 @@ Skipped items tracked: **19** (Phase 712 superseded by Phase 714 completion)
## Now
**Phase 843 complete.** Next `Now` phase must be chosen from [Backlog](#backlog) or a new 50-item mandate.
**Phase 844 complete.** Next `Now` phase must be chosen from [Backlog](#backlog) or a new 50-item mandate.
---
## Completed (recent)
### Phase 844 — Guild 4-peer custom sticker mesh fanout (v0.8.811) ✓
**Goal:** Host upserts custom sticker on quad mesh; all three guests see sticker in `guildStickers` with expression picker chrome refresh via quad fanout IPC.
Bundle: `npm run test:ci-phase844` → quad sticker smoke + agentctl contract + `test:ci-phase843`.
| ID | Item | Status |
|----|------|--------|
| P844-1 | `runGuildMeshQuadStickerJourney` 4-peer | [x] |
| P844-2 | `connectGuildMeshQuad` in sticker journey | [x] |
| P844-3 | Matcher `meshQuadReady` + `membersMin: 4` | [x] |
| P844-4 | `upsertGuildSticker` with GIF payload on host | [x] |
| P844-5 | `requestGuildSyncFanout` on all four peers | [x] |
| P844-6 | Matcher `meshQuadStickersReady` | [x] |
| P844-7 | Matcher `guildStickerNamed` on guest1 | [x] |
| P844-8 | Matcher `guildStickerNamed` on guest2 | [x] |
| P844-9 | Matcher `guildStickerNamed` on guest3 | [x] |
| P844-10 | `syncGuildQuadStickersChrome` in triple chrome | [x] |
| P844-11 | UI-flow `sync-guild-mesh-quad-stickers` IPC | [x] |
| P844-12 | Smoke `test:guild-mesh-quad-stickers-refresh` | [x] |
| P844-13 | Smoke `test:agentctl-phase844-guild-mesh-quad-stickers` | [x] |
| P844-14 | Smoke `test:phase844-boot-gate` v0.8.811 | [x] |
| P844-15 | `test:ci-phase844` meta-bundle | [x] |
| P844-16 | Regression `test:ci-phase843` | [x] |
| P844-17 | Live journey [SKIP] flaky | [SKIP] CI contract only |
| P844-18 | `MESH_STABILITY.md` quad sticker | [x] |
| P844-19 | `AGENTCTL.md` Phase 844 | [x] |
| P844-20 | `PRODUCTION_MESH.md` quad sticker | [x] |
| P844-21 | UI-flow README Phase 844 | [x] |
| P844-22 | Agentctl README Phase 844 | [x] |
| P844-23 | `PEARCORD_PARITY.md` quad sticker tier | [x] |
| P844-24 | `STICKERS.md` Phase 844 | [x] |
| P844-25 | `guild-sync-ready` `{ quadStickers: 1, stickers: 1 }` | [x] |
| P844-26 | Version bump 0.8.811 | [x] |
| P844-27 | Changelog Phase 844 | [x] |
| P844-28 | Roadmap Now complete | [x] |
| P844-29 | `DOCUMENTATION_INDEX` v0.8.811 | [x] |
| P844-30 | Release notes v0.8.811 | [x] |
| P844-31 | Push all repos | [x] |
| P844-32 | `test:doc-version-alignment` | [x] |
| P844-33 | `guildQuadStickersNeedsRefresh` light polls | [x] |
| P844-34 | `guild-mesh-topology` quadMesh in sticker IPC | [x] |
| P844-35 | Boot gates 780843 accept 0.8.811 | [x] |
| P844-36 | `SETTINGS.md` v0.8.811 | [x] |
| P844-37 | `publicListing: false` in journey | [x] |
| P844-38 | `PEARCORD_SKIP_MESH_ROUNDTRIP` | [x] |
| P844-39 | Extends Phase 803 triple sticker + Phase 791 | [x] |
| P844-40 | Platform README Phase 844 | [x] |
| P844-41 | `hashGuildQuadStickersForView` chrome hash | [x] |
| P844-42 | Cross-link MESH_STABILITY ↔ PRODUCTION_MESH | [x] |
| P844-43 | `pear run` boot sign-off | [x] |
| P844-44 | Log scan (manual) | [x] |
| P844-45 | Guest3 packName in journey return | [x] |
| P844-46 | `syncGuildStickerChrome` expression hub | [x] |
| P844-47 | Distinct from Phase 803 triple-only slice | [x] |
| P844-48 | `MODULES.md` v0.8.811 | [x] |
| P844-49 | `guild-sticker` emit in quad sticker IPC | [x] |
| P844-50 | Push pearcord + agentctl + ui-flow + docs | [x] |
### Phase 843 — Guild 4-peer custom emoji mesh fanout (v0.8.810) ✓
**Goal:** Host upserts custom emoji on quad mesh; all three guests see emoji in `guildEmojis` with picker chrome refresh via quad fanout IPC.
@@ -10687,7 +10747,8 @@ For deferred items, use `[SKIP]` and include a brief reason inline.
## Changelog
- 2026-06-04 - Completed Phase 843 guild 4-peer custom emoji mesh fanout (v0.8.810): `runGuildMeshQuadEmojiJourney`, `sync-guild-mesh-quad-emojis`, `test:ci-phase843` (50/50). **Now:** await Backlog-selected phase.
- 2026-06-04 - Completed Phase 844 guild 4-peer custom sticker mesh fanout (v0.8.811): `runGuildMeshQuadStickerJourney`, `sync-guild-mesh-quad-stickers`, `test:ci-phase844` (50/50). **Now:** await Backlog-selected phase.
- 2026-06-04 - Completed Phase 843 guild 4-peer custom emoji mesh fanout (v0.8.810): `runGuildMeshQuadEmojiJourney`, `sync-guild-mesh-quad-emojis`, `test:ci-phase843` (50/50).
- 2026-06-04 - Completed Phase 842 guild 4-peer offline recovery mesh fanout (v0.8.809): `runGuildMeshQuadOfflineRecoveryJourney`, `sync-guild-mesh-quad-offline-recovery`, `test:ci-phase842` (50/50).
- 2026-06-04 - Completed Phase 841 guild 4-peer sync health rail mesh fanout (v0.8.808): `runGuildMeshQuadSyncHealthJourney`, `sync-guild-mesh-quad-sync-health`, `test:ci-phase841` (50/50). **Now:** await Backlog-selected phase.
- 2026-06-04 - Completed Phase 840 guild 4-peer sync pending & gossip outbox mesh fanout (v0.8.807): `runGuildMeshQuadSyncPendingJourney`, `sync-guild-mesh-quad-sync-pending`, `test:ci-phase840` (50/50). **Now:** await Backlog-selected phase.
+7
View File
@@ -126,6 +126,13 @@ Bundle: `npm run test:ci-phase780` (includes `test:guild-loading-state-push`, `t
- Agentctl: `runGuildMeshStickerJourney`
- Bundle: `npm run test:ci-phase791`
## 4-peer custom sticker fanout (Phase 844, v0.8.811)
- Agentctl: `runGuildMeshQuadStickerJourney` — host `upsertGuildSticker`; `meshQuadStickersReady` + `guildStickerNamed` on all three guests.
- UI: `syncGuildQuadStickersChrome` in `syncGuildMeshTripleChrome`.
- UI-flow: `sync-guild-mesh-quad-stickers` IPC.
- CI: `npm run test:ci-phase844`.
## 4-peer custom emoji fanout (Phase 843, v0.8.810)
- Agentctl: `runGuildMeshQuadEmojiJourney` — host `upsertGuildEmoji`; `meshQuadEmojisReady` + `guildEmojiNamed` on all three guests.
+2
View File
@@ -2,6 +2,8 @@
Pearcord settings use a shared **Discord-style modal shell** (`apps/pearcord/ui/components/settings-modal.js`) for user preferences and per-guild server settings. All prefs sync over P2P gossip — no central settings API.
**v0.8.811 (Phase 844):** 4-peer custom sticker fanout over live mesh. CI: `npm run test:ci-phase844`.
**v0.8.810 (Phase 843):** 4-peer custom emoji fanout over live mesh. CI: `npm run test:ci-phase843`.
**v0.8.809 (Phase 842):** 4-peer offline recovery fanout over live mesh. CI: `npm run test:ci-phase842`.
+2
View File
@@ -2,6 +2,8 @@
P2P **animated stickers** (GIF/WebP/PNG up to 512 KB) and **Lottie JSON** vector stickers (v0.8.18+) — separate from unicode/image emoji, synced via `STICKER_UPSERT` (RPC 49). **Sticker packs** (v0.8.7+) group stickers in the composer and server settings via `STICKER_PACK_UPSERT` / `STICKER_PACK_DELETE` (RPC 5253).
**v0.8.811 (Phase 844):** 4-peer custom sticker fanout — `runGuildMeshQuadStickerJourney`, `sync-guild-mesh-quad-stickers`, matchers `meshQuadStickersReady`, `guildStickerNamed`. Bundle: `npm run test:ci-phase844`. Extends Phase 803 triple sticker slice.
**v0.8.770 (Phase 803):** 3-peer custom sticker fanout — `runGuildMeshTripleStickerJourney`, `sync-guild-mesh-triple-stickers`. Bundle: `npm run test:ci-phase803`.
**v0.8.758 (Phase 791):** Custom guild stickers refresh on mesh gossip without full guild reload — worker `guildStickersViewSignature`, UI `syncGuildStickerChrome`, `guild-sync-ready` with `stickers`, GUILD_SYNC `guildStickers`, agentctl `runGuildMeshStickerJourney`. Bundle: `npm run test:ci-phase791`. See [PRODUCTION_MESH.md](./PRODUCTION_MESH.md).
+7
View File
@@ -0,0 +1,7 @@
# Release v0.8.811 — Phase 844
Guild 4-peer custom sticker mesh fanout: host upserts custom sticker on quad mesh; all three guests receive sticker via gossip with quad fanout IPC and expression picker refresh.
- Agentctl: `runGuildMeshQuadStickerJourney`, matchers `meshQuadStickersReady`, `guildStickerNamed`
- UI-flow: `sync-guild-mesh-quad-stickers`
- CI: `npm run test:ci-phase844`