Commit Graph
70 Commits
Author SHA1 Message Date
Raven ScottandCursor 26e86d70e1 fix(mesh): skip gossip when RPC method missing and catch encode errors
Avoid unhandledRejection when pearcord-shared lacks USER_UPSERT (method 0).

Co-authored-by: Cursor <[email protected]>
2026-05-25 00:24:41 -04:00
Raven ScottandCursor 369e2374dd feat(guild): gossip USER_UPSERT and wire swarm connection errors
Sync member profiles over the guild mesh and attach error handlers on
gossip connections to avoid uncaught teardown errors.

Co-authored-by: Cursor <[email protected]>
2026-05-24 23:55:22 -04:00
Raven ScottandCursor 6219474915 docs: note Phase 567 guild.create span metadata
Co-authored-by: Cursor <[email protected]>
2026-05-24 15:00:52 -04:00
Raven ScottandCursor e3d5d5d800 docs: Phase 549 guild-admin depth README
Document v0.8.512 span metadata and test bundle.

Co-authored-by: Cursor <[email protected]>
2026-05-24 13:39:05 -04:00
Raven ScottandCursor 571679af82 docs: Phase 533 guild-admin depth pass README (v0.8.496)
Co-authored-by: Cursor <[email protected]>
2026-05-24 12:09:17 -04:00
Raven ScottandCursor 4baf669ad2 docs(guild): document Phase 513 channel admin spans and UI compositor
Reference phase513 test bundle and CHANNELS.md guild-admin section.

Co-authored-by: Cursor <[email protected]>
2026-05-24 09:34:11 -04:00
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