Add threads-forum.js partition heal for forum tag palettes, extend thread heal
with watermark and auto-archive reconciliation, guild-scoped threads panel,
create-thread deep link navigation payload, and thread.create autoArchiveMinutes
(Phase 679 / v0.8.654).
Co-authored-by: Cursor <[email protected]>
Add invites-discovery.js with list/heal/gossip helpers, wire into platform
view as guildInvites, inviteCount, and discoveryListingVersion, and extend
createInvite/join/preview validation plus invite.create gossip dedupe.
Co-authored-by: Cursor <[email protected]>
Add moderation.js with unbanMember, role hierarchy checks, audit gossip
dedupe, partition heal for audit log and ban list, and extended audit filters.
Co-authored-by: Cursor <[email protected]>
Wire userSettingsMixin with gossip dedupe, user prefs and profile cosmetics
partition heal, and userSettings.patch span metadata for settings parity.
Co-authored-by: Cursor <[email protected]>
Extend partition heal with member list and voice occupancy recovery,
presence gossip dedupe via _gossipPresenceIfNew, kick span metadata, and
member.role.add/remove audit on custom role assignment.
Co-authored-by: Cursor <[email protected]>
Add forwardAttachment, cancelAttachmentDownload, _healOrphanedAttachmentRefs,
read-only stageAttachment gate, and extended readAttachmentPreview for video
and modern image formats.
Co-authored-by: Cursor <[email protected]>
Add exportAttachmentDiagnostics, attachment.fetch spans with setFetchProgress,
groupDmAttachmentMaxBytes on stageAttachment, and slowmode gate on staging.
Co-authored-by: Cursor <[email protected]>
Adds exportVoiceNoteDiagnostics, voiceNoteGate in view, voiceNote.commit span, max duration guard on stage, and _ingestVoiceNoteGossip for duplicate VOICE_NOTE_CREATE payloads.
Co-authored-by: Cursor <[email protected]>
Surfaces draft save duration and payload size in platform logs to support
Phase 660 composer draft flush debounce verification.
Co-authored-by: Cursor <[email protected]>
Add refreshScreenSharePreview for frozen stream recovery and invoke
presence.reapStalePeers during view() so ghost peers are cleared.
Co-authored-by: Cursor <[email protected]>
Add mesh-peer-quality helpers (RTT, drop rate, stale cursor) for selective
sync prioritization and rejoin jitter on mesh peer retries. Expose
meshStatusSummary, platformCapabilities, and ipcContractVersion on view;
exportActiveChannelTopicPreview now passes guildId to getChannelSettings so
descriptions resolve correctly for automation smokes.
Co-authored-by: Cursor <[email protected]>
Expose gossipLaneAlerts thresholds in meshStabilityStats and add
boundedStage/boundedStatusHint on guildSyncHealthRail for clearer UI.
Co-authored-by: Cursor <[email protected]>
Add previewJoinInvite for join preview metadata and templateId channel
presets on createGuild for friends/club onboarding branches.
Co-authored-by: Cursor <[email protected]>
Integrate pearcord-voice-notes with stage/discard/commit APIs, permission
gates, and voiceNoteDraft in view payloads for composer UI parity.
Co-authored-by: Cursor <[email protected]>
Reject malformed invites and deep links at the platform layer using
validatePastedNavigationInput before mesh join or navigation side effects.
Co-authored-by: Cursor <[email protected]>
Resolve stale activeChannelId against the visible channel list during
view finalize and channel-delete gossip, clear mismatched message slices,
and expose activeChannel plus activeChannelRecovery in the view payload.
Co-authored-by: Cursor <[email protected]>
Run _auditChannelViewConsistency during view() to detect orphan rows
and pin/reaction cache mismatches, auto-invalidate stale list caches,
and expose channelConsistencyAudit in the view payload.
Co-authored-by: Cursor <[email protected]>
Track per-peer lastSeenAt, sweep idle hyperswarm sockets on an interval
and before peer-retry, and expose peerRetryAttempt, lastPeerSeenAt, and
eviction totals on guildSyncHealthRail.
Co-authored-by: Cursor <[email protected]>
Route guild.open, mesh-bounded bootstrap, create, and peer-retry joins
through _requestGuildMeshJoin so startup/switch races skip stale loadGen
attempts and share one in-flight join per guild instance.
Co-authored-by: Cursor <[email protected]>
Add _computeGuildMeshPeerRetryDelayMs keyed off lastPeerSeenAt with RTT and env min/max bounds, record peer contact on join, and emit spacingSource diagnostics for bounded retry scheduling.
Co-authored-by: Cursor <[email protected]>
Introduce `opts.detail` support for minimal/light/full/diagnostic polling with legacy light-mode compatibility and expose the resolved detail level in view diagnostics metadata.
Co-authored-by: Cursor <[email protected]>
Add cache-hit/source metadata for pin, reaction, and discovery list spans, coalesce in-flight discovery list fetches, and batch view lookups to reduce redundant reads during render bursts.
Co-authored-by: Cursor <[email protected]>
This introduces CI-enforced checks that compare index.js pearcord-* requires against declared dependencies and smoke-resolve imported modules, preventing undeclared module regressions in local file-link and attached runtime environments.
Co-authored-by: Cursor <[email protected]>