Commit Graph
93 Commits
Author SHA1 Message Date
Raven Scott a664140de9 feat(phase699): emoji registry CSV and sticker pack export mesh parity (v0.8.674)
Add signed emoji registry CSV mesh (RPC 116) and sticker pack export CSV (RPC 117)
with emoji-csv UI, platform mixin, delivery receipts, ui-flow IPC, agentctl journeys,
and test:ci-phase699 regression bundle including phase698 chain.
2026-06-03 02:41:49 -04:00
Raven Scott 729a3b5e46 feat(phase698): role override CSV and effective permission export mesh parity (v0.8.673)
Add signed channel permission overwrite CSV mesh (RPC 114) and effective
permission export (RPC 115) with permission-csv UI, platform mixin, delivery
receipts, ui-flow IPC, agentctl journeys, and test:ci-phase698 regression bundle.
2026-06-03 02:31:01 -04:00
Raven Scott 4b7c6613a6 feat(v0.8.672): Phase 697 invite link CSV and vanity URL mesh parity
Signed invite link CSV (listGuildInvites) and vanity URL export mesh follow
the OAuth/slash CSV pattern: invite-csv-ui, invite-csv-mixin, delivery-receipts
collections, guild gossip RPC 112/113, ui-flow IPC, deep link ?invite-csv=1,
invite-errors filter, and agentctl invite + vanity journeys.

Repairs app.js bot/slash/oauth modal corruption from prior session. Adds
test:ci-phase697, docs INVITE_LINK_CSV.md, RELEASE_v0.8.672, and Phase 698 roadmap.
2026-06-03 02:15:11 -04:00
Raven Scott 29feef4b2e feat(v0.8.671): Phase 696 OAuth grant CSV and install token mesh parity
Signed OAuth grant CSV (guild bots as application grants) and install
token export CSV follow the bot/slash CSV mesh pattern: oauth-csv-ui,
oauth-csv-mixin, delivery-receipts collections, guild gossip, ui-flow IPC,
deep link ?oauth-csv=1, oauth-errors dev filter, and agentctl journeys.

Adds test:ci-phase696 (static + boot + agentctl) and bumps app to 0.8.671.
Documents OAUTH_GRANT_CSV.md, RELEASE_v0.8.671, and opens Phase 697 on the roadmap.
2026-06-03 02:03:17 -04:00
Raven Scott 630241f115 feat(v0.8.670): slash registry CSV and invoke audit mesh parity
Implement Phase 695 signed slash command registry CSV and slash invoke
audit export across delivery-receipts, platform gossip (RPC 108/109),
slash-csv-ui modal, agentctl journeys, and test:ci-phase695 regression.

Also backfill relay/worker CSV styles missing from pearcord.css and bump
phase687 boot gate to 0.8.670 for RELEASE_CI continuity.
2026-06-03 01:53:27 -04:00
Raven Scott 2ead1e96d8 feat(v0.8.669): bot registry CSV and webhook execute mesh parity
Phase 694: bot-csv-ui, bot-csv-mixin, delivery-receipts bot/webhook CSV
collections, platform mesh APIs, guild RPC 106/107, deep link bot-csv,
agentctl bot registry and webhook execute journeys, test:ci-phase694.

Tighten bot-errors dev filter for bot.csv spans. Roadmap Phase 694 complete,
Phase 695 opened.
2026-06-03 01:41:25 -04:00
Raven Scott c02262ed19 feat(v0.8.667–0.8.668): relay CSV and worker release CSV mesh parity
Phase 692 (v0.8.667): digest relay handoff CSV, archive peer export mesh,
relay-csv-ui, relay-csv-mixin, agentctl relay journeys, test:ci-phase692.

Phase 693 (v0.8.668): worker release CSV, integration manifest export mesh,
worker-csv-ui, worker-csv-mixin, RPC 104/105, agentctl worker journeys,
test:ci-phase693.

Fix relay modal IPC (sync-digest-relay-handoff-csv), worker-errors filter,
and phase687 boot gate version pin. Roadmap: Phases 692–693 complete, Phase 694 opened.
2026-06-03 01:32:26 -04:00
Raven ScottandCursor 27e429e189 feat(threads): persist autoArchiveAt in thread meta rows
Store scheduled auto-archive timestamps when creating threads with
autoArchiveMinutes so partition heal can archive expired threads (Phase 679).

Co-authored-by: Cursor <[email protected]>
2026-06-02 23:27:19 -04:00
Raven Scott c9078b82a2 feat(guild): gossip handlers for polls and scheduled messages (Phase 674)
Add gossipPollUpsert, gossipPollVote, and gossipScheduledMessage with RPC
ingest for idempotent LWW replication across the guild mesh.
2026-06-02 22:18:42 -04:00
Raven ScottandCursor 805f544882 docs: note Phase 673 member roster heal in README (v0.8.648)
Co-authored-by: Cursor <[email protected]>
2026-06-02 22:05:04 -04:00
Raven ScottandCursor ca34114421 feat(v0.8.646): Phase 671 idempotent pin gossip ingest
MESSAGE_PIN handler respects LWW pinnedAt and processes removed payloads
for mesh-consistent unpin fanout.

Co-authored-by: Cursor <[email protected]>
2026-06-02 21:09:52 -04:00
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