Commit Graph
82 Commits
Author SHA1 Message Date
Raven ScottandCursor f1d0042c1b Ingest and gossip VOICE_NOTE_CREATE mesh payloads.
Persist voice note metadata rows and broadcast create events on guild mesh.

Co-authored-by: Cursor <[email protected]>
2026-06-02 15:31:25 -04:00
Raven ScottandCursor 87c59321b3 fix(mesh): coalesce concurrent joinMesh calls
Return the in-flight join promise when a second joinMesh starts before
swarm.join completes, preventing duplicate listener registration and
double topic joins during guild-open races.

Co-authored-by: Cursor <[email protected]>
2026-06-02 11:19:27 -04:00
Raven ScottandCursor 3af98f5b8f Sync all pending local changes.
This commit captures the current working tree state as requested, including code, docs, dependency, and lockfile updates present in this repository.

Co-authored-by: Cursor <[email protected]>
2026-06-02 09:24:03 -04:00
Raven Scott 25a7b270e0 docs(readme): Phase 654 update — 50 swarm/repl/sync items + composer prod UI (autofocus/send/autogrow) + platform adaptive retry (P654-1,40)
Accurate state per exhaustive doc audit rule. See PLATFORM_ROADMAP.md Phase 654 table and main platform/app commits.
2026-06-01 23:54:19 -04:00
Raven ScottandCursor fd92e92a83 feat(guild-sync): MEMBER_PAGE RPC handlers and thread ingest idempotency
Add gossip handlers for member page request/response (RPC 92/93) and preserve
rootMessageId on duplicate thread channel sync ingest.

Co-authored-by: Cursor <[email protected]>
2026-06-01 19:25:37 -04:00
Raven ScottandCursor 527df63c67 feat(guild): LWW reaction toggle on mesh gossip (v0.8.605)
REACTION_TOGGLE ingest respects createdAt and tombstone flags for CRDT merge.

Co-authored-by: Cursor <[email protected]>
2026-06-01 18:45:27 -04:00
Raven ScottandCursor 232012b8a3 docs: link GUILD_SYNC_ACK halt and swarm-manager replication docs
Co-authored-by: Cursor <[email protected]>
2026-06-01 18:08:38 -04:00
Raven ScottandCursor a895f39fc7 feat(sync): gossip GUILD_SYNC_ACK on guild mesh
Wire RPC 91 through protomux gossip and simulateGossip for headless smokes.

Co-authored-by: Cursor <[email protected]>
2026-06-01 17:54:04 -04:00
Raven ScottandCursor ab0449b51f Handle GUILD_SYNC_REQUEST gossip and simulateGossip for smokes.
Emit guild-sync-request so platform can schedule owner sync pushes when members connect.

Co-authored-by: Cursor <[email protected]>
2026-06-01 17:27:04 -04:00
Raven ScottandCursor 7701cc55fa Fix explore join roster by seeding invite owner and deferring member gossip.
Canonicalize guild mesh topics on invite join and expose gossipMemberJoinForUser for post-mesh announce.

Co-authored-by: Cursor <[email protected]>
2026-06-01 16:07:51 -04:00
Raven ScottandCursor b1ce5121f9 feat(guild): gossip and ingest GUILD_DELETE on mesh
Co-authored-by: Cursor <[email protected]>
2026-06-01 15:22:43 -04:00
Raven ScottandCursor 5bdcf6de75 fix(gossip): persist USER_UPSERT rows and use shared RPC broadcast helper
Fill required user schema fields on ingest and route mesh gossip through broadcastRpcToSessions.

Co-authored-by: Cursor <[email protected]>
2026-05-25 01:18:47 -04:00
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