Export groupDmVoiceNoteMaxBytes from voice-note-wire for group DM
voice message size limits divided by participant count.
Co-authored-by: Cursor <[email protected]>
Centralize validatePastedNavigationInput in pearcord-shared so UI, platform,
and protocol can reject dangerous or malformed navigation input before dispatch.
Co-authored-by: Cursor <[email protected]>
Extend poll command parsing and payload formatting/parsing to support
anonymous modes (`/polla`, `/pollma`) and preserve the anonymous flag
in poll message headers.
Co-authored-by: Cursor <[email protected]>
RPC 96 gossips guild presence vector rows across devices on the settings
health wire with max-seq LWW reconciliation.
Co-authored-by: Cursor <[email protected]>
GUILD_SYNC_HEALTH (94) and SETTINGS_READ_RECEIPT_SYNC (95) support guild
sync health gossip and cross-device read receipt merge on the settings topic.
Co-authored-by: Cursor <[email protected]>
Joiners can ask the guild owner to burst GUILD_SYNC on the mesh when wire-ready gossip alone is insufficient.
Co-authored-by: Cursor <[email protected]>
Expose channel-mention detection in shared so platform send path can
reject @channel when the user lacks viewChannel on the parent channel.
Co-authored-by: Cursor <[email protected]>
Add contentHasEveryoneMention and contentHasHereMention helpers so
platform can return distinct permission errors for each mention type.
Co-authored-by: Cursor <[email protected]>
Introduce PERMISSION.MENTION_EVERYONE (512) for owner/moderator defaults
and contentHasEveryoneOrHereMention() for send-time enforcement.
Co-authored-by: Cursor <[email protected]>
formatMessageContent accepts selfMentionNames and applies mention-self when the rendered @name matches the viewer.
Co-authored-by: Cursor <[email protected]>
Phase 142: add formatExploreBaselineDeepLink for pearcord://explore?baseline=&at=
deep links used by discovery baseline sharing. Fix module.exports so smokes and
pearcord-platform can import the formatter from the package root.
Co-authored-by: Cursor <[email protected]>
Add parse/format helpers for pcdv_ pair codes alongside invite and
message URLs so fresh installs can open pearcord://pair/... from the OS.
Co-authored-by: Cursor <[email protected]>
Guild mesh gossip method 76 propagates signed audit log CSV exports
between peers without waiting for full GUILD_SYNC debounce.
Co-authored-by: Cursor <[email protected]>
Guild mesh gossip method 75 for signed hook-failure digest CSV push
between peers without full GUILD_SYNC round-trips.
Co-authored-by: Cursor <[email protected]>
Introduce gossip method for peers to request full audit export archive
bodies by archive id. Holder responds with AUDIT_EXPORT_ARCHIVE (71).
Co-authored-by: Cursor <[email protected]>
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]>
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]>
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]>
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]>
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]>
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]>
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]>