Filter bundles by joiner syncWatermark, gossip GUILD_SYNC_ACK after ingest,
append outbound messages to Hypercore via pearcord-guild-replicator, and
export channelCoreKeys in GUILD_SYNC payloads when cores exist.
Co-authored-by: Cursor <[email protected]>
Burst DIRECTORY_LISTING and revoke gossip when peers are already connected, refresh owned listings after create, and invalidate explore cache on delete.
Co-authored-by: Cursor <[email protected]>
Wire joiners to the host via invite/listing public keys, seed owner profiles from portable invites, await roster bootstrap, and gossip profiles/presence after peers connect.
Co-authored-by: Cursor <[email protected]>
Invalidate listing cache on discovery peer join, mesh-refresh when Explore opens, use a shorter live cache TTL, and run invite join bootstrap in the background so discovery IPC is not blocked.
Co-authored-by: Cursor <[email protected]>
Defer member gossip until mesh join, burst GUILD_SYNC pushes on peer connect, and seed roster/history waits so members appear immediately from invites.
Co-authored-by: Cursor <[email protected]>
Invalidate cached Explore listings when DIRECTORY_LISTING arrives, publish
new guilds to the discovery mesh after create, and re-sync on peer connect.
Co-authored-by: Cursor <[email protected]>
Fan out deletes on discovery mesh, persist tombstones, reconcile on startup,
and refresh the server rail when a non-active guild is removed.
Co-authored-by: Cursor <[email protected]>
Extend search hub/panel live regions with active channel context and mesh
notes; tighten search-errors reaction bleed exclusion; refresh composer
search hints for hub and panel; platform guild.search.cache/mesh spans
include activeChannelId; agentctl and phase627 smoke bundle.
Ingest profiles on contact accept and contacts user gossip; rebroadcast presence with profile fields after mesh join.
Co-authored-by: Cursor <[email protected]>
Fall back to dm.gossipDmChannelUpsert so open-dm works without a stale
pearcord-contacts copy missing sendDmChannelInvite.
Co-authored-by: Cursor <[email protected]>
Embed username/displayName on presence updates (already syncing reliably),
ingest profiles from presence on peers, and retry USER_UPSERT gossip when
mesh connections open. Also gossip profile after invite join.
Co-authored-by: Cursor <[email protected]>
Gossip profile on every send, bundle author and attachmentMetas on messages,
build DM usersById from contacts, and export attachments via download-cache
before IPC to avoid stuck downloads.
Co-authored-by: Cursor <[email protected]>
Gossip attachment meta on DM send, wire DM attach-mesh provider, fetch
bytes from DM peers when not in a guild, expose usersById in view, and
emit user-profile after ingest for live member names.
Co-authored-by: Cursor <[email protected]>
Include users in guild sync, enrich member view with display names,
gossip presence and profiles on peer join, background DM listener with
contacts-based channel invites, and safer mesh teardown when switching
guild/DM mode.
Co-authored-by: Cursor <[email protected]>
Include activeChannelId and guildCount on thread.read span.end for hub depth
diagnostics aligned with thread.create and thread.archive.
Co-authored-by: Cursor <[email protected]>
Add guildCount and activeChannelId to thread.create and
thread.archive span ends for Phase 611 observability.
Co-authored-by: Cursor <[email protected]>
Extend attachment.stage, attachment.read, and attachment.unlink span ends
with guildCount; attachment.read also adds activeChannelId on end.
Co-authored-by: Cursor <[email protected]>
Extend sticker.create, sticker.delete, sticker.stage, and sticker.send
span ends with guildCount metadata for hub live panel correlation.
Co-authored-by: Cursor <[email protected]>
Extend emoji.create, emoji.delete, and emoji.stage span ends with
guildCount metadata for hub live panel and dev-log correlation.
Co-authored-by: Cursor <[email protected]>
Extend bot.install, bot.verify, and bot.message span ends with
guildCount metadata for hub live panel and dev-log correlation.
Co-authored-by: Cursor <[email protected]>
Extend slash.register, slash.delete, and slash.invoke span ends with
guildCount metadata for hub live panel and dev-log correlation.
Co-authored-by: Cursor <[email protected]>
Extend webhook.create, webhook.delete, and webhook.execute span end
metadata with guildCount for Phase 575 observability.
Co-authored-by: Cursor <[email protected]>
Wrap audit export archive append in compliance.archive span with
guildCount metadata, add digest.schedule span to setDigestExportSchedule,
and extend compliance.snapshot end metadata for Phase 574.
Co-authored-by: Cursor <[email protected]>
Add guildCount to audit.append and audit.export ends; instrument
setAuditExportSchedule with audit.schedule span and error logging.
Co-authored-by: Cursor <[email protected]>
Add guildCount to role.create/delete/reorder ends; role.member end now
includes spanKind, activeChannelId, assignedRoleCount, and customRoleCount.
Co-authored-by: Cursor <[email protected]>
Add guildCount to role.update and permission.overwrite ends; permission.eval
end now includes spanKind, activeChannelId, and guildCount.
Co-authored-by: Cursor <[email protected]>