Commit Graph
530 Commits
Author SHA1 Message Date
Raven ScottandCursor 8447204162 feat(sync): delta GUILD_SYNC bundles and guild-replicator integration
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]>
2026-06-01 17:54:13 -04:00
Raven ScottandCursor c80b36fe06 Improve guild join sync recovery and mesh health diagnostics.
Add GUILD_SYNC_REQUEST handling, meshHostPublicKey persistence, bootstrap/loadGuild recovery schedulers, discovery listing refresh on recreate, and view.guildSyncHealth for agentctl.

Co-authored-by: Cursor <[email protected]>
2026-06-01 17:27:14 -04:00
Raven ScottandCursor 8dd7b71578 Re-announce discovery listings after guild delete and recreate.
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]>
2026-06-01 16:47:03 -04:00
Raven ScottandCursor cb6f6fb0e1 Fix explore join guild mesh, owner profile, and presence sync.
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]>
2026-06-01 16:37:55 -04:00
Raven ScottandCursor 2eb47baaab Fix Explore list sync by refreshing mesh on open and shortening cache.
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]>
2026-06-01 16:30:28 -04:00
Raven ScottandCursor 2eb77085fe Bootstrap guild sessions after explore/invite join with mesh sync retries.
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]>
2026-06-01 16:07:52 -04:00
Raven ScottandCursor 580ea5a478 fix(discovery): show new public guilds on remote Explore immediately
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]>
2026-06-01 15:41:53 -04:00
Raven ScottandCursor 428dfa5804 fix(guild): auto-remove deleted servers for all members and offline peers
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]>
2026-06-01 15:33:11 -04:00
Raven ScottandCursor d3803b68f3 feat(guild): owner deleteGuild with mesh gossip and local purge
Co-authored-by: Cursor <[email protected]>
2026-06-01 15:22:51 -04:00
Raven Scott 3e36cee5c0 feat(search): Phase 627 search hub depth (v0.8.590)
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.
2026-06-01 15:05:27 -04:00
Raven ScottandCursor 62e89a5df0 fix(mesh): contacts profile ingest, presence burst, and accept-side names
Ingest profiles on contact accept and contacts user gossip; rebroadcast presence with profile fields after mesh join.

Co-authored-by: Cursor <[email protected]>
2026-05-25 01:18:51 -04:00
Raven ScottandCursor 1235c82607 fix(dm): guard sendDmChannelInvite when contacts module is older
Fall back to dm.gossipDmChannelUpsert so open-dm works without a stale
pearcord-contacts copy missing sendDmChannelInvite.

Co-authored-by: Cursor <[email protected]>
2026-05-25 00:42:55 -04:00
Raven ScottandCursor fb73037855 fix(p2p): sync usernames via presence gossip and profile burst retries
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]>
2026-05-25 00:33:17 -04:00
Raven ScottandCursor 3dd2001605 fix(guild): guard gossipUserUpsert when guild module is older
Avoid crashing guild.open when node_modules pearcord-guild predates
USER_UPSERT gossip support.

Co-authored-by: Cursor <[email protected]>
2026-05-25 00:21:23 -04:00
Raven ScottandCursor bfcc944847 fix(p2p): author profiles on messages, DM users map, and download export
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]>
2026-05-25 00:17:48 -04:00
Raven ScottandCursor 3dd4393487 fix(p2p): DM attachment sync, download mesh, and user profile refresh
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]>
2026-05-25 00:05:14 -04:00
Raven ScottandCursor 324fcb435b fix(p2p): sync profiles, presence, DMs, and contacts across mesh
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]>
2026-05-24 23:55:26 -04:00
Raven ScottandCursor 6e954fe40d feat: thread.read span activeChannelId metadata (Phase 625)
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]>
2026-05-24 20:05:38 -04:00
Raven ScottandCursor e16e74af27 feat(pins): add activeChannelId to pin.message/unpin span metadata
Phase 614 extends pin span ends with activeChannelId for hub depth
diagnostics alongside existing guildCount and pinCount fields.

Co-authored-by: Cursor <[email protected]>
2026-05-24 18:45:22 -04:00
Raven ScottandCursor 6df485f6fc feat(platform): thread create/archive span metadata (v0.8.574)
Add guildCount and activeChannelId to thread.create and
thread.archive span ends for Phase 611 observability.

Co-authored-by: Cursor <[email protected]>
2026-05-24 18:22:27 -04:00
Raven ScottandCursor 03b50123d0 feat(platform): compliance.export span for Phase 603 (v0.8.566)
Mirror audit.export with compliance.export span metadata on
exportAuditLog for compliance hub observability.

Co-authored-by: Cursor <[email protected]>
2026-05-24 17:53:13 -04:00
Raven ScottandCursor a05631e345 feat(platform): add guildCount to settings.guild span end
Phase 598 hub-depth metadata aligns guild.update span diagnostics with
settings.prefs and notifications.prefs during settings saves.

Co-authored-by: Cursor <[email protected]>
2026-05-24 17:22:38 -04:00
Raven ScottandCursor 2ac4c47aef feat(platform): add guildCount to guild.create span end
Phase 596 hub-depth metadata aligns onboarding span diagnostics with
identity.register and invite.join ends during guild bootstrap.

Co-authored-by: Cursor <[email protected]>
2026-05-24 17:13:37 -04:00
Raven ScottandCursor 82ab49981e feat(platform): add guildCount to dm.open and dm.group.create spans
Phase 595 hub-depth metadata aligns DM span ends with other hub panels
for dev-log clipboard diagnostics during guild load.

Co-authored-by: Cursor <[email protected]>
2026-05-24 17:09:20 -04:00
Raven ScottandCursor c167683a7f feat(platform): contacts span guildCount metadata (Phase 594)
Extend contacts.request, accept, decline, block, and unblock span
ends with guildCount for hub-depth telemetry parity.

Co-authored-by: Cursor <[email protected]>
2026-05-24 17:02:57 -04:00
Raven ScottandCursor 39a1bac4cc feat(platform): discovery span guildCount and filter span (Phase 593)
Extend discovery.list/join/mesh/publish/prune span ends with guildCount
and instrument setDiscoveryFilter with discovery.filter span telemetry.

Co-authored-by: Cursor <[email protected]>
2026-05-24 16:58:26 -04:00
Raven ScottandCursor 36ce30e5d8 feat(platform): presence span guildCount metadata (Phase 592)
Extend presence.set, activity, custom, and image span ends with
guildCount for hub-depth telemetry parity.

Co-authored-by: Cursor <[email protected]>
2026-05-24 16:52:51 -04:00
Raven ScottandCursor 3105ee36cd feat(platform): soundboard span guildCount metadata (Phase 591)
Extend soundboard.play, upload, delete, and stage span ends with
guildCount for hub-depth telemetry parity.

Co-authored-by: Cursor <[email protected]>
2026-05-24 16:49:00 -04:00
Raven ScottandCursor 5adff3c384 feat(platform): screen span guildCount metadata (Phase 590)
Extend screen.start, screen.stop, and screen.capture span ends with
guildCount for hub-depth telemetry parity.

Co-authored-by: Cursor <[email protected]>
2026-05-24 16:40:51 -04:00
Raven ScottandCursor 3d40360af0 feat(platform): stage span guildCount metadata (Phase 589)
Extend stage.join and stage.speaker.request/approve span ends with
guildCount for hub-depth telemetry parity.

Co-authored-by: Cursor <[email protected]>
2026-05-24 16:35:33 -04:00
Raven ScottandCursor 4a61564e9c feat(platform): voice span guildCount metadata (Phase 588)
Extend voice.join, voice.leave, and voice.mute span ends with guildCount
for hub-depth telemetry parity.

Co-authored-by: Cursor <[email protected]>
2026-05-24 16:31:12 -04:00
Raven ScottandCursor 732334f353 feat(platform): pin span guildCount metadata (Phase 587)
Extend pin.message and pin.unpin span ends with guildCount for hub-depth
telemetry parity with pin.list.

Co-authored-by: Cursor <[email protected]>
2026-05-24 16:26:20 -04:00
Raven ScottandCursor 1d185d7bbf feat(platform): search span guildCount for Phase 586 (v0.8.549)
Extend guild.search and search.pins (pin.list) span ends with guildCount
for search hub correlation.

Co-authored-by: Cursor <[email protected]>
2026-05-24 16:18:37 -04:00
Raven ScottandCursor fde81bea75 feat(platform): reaction.clear span guildCount for Phase 585 (v0.8.548)
Extend reaction.clear span end with guildCount for reaction hub correlation.

Co-authored-by: Cursor <[email protected]>
2026-05-24 16:14:16 -04:00
Raven ScottandCursor 9fe2bc8d45 feat(platform): message span guildCount for Phase 584 (v0.8.547)
Extend message.send, message.edit, and message.delete span ends with
guildCount for messaging hub correlation.

Co-authored-by: Cursor <[email protected]>
2026-05-24 16:10:24 -04:00
Raven ScottandCursor c115627af0 feat(platform): attachment span guildCount for Phase 583 (v0.8.546)
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]>
2026-05-24 16:06:09 -04:00
Raven ScottandCursor 1c245c1225 feat(platform): embed span guildCount for Phase 582 (v0.8.545)
Extend embed.resolve, embed.gossip, and embed.clear span ends with
guildCount for embed hub correlation.

Co-authored-by: Cursor <[email protected]>
2026-05-24 16:03:10 -04:00
Raven ScottandCursor 57e2e1a699 feat(platform): reaction span guildCount for Phase 581 (v0.8.544)
Extend reaction.toggle, reaction.gossip, reaction.list, and reaction.clear
span ends with guildCount for expression hub correlation.

Co-authored-by: Cursor <[email protected]>
2026-05-24 15:59:52 -04:00
Raven ScottandCursor b2b43dee7c feat(platform): sticker span guildCount for Phase 580 (v0.8.543)
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]>
2026-05-24 15:55:31 -04:00
Raven ScottandCursor 5d3b29676d feat(platform): emoji span guildCount for Phase 579 (v0.8.542)
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]>
2026-05-24 15:51:49 -04:00
Raven ScottandCursor 5b1d8437ff feat(platform): automation span guildCount for Phase 578 (v0.8.541)
Extend automation.hook, automation.dispatch, automation.manifest, and
automation.hook.dryRun span ends with guildCount metadata.

Co-authored-by: Cursor <[email protected]>
2026-05-24 15:49:02 -04:00
Raven ScottandCursor a4d319cd7b feat(platform): bot span guildCount for Phase 577 (v0.8.540)
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]>
2026-05-24 15:46:18 -04:00
Raven ScottandCursor 7f1ce9b155 feat(platform): slash span guildCount for Phase 576 (v0.8.539)
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]>
2026-05-24 15:43:12 -04:00
Raven ScottandCursor a84e5b99c9 feat(platform): webhook span guildCount metadata (v0.8.538)
Extend webhook.create, webhook.delete, and webhook.execute span end
metadata with guildCount for Phase 575 observability.

Co-authored-by: Cursor <[email protected]>
2026-05-24 15:40:36 -04:00
Raven ScottandCursor 4f576805e3 feat(platform): compliance.archive and digest.schedule spans (v0.8.537)
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]>
2026-05-24 15:37:50 -04:00
Raven ScottandCursor 671e97e149 feat(platform): extend audit spans and add audit.schedule logging for Phase 573
Add guildCount to audit.append and audit.export ends; instrument
setAuditExportSchedule with audit.schedule span and error logging.

Co-authored-by: Cursor <[email protected]>
2026-05-24 15:21:38 -04:00
Raven ScottandCursor 69c4b661f7 feat(platform): extend moderation/automod span metadata for Phase 572
Add guildCount to ban.member, kick.member, timeout.member, and automod.setConfig
span ends for moderation depth observability.

Co-authored-by: Cursor <[email protected]>
2026-05-24 15:17:53 -04:00
Raven ScottandCursor 0dc7e72059 feat(platform): extend role.create/reorder/member span metadata for Phase 571
Add guildCount to role.create/delete/reorder ends; role.member end now
includes spanKind, activeChannelId, assignedRoleCount, and customRoleCount.

Co-authored-by: Cursor <[email protected]>
2026-05-24 15:14:54 -04:00
Raven ScottandCursor 3a723c36da feat(platform): extend permission/role span metadata for Phase 570
Add guildCount to role.update and permission.overwrite ends; permission.eval
end now includes spanKind, activeChannelId, and guildCount.

Co-authored-by: Cursor <[email protected]>
2026-05-24 15:11:38 -04:00
Raven ScottandCursor 10117804c9 feat(platform): extend session and guild.open span metadata (v0.8.532)
Add spanKind and activeChannelId on session.startup; memberCount, guildCount,
and spanKind on guild.open.

Co-authored-by: Cursor <[email protected]>
2026-05-24 15:07:58 -04:00