Commit Graph
35 Commits
Author SHA1 Message Date
Raven ScottandCursor 775b31fe86 feat(shared): add AUDIT_EXPORT_ARCHIVE RPC 71 (Phase 100)
Gossip opcode for retained audit export snapshots so moderators
on other peers keep a bounded history of mesh audit exports.

Co-authored-by: Cursor <[email protected]>
2026-05-22 04:44:40 -04:00
Raven ScottandCursor e3d8a14054 feat(shared): add HOOK_FAILURE_DIGEST_SYNC RPC 70 (Phase 99)
Gossip opcode for P2P hook failure digest rollups so moderators on
other peers see the same 24h automation failure summary.

Co-authored-by: Cursor <[email protected]>
2026-05-22 04:38:45 -04:00
Raven ScottandCursor 4225765c48 feat(shared): add AUDIT_EXPORT_SNAPSHOT RPC 69 (Phase 98)
New gossip opcode for P2P audit export snapshots when moderators export
the audit log so online peers can merge the same rows locally.

Co-authored-by: Cursor <[email protected]>
2026-05-22 04:32:08 -04:00
Raven ScottandCursor 707ef6f37f feat(rpc): add WORKER_RELEASE_ANNOUNCE gossip opcode (RPC 68)
Peers can gossip published integration worker versions over the
guild mesh so moderators see update-available hints without HTTP.

Co-authored-by: Cursor <[email protected]>
2026-05-22 04:17:48 -04:00
Raven ScottandCursor 46775f5fa7 feat(rpc): add HOOK_FAILURE_ALERT gossip method (RPC 67)
Automation hook delivery failures now have a dedicated P2P alert opcode
alongside APP_EVENT_RECEIPT (66). Guild mesh handlers broadcast and
ingest failure payloads for mod dashboards and notifications.

Co-authored-by: Cursor <[email protected]>
2026-05-22 03:58:45 -04:00
Raven ScottandCursor f95ff6830d feat(shared): add APP_EVENT_RECEIPT RPC 66 for automation delivery gossip
Discord-style webhook delivery logs are replaced by P2P receipt payloads on
the guild mesh. RPC 66 carries hook execution acknowledgments after APP_EVENT
fanout so peers can mirror delivery state without HTTP callbacks.

Co-authored-by: Cursor <[email protected]>
2026-05-22 03:39:39 -04:00
Raven ScottandCursor 41046c88fb feat(rpc): add AUTOMATION_MANIFEST_UPSERT gossip method (65)
Reserved RPC for P2P automation manifest fanout after guild admins import
or share hook bundles across mesh peers.

Co-authored-by: Cursor <[email protected]>
2026-05-22 03:20:13 -04:00
Raven ScottandCursor c868c1c6c7 feat(rpc): add APP_EVENT gossip method (64)
Reserved RPC slot for P2P app automation payloads consumed by
pearcord-app-events and platform createAppListener.

Co-authored-by: Cursor <[email protected]>
2026-05-22 03:15:03 -04:00
Raven ScottandCursor b848fee5b3 feat(permissions): add VIEW_CHANNEL bit (256) and memberCanViewChannel
Discord-style View channel permission for sidebar visibility and history
access. Builtin role masks include VIEW_CHANNEL for member, moderator, and
owner; lurkers retain VIEW_CHANNEL plus CONNECT_VOICE for read-only voice.

Exports memberCanViewChannel(member, customRoles, effectiveMask) for platform
and channel-permission overwrites.

Co-authored-by: Cursor <[email protected]>
2026-05-22 03:11:14 -04:00
Raven Scott a6ef1802ff feat(shared): CONNECT_VOICE and SPEAK_IN_VOICE permission bits
Add voice/stage permission flags with channel-overwrite support.
Members and moderators receive connect+speak; lurkers receive CONNECT_VOICE
only (listen-only voice). Export memberCanConnectVoice and
memberCanSpeakInVoice; rework memberCanJoinVoiceListenOnly to use effective
masks.
2026-05-22 03:07:32 -04:00
Raven Scott 2d2e37e30c feat(shared): SEND_MESSAGES permission bit for channel overwrites
Add PERMISSION.SEND_MESSAGES (32) to the guild bitmask model. Builtin
member/moderator roles include send by default; lurkers do not. Rework
memberCanParticipate to honor an optional effectiveMask from channel
overwrites (pearcord-channel-permissions).
2026-05-22 03:02:43 -04:00
Raven Scott 7f47ed72ad feat(shared): CHANNEL_OVERWRITE_UPSERT and DELETE RPC codes
Add RPC 62/63 for P2P channel permission overwrite gossip on the guild mesh.
2026-05-22 02:56:26 -04:00
Raven ScottandCursor be8498b6b0 feat(deep-links): invite and guild pearcord:// URL forms (Phase 74)
Add pearcord://invite/{code}, pearcord://g/{guildId}, and
pearcord://g/{guildId}/c/{channelId} parse/format helpers with kind
discriminators for navigateDeepLink. Message links unchanged.

Co-authored-by: Cursor <[email protected]>
2026-05-22 02:18:36 -04:00
Raven ScottandCursor 6b467c16d6 feat(deep-links): argv discovery helpers for OS pearcord:// handler (Phase 73)
Export PEARCORD_SCHEME, isPearcordDeepLink, and findPearcordDeepLinkInArgv
so pearcord-protocol and the desktop worker can detect URLs passed on the
command line by xdg-open, Windows registry handlers, or pear run.

Co-authored-by: Cursor <[email protected]>
2026-05-22 02:15:00 -04:00
Raven ScottandCursor 631c768c2c feat(voice): add memberCanJoinVoiceListenOnly helper (Phase 72)
Lurkers without custom-role permissions may join voice in receive-only
mode. Full members may also opt into listen-only. Exported alongside
memberCanParticipate for platform and smoke tests.

Co-authored-by: Cursor <[email protected]>
2026-05-22 02:10:38 -04:00
Raven ScottandCursor 50fe459251 feat(deep-links): pearcord:// URL parse, format, and message linkify
Add deep-links helpers for guild/DM/message URLs and render pearcord://
as in-app clickable links in formatMessageContent (no external resolver).

Co-authored-by: Cursor <[email protected]>
2026-05-22 02:05:01 -04:00
Raven ScottandCursor 7f38d24541 feat(roles): add lurker read-only builtin role and memberCanParticipate
Introduce MEMBER_ROLES.LURKER with zero permission mask and
memberCanParticipate() so platforms can block send/react/voice unless
custom roles grant permission bits.

Co-authored-by: Cursor <[email protected]>
2026-05-22 02:00:03 -04:00
Raven ScottandCursor 5313d936e5 feat(shared): ROLE_UPSERT RPC and memberHasPermission helper (v0.8.31)
Add RPC 59–61 for custom guild roles, memberHasPermission for effective bitmask
checks, and extend canModifyMessage to honor customRoleIds + customRoles rows.

Co-authored-by: Cursor <[email protected]>
2026-05-22 01:48:22 -04:00
Raven ScottandCursor d9bd4ede05 feat(rpc): add SOUND_UPSERT (57) and SOUND_PLAY (58) for guild soundboard
Extend the guild gossip RPC table so voice soundboard clips and in-channel
play events can sync over the existing Hyperswarm mesh without a central relay.

Co-authored-by: Cursor <[email protected]>
2026-05-22 00:19:41 -04:00
Raven ScottandCursor cd5e0ed162 feat(rpc): PROFILE_COSMETIC_UPDATE (56) and profileCosmeticsTopic
Add RPC for P2P profile cosmetic sync and topic helper
pearcord:profile-cosmetics:{userId} for multi-device and social fanout.

Co-authored-by: Cursor <[email protected]>
2026-05-21 23:30:25 -04:00
Raven ScottandCursor 5f246c6984 feat(rpc): add EMOJI_PACK_UPSERT (54) and EMOJI_PACK_DELETE (55)
Guild emoji packs sync over the guild mesh with dedicated RPC methods,
mirroring sticker pack RPC 52–53 for consistent Pearcord gossip routing.

Co-authored-by: Cursor <[email protected]>
2026-05-21 23:14:17 -04:00
Raven ScottandCursor 05b8dc5744 feat(rpc): add STICKER_PACK_UPSERT (52) and STICKER_PACK_DELETE (53)
New protomux RPC constants for P2P guild sticker pack sync on the guild mesh,
complementing existing STICKER_UPSERT (49) for individual animated stickers.

Co-authored-by: Cursor <[email protected]>
2026-05-21 22:57:24 -04:00
Raven ScottandCursor 8f485161f5 feat(shared): add GUILD_BOOST_LEDGER_APPEND RPC (51)
Registers gossip method for per-user boost attribution synced alongside
guild boost count updates in v0.8.6.

Co-authored-by: Cursor <[email protected]>
2026-05-21 22:33:55 -04:00
Raven ScottandCursor b07e496942 feat(shared): add ANNOUNCEMENT_HUB_POST RPC constant (50)
Registers discovery gossip method for remote announcement hub syndication
used by pearcord-discovery and pearcord-platform in v0.8.5.

Co-authored-by: Cursor <[email protected]>
2026-05-21 22:30:50 -04:00
Raven Scott 60465213fe feat(shared): add STICKER_UPSERT RPC constant (49)
Extend guild gossip RPC table for animated sticker pack sync on the
P2P mesh alongside existing EMOJI_UPSERT and attachment metadata.
2026-05-21 22:26:39 -04:00
Raven Scott 548e75ee7a feat(shared): add GUILD_BOOST_UPDATE RPC constant (48)
Extend the guild gossip RPC table so pearcord-guild and pearcord-boosts
can synchronize local cosmetic boost counts and banner colors over the
P2P mesh without a central billing API.
2026-05-21 22:14:32 -04:00
Raven ScottandCursor 3a83557630 feat(shared): ANNOUNCEMENT_CROSSPOST_CONFIG (46) and FOLLOW_UPDATE (47)
Gossip opcodes for announcement cross-post configuration and per-user
channel follow state on the guild mesh.

Co-authored-by: Cursor <[email protected]>
2026-05-21 22:07:22 -04:00
Raven ScottandCursor 8cc2f1d91e feat(shared): add SCREEN_SHARE_UPDATE RPC (45)
Gossip opcode for P2P screen share start/stop state in voice channels.

Co-authored-by: Cursor <[email protected]>
2026-05-21 22:03:15 -04:00
Raven ScottandCursor 9bc65c253f feat(shared): add AUTOMOD_CONFIG_UPDATE RPC (44)
Extend protomux gossip RPC table with AUTOMOD_CONFIG_UPDATE for P2P
guild automod configuration sync across the mesh.

Co-authored-by: Cursor <[email protected]>
2026-05-21 21:54:56 -04:00
Raven ScottandCursor 17e2851e3c feat(shared): add CHANNEL_TYPES.STAGE and RPC.STAGE_SPEAKER_UPDATE (43)
Extend channel type enum for P2P stage channels and allocate gossip RPC
for pearcord-stage speaker role updates (audience, pending, speaker).

Co-authored-by: Cursor <[email protected]>
2026-05-21 21:49:55 -04:00
Raven ScottandCursor 6b779b1855 feat(shared): add RPC.FORUM_POST_TAGS for P2P forum post tag sync
Co-authored-by: Cursor <[email protected]>
2026-05-21 21:34:40 -04:00
Raven ScottandCursor 4631566ae0 feat(shared): add CHANNEL_TYPES.FORUM for forum channel support
Extends the shared channel type enum so guild/platform/UI can create and
recognize forum channels (posts as threads) in P2P gossip payloads.

Co-authored-by: Cursor <[email protected]>
2026-05-21 21:30:09 -04:00
Raven ScottandCursor 6af170001a feat(shared): add CHANNEL_READ RPC for DM read receipts
New gossip opcode 41 — peers broadcast lastReadAt when opening a DM
channel so senders can show a Seen indicator (P2P, no central API).

Co-authored-by: Cursor <[email protected]>
2026-05-21 21:16:52 -04:00
Raven ScottandCursor 98a4353fce feat(shared): add group DM topic helpers and GROUP_DM_UPSERT RPC
Add CHANNEL_TYPES.GROUP_DM, normalizeGroupParticipants (3-10),
groupDmTopic/groupDmChannelId, and RPC 40 for channel gossip.

Co-authored-by: Cursor <[email protected]>
2026-05-21 20:59:51 -04:00
Pearcord 08a69799d2 chore: publish pearcord-shared from pearcord workspace 2026-05-21 20:51:51 -04:00