Add COLLECTIONS.POLLS, POLL_VOTES, SCHEDULED_MESSAGES and RPC types for
guild-scoped poll/schedule mesh gossip so platform-global parity builds on
one shared contract.
Export unfurlSuppressReason, isEmbedDomainBlocked, and
embedHostnameFromUrl for composer preview and dev diagnostics.
Co-authored-by: Cursor <[email protected]>
Introduces unfurl-policy.js with code/spoiler/md-link suppression, first-line
wins extraction, and layout gates; wires format-message and index exports plus
unit tests for regression coverage.
Co-authored-by: Cursor <[email protected]>
Export extractUrls up to N unique http(s) URLs; extractFirstUrl delegates
to first entry for backward-compatible unfurl policy.
Co-authored-by: Cursor <[email protected]>
Export groupDmAttachmentMaxBytes and DEFAULT_ATTACHMENT_MAX_BYTES from
attachment-limits for platform staging enforcement.
Co-authored-by: Cursor <[email protected]>
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]>