Commit Graph
64 Commits
Author SHA1 Message Date
Raven ScottandCursor d089cfa104 Docs: note Phase 467 voice gossip guild-loading guard cross-reference
Link VOICE_STATE gossip documentation to syncVoicePanelsDuringGuildLoading
UI guards added in the desktop app for guild switch loading states.

Co-authored-by: Cursor <[email protected]>
2026-05-24 02:29:24 -04:00
Raven ScottandCursor a0d96a18e8 Phase 466: document attachment gossip in README (v0.8.429)
Co-authored-by: Cursor <[email protected]>
2026-05-24 02:19:26 -04:00
Raven ScottandCursor 1f18665891 Phase 465: document message gossip in README (v0.8.428)
Co-authored-by: Cursor <[email protected]>
2026-05-24 02:03:45 -04:00
Raven ScottandCursor 1230cfcc05 Phase 464: document role and channel overwrite gossip paths.
Co-authored-by: Cursor <[email protected]>
2026-05-24 01:51:32 -04:00
Raven ScottandCursor 4969333cf4 Phase 463: document audit gossip paths for P2P compliance trail.
Co-authored-by: Cursor <[email protected]>
2026-05-24 01:42:38 -04:00
Raven ScottandCursor 3faebc5744 docs(guild): note Phase 462 ban/kick/timeout/automod gossip re-verify
Co-authored-by: Cursor <[email protected]>
2026-05-24 01:29:28 -04:00
Raven ScottandCursor ca4a516085 docs(guild): note Phase 461 slash and bot gossip re-verify
Co-authored-by: Cursor <[email protected]>
2026-05-24 01:23:28 -04:00
Raven ScottandCursor 1c8d9b0762 docs(guild): note Phase 460 attachment and embed gossip re-verify
Co-authored-by: Cursor <[email protected]>
2026-05-24 01:17:47 -04:00
Raven ScottandCursor e34e3b082c docs(guild): note Phase 459 emoji/sticker/reaction gossip re-verify
Co-authored-by: Cursor <[email protected]>
2026-05-24 01:11:35 -04:00
Raven ScottandCursor 1e7a449362 feat(channels): deleteChannel and CHANNEL_DELETE gossip (v0.8.421)
Ingest channel delete on mesh; block deleting non-empty categories or
channels that still have threads.

Co-authored-by: Cursor <[email protected]>
2026-05-24 01:04:43 -04:00
Raven ScottandCursor 69b659121d docs: Phase 457 platform channel span wiring note (v0.8.420)
Co-authored-by: Cursor <[email protected]>
2026-05-24 00:53:18 -04:00
Raven ScottandCursor 50e392b931 docs: Phase 455 guild settings guild-loading sync (v0.8.418)
Reference GUILD_SETTINGS.md and platform guild.update span metadata.

Co-authored-by: Cursor <[email protected]>
2026-05-24 00:31:40 -04:00
Raven ScottandCursor c1f5bece04 docs: Phase 447 roles/permissions cross-polish cross-reference
Document role/overwrite gossip and Phase 447 test bundle for guild
permission mesh flows.

Co-authored-by: Cursor <[email protected]>
2026-05-23 22:58:42 -04:00
Raven ScottandCursor e5289947f9 Broadcast and receive EMOJI_DELETE and STICKER_DELETE gossip.
Peers merge emoji/sticker removals via guild-emoji-delete and guild-sticker-delete events.

Co-authored-by: Cursor <[email protected]>
2026-05-23 17:24:40 -04:00
Raven ScottandCursor 38bfbedda1 feat(slash): gossip SLASH_COMMAND_DELETE handler
Emit and receive slash command removal events on the guild mesh.

Co-authored-by: Cursor <[email protected]>
2026-05-23 17:05:15 -04:00
Raven ScottandCursor e29e4cce53 feat(webhooks): gossip WEBHOOK_UPSERT and WEBHOOK_DELETE handlers
Merge channel webhook metadata from mesh without ingesting secret tokens.

Co-authored-by: Cursor <[email protected]>
2026-05-23 16:53:30 -04:00
Raven ScottandCursor 11da523a6e Fix guild joinMesh flush so EPIPE does not abort guild open.
Stop awaiting swarm.join, swallow flush rejections, and honor skip-flush env for faster opens.

Co-authored-by: Cursor <[email protected]>
2026-05-23 13:02:39 -04:00
Raven ScottandCursor 02e5e43cc9 perf(mesh): bounded swarm flush on joinMesh with background continue
Race flush against PEARCORD_GUILD_SWARM_FLUSH_MS and emit mesh-flush-timeout
when continuing without blocking guild open.

Co-authored-by: Cursor <[email protected]>
2026-05-23 04:15:25 -04:00
Raven ScottandCursor 929ea4d194 feat(guild): default nsfwGateEnabled on guild create (v0.8.174)
New guilds ship with age-restricted gate enforcement enabled by default so
NSFW channels require explicit acknowledgement unless the owner disables it.

Co-authored-by: Cursor <[email protected]>
2026-05-22 22:48:38 -04:00
Raven ScottandCursor f7a7129422 Add nsfw flag on guild channel records
Persist age-restricted channel marking for sidebar badges and P2P gossip sync.

Co-authored-by: Cursor <[email protected]>
2026-05-22 22:35:52 -04:00
Raven ScottandCursor 19d23bde7f Add userLimit field for voice and stage channels
Store 0–99 member cap on channel rows for P2P join enforcement and sidebar display.

Co-authored-by: Cursor <[email protected]>
2026-05-22 22:25:37 -04:00
Raven ScottandCursor d9cd75151a feat(guild): moveChannelToParent for category drag-drop (v0.8.168)
Move channels between categories with position compaction in the old parent.

Co-authored-by: Cursor <[email protected]>
2026-05-22 21:55:28 -04:00
Raven ScottandCursor fa0af043c2 feat(guild): reorderCategories for category position updates
Support sidebar category drag-reorder by reassigning category channel
position indices with P2P CHANNEL_UPDATE gossip.

Co-authored-by: Cursor <[email protected]>
2026-05-22 21:08:22 -04:00
Raven ScottandCursor 630f41841a feat(guild): reorderChannelsInParent for sibling channel positions
Support P2P channel tree reorder by reassigning position indices for
channels sharing the same parent category or uncategorized root.

Co-authored-by: Cursor <[email protected]>
2026-05-22 21:03:24 -04:00
Raven Scott 6013e7f871 docs: full module READMEs (v0.8.103 platform audit) 2026-05-22 13:39:40 -04:00
Raven ScottandCursor 85b14c2516 feat(mesh): gossip message search request/response (v0.8.86)
Wire RPC 77/78 to message-search-request and message-search-response events
with gossipMessageSearchRequest/Response helpers.

Co-authored-by: Cursor <[email protected]>
2026-05-22 08:02:39 -04:00
Raven ScottandCursor c3ca4b1208 feat(guild): gossip signed audit CSV sync on guild mesh (v0.8.81)
Broadcast and ingest RPC AUDIT_EXPORT_CSV_SYNC with platform event
audit-export-csv-sync for live signed audit export propagation.

Co-authored-by: Cursor <[email protected]>
2026-05-22 07:26:10 -04:00
Raven ScottandCursor f8a999de59 feat(guild): gossip hook failure digest CSV sync on mesh (v0.8.80)
Wire RPC HOOK_FAILURE_DIGEST_CSV_SYNC broadcast and platform event
hook-failure-digest-csv-sync for live signed CSV ingest.

Co-authored-by: Cursor <[email protected]>
2026-05-22 07:18:56 -04:00
Raven ScottandCursor ab7924053f feat(gossip): wire automation digest snapshot RPC 73/74 handlers
Emit automation-digest-export-snapshot and -request events from mesh
gossip so platform can ingest bodies and respond to targeted fetch requests.

Co-authored-by: Cursor <[email protected]>
2026-05-22 05:31:49 -04:00
Raven ScottandCursor 1cf27243be feat(guild): wire AUDIT_EXPORT_ARCHIVE_REQUEST gossip
Emit audit-export-archive-request on RPC 72 in both protomux handlers
and add gossipAuditExportArchiveRequest for mesh archive fetch flows.

Co-authored-by: Cursor <[email protected]>
2026-05-22 04:57:10 -04:00
Raven ScottandCursor d2d64750fb feat(guild): AUDIT_EXPORT_ARCHIVE gossip handler (Phase 100)
Handle inbound audit export archive gossip and expose
gossipAuditExportArchive for platform export retention fanout.

Co-authored-by: Cursor <[email protected]>
2026-05-22 04:44:41 -04:00
Raven ScottandCursor c9c735b6ce feat(guild): HOOK_FAILURE_DIGEST_SYNC gossip handler (Phase 99)
Emit hook-failure-digest-sync on inbound RPC 70 and expose
gossipHookFailureDigestSync for platform digest mesh push.

Co-authored-by: Cursor <[email protected]>
2026-05-22 04:38:46 -04:00
Raven ScottandCursor b98e73ae60 feat(guild): gossip audit export snapshots on guild mesh (Phase 98)
Handle AUDIT_EXPORT_SNAPSHOT inbound gossip and expose
gossipAuditExportSnapshot for platform exportAuditLog fanout.

Co-authored-by: Cursor <[email protected]>
2026-05-22 04:32:09 -04:00
Raven ScottandCursor 9a009c53ef feat(gossip): WORKER_RELEASE_ANNOUNCE handler and gossip helper
Broadcast and simulateGossip support for RPC 68 worker release
announcements alongside existing hook failure alert gossip.

Co-authored-by: Cursor <[email protected]>
2026-05-22 04:17:49 -04:00
Raven ScottandCursor d32d50ec9f feat(gossip): broadcast HOOK_FAILURE_ALERT on hook delivery failure
Adds gossipHookFailureAlert() and mesh handler for RPC 67 so peers
ingest failed automation hook runs into local HookFailureAlertStore.

Co-authored-by: Cursor <[email protected]>
2026-05-22 03:58:46 -04:00
Raven ScottandCursor ac3f370f27 feat(guild): gossip APP_EVENT_RECEIPT on guild mesh (RPC 66)
Emit and ingest app-event-receipt events alongside existing APP_EVENT and
AUTOMATION_MANIFEST_UPSERT handlers. Enables cross-peer automation delivery
visibility for server admins without centralized webhook infrastructure.

Co-authored-by: Cursor <[email protected]>
2026-05-22 03:39:40 -04:00
Raven ScottandCursor 2ac00661b1 feat(mesh): gossipAutomationManifest for AUTOMATION_MANIFEST_UPSERT
Emit automation-manifest on inbound gossip so peers can merge hooks and
automod snapshots without HTTP or central integration servers.

Co-authored-by: Cursor <[email protected]>
2026-05-22 03:20:14 -04:00
Raven ScottandCursor 47f694bdb5 feat(mesh): gossip and ingest APP_EVENT on guild mesh
Expose gossipAppEvent for platform fanout and emit app-event on inbound
gossip so automation listeners sync across peers.

Co-authored-by: Cursor <[email protected]>
2026-05-22 03:15:03 -04:00
Raven Scott 4cd24f48cd feat(guild): gossip channel permission overwrites
Emit channel-overwrite events from mesh RPC 62/63, simulateGossip support,
and gossipChannelOverwriteUpsert/Delete broadcast helpers.
2026-05-22 02:56:26 -04:00
Raven ScottandCursor bbcfd4cbf6 feat(guild): gossip custom roles over pearcord-gossip-v1 (v0.1.1)
Handle ROLE_UPSERT, ROLE_DELETE, MEMBER_CUSTOM_ROLES on mesh and in simulateGossip.

Co-authored-by: Cursor <[email protected]>
2026-05-22 01:48:23 -04:00
Raven ScottandCursor 9e5572d402 fix(guild): live roster gossip and reliable mesh send (v0.1.1)
- GUILD_SYNC consumers receive members[] from platform bundle builder
- Dedupe hyperswarm connections per peerId before attaching gossip/attach wires
- broadcastGossip: bounded wireReady then always send (matches discovery mesh)

Enables live MEMBER_JOIN, MEMBER_ROLE_UPDATE, and PRESENCE_UPDATE without
simulateGossip in CI smokes.

Co-authored-by: Cursor <[email protected]>
2026-05-22 01:42:30 -04:00
Raven ScottandCursor f2762a9d5b fix(guild): use mux-wire wireReady before guild gossip broadcast
Same bounded fullyOpened wait as discovery and contacts meshes so guild
RPC gossip cannot hang the event loop on half-open protomux channels.

Co-authored-by: Cursor <[email protected]>
2026-05-22 01:37:58 -04:00
Raven ScottandCursor 2977a6dbe2 feat(gossip): GUILD_SYNC bundle for message history on join
Wire RPC.GUILD_SYNC through gossip mesh: gossipGuildSync broadcast,
_onGossip + simulateGossip handlers, and guild-sync event emission.

Existing peers push channel/message/attachment snapshots when new
members connect or MEMBER_JOIN is received. Phase 61 / v0.8.26.

Co-authored-by: Cursor <[email protected]>
2026-05-22 00:37:59 -04:00
Raven ScottandCursor 38534e5549 fix(guild): protomux v3 gossip wire via pearcord-drive/mux-wire
Gossip mesh now uses c.buffer addMessage + wire.send so live P2P message
sync works in Bare (test:gossip-live). Only store mesh sessions when
createChannel succeeds; same pattern for attach/voice/screen channels.

Co-authored-by: Cursor <[email protected]>
2026-05-22 00:26:24 -04:00
Raven ScottandCursor 857a4c7af0 feat(guild): gossip handlers for guild soundboard RPC 57–58
Wire SOUND_UPSERT to guild-sound and SOUND_PLAY to guild-sound-play events,
plus simulateGossip paths for Bare smokes. Add gossipSoundUpsert and
gossipSoundPlay broadcast helpers mirroring sticker gossip.

Co-authored-by: Cursor <[email protected]>
2026-05-22 00:19:42 -04:00
Raven ScottandCursor 174a49dd9a chore: remove accidental self-referential symlink
Co-authored-by: Cursor <[email protected]>
2026-05-22 00:07:32 -04:00
Raven ScottandCursor af7e3276f2 fix(mesh): await open gossip channels before broadcast (v0.8.19)
Make broadcastGossip async and wait for each peer channel fullyOpened
before sending RPC payloads. gossipProfileCosmetic returns the promise
so profile cosmetics (with bannerAttachment) reach connected peers.

Improves P2P delivery reliability for PROFILE_COSMETIC_UPDATE and all gossip.

Co-authored-by: Cursor <[email protected]>
2026-05-22 00:07:19 -04:00
Raven ScottandCursor 04257118d0 feat(guild): gossip and ingest PROFILE_COSMETIC_UPDATE (RPC 56)
Emit profile-cosmetic events from mesh and expose gossipProfileCosmetic
for platform to fanout member banner, bio, and avatar ring metadata.

Co-authored-by: Cursor <[email protected]>
2026-05-21 23:30:26 -04:00
Raven ScottandCursor 2128acc7b1 feat(guild): gossip handlers for emoji pack RPC 54–55
Wire EMOJI_PACK_UPSERT/DELETE on mesh receive and simulateGossip,
plus gossipEmojiPackUpsert/Delete broadcast helpers for platform.

Co-authored-by: Cursor <[email protected]>
2026-05-21 23:14:19 -04:00
Raven ScottandCursor 77b606464d feat(guild): gossip handlers for sticker pack upsert and delete
Wire STICKER_PACK_UPSERT and STICKER_PACK_DELETE on the guild mesh: emit
guild-sticker-pack / guild-sticker-pack-delete events, simulateGossip support,
and gossipStickerPackUpsert / gossipStickerPackDelete broadcast helpers.

Co-authored-by: Cursor <[email protected]>
2026-05-21 22:57:25 -04:00