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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
6219474915
docs: note Phase 567 guild.create span metadata
...
Co-authored-by: Cursor <[email protected] >
2026-05-24 15:00:52 -04:00
Raven Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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 Scott and Cursor
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