Add parentType/threadName on thread.create, parentId on thread.archive,
parentChannelId/messageId on forum.post, and normalize error logs to error:.
Co-authored-by: Cursor <[email protected]>
Add meshHitCount/localHitCount/mesh on search span end and messageId/pinCount
on pin.message and pin.unpin span end.
Co-authored-by: Cursor <[email protected]>
Enrich dm.open, discovery.list, and contacts.accept span.end fields and
normalize error logs to error: for dev-log dm-errors filtering during
Phase 468 discovery and DM depth work.
Co-authored-by: Cursor <[email protected]>
Add leavingIsStage to voice.leave span.end and label to screen.start span.end
so dev-log voice-errors filter and diagnostics clipboard capture richer
voice/stage disconnect context during guild operations.
Co-authored-by: Cursor <[email protected]>
message.send/edit span.end includes contentLength; reaction.toggle
includes removed flag for observability and agentctl verification.
Co-authored-by: Cursor <[email protected]>
Include role name on role.update span.end and targetType on permission.overwrite span.end for P2P permission debugging.
Co-authored-by: Cursor <[email protected]>
Add guildId/channelId to slash.invoke; bot.message and bot.install spans
with structured errors for Phase 461 observability.
Co-authored-by: Cursor <[email protected]>
Add guildId to emoji.upsert span/end/error logs and wrap upsertGuildSticker
in sticker.create span with span.fail for Phase 459 observability.
Co-authored-by: Cursor <[email protected]>
deleteChannel with gossip; thread.create, thread.archive, and forum.post
spans include guildId, span.fail, and structured error logs.
Co-authored-by: Cursor <[email protected]>
Wrap updateGuildSettings and createInvite with timed spans and structured
error logs for settings diagnostics and dev-log filters.
Co-authored-by: Cursor <[email protected]>
Add searchGuildId to guild.search spans via endSearchSpan helper and
guildId metadata on pin.message and pin.unpin spans for diagnostics.
Co-authored-by: Cursor <[email protected]>
Extend notification.open, markAll, markRead, and inbox/thread read spans
so span.end includes guildId for diagnostics and dev-log filtering.
Co-authored-by: Cursor <[email protected]>
Add guildId and channelId to voice.join/leave, stage.join/speaker.*, and
screen.start/stop spans and error logs; standardize error field naming.
Co-authored-by: Cursor <[email protected]>
Phase 449 adds guildId and channelId to message.send/edit/delete and reaction.toggle spans; split read-only participate errors for send vs reactions.
Co-authored-by: Cursor <[email protected]>
Extend role.create/update/delete/reorder/member and permission.overwrite
spans with guildId metadata. Expose channelPermsByChannel and
channelOverwriteCount in view snapshot for UI diagnostics.
Co-authored-by: Cursor <[email protected]>
Call _invalidateSearchCache when markChannelRead completes for thread
channels so stale forum/guild search results refresh after inbox read.
Co-authored-by: Cursor <[email protected]>
Add markNotificationRead wrapper with notification.markRead span and
error logging. Use inbox.mark-read span for non-thread markChannelRead.
Extend notification.markAll span with guildId metadata.
Co-authored-by: Cursor <[email protected]>
Add observability spans and error logs for thread.create, forum.post,
thread.read, and thread.archive, plus thread.archive audit entries.
Co-authored-by: Cursor <[email protected]>
Wrap upsertGuildEmoji and _normalizeStickerNames with timed spans
and structured error logs for emoji-errors diagnostics filter.
Co-authored-by: Cursor <[email protected]>
Wrap voice.join, stage.join, stage.speaker.*, and screen.start/stop
with timed spans and structured error logs for voice-errors diagnostics.
Co-authored-by: Cursor <[email protected]>
Wrap stageAttachment, readAttachmentPreview, and _queueLinkEmbed with log.time
spans and attachment.stage/read + embed.resolve error records on failure.
Co-authored-by: Cursor <[email protected]>
Wrap sendMessage, editMessage, deleteMessage, and toggleReaction with log.time
spans and message.* / reaction.toggle error records on failure.
Co-authored-by: Cursor <[email protected]>
Wrap createChannelWebhook, deleteChannelWebhook, executeChannelWebhook,
registerSlashCommands, deleteSlashCommand, and executeSlashCommand with timed spans
and structured error logs for dev-log webhook-errors and slash-errors filters.
Wrap banMember, kickMember, timeoutMember, and exportAuditLog with timed spans
and structured error logs for dev-log moderation-errors and audit-errors filters.
Persist guild inbound handler as ingestInboundGuildMessage for home view, resolve mentions from DB members when guild mesh is detached, and add structured error logs for mark-all, open notification, and mark-channel-read.
Co-authored-by: Cursor <[email protected]>
deleteSlashCommand with gossip; slash.register/delete/invoke audit entries;
member role checks and ephemeral reply prefix on execute.
Co-authored-by: Cursor <[email protected]>
Wire pearcord-webhooks for local token posts, view.guildWebhooks, gossip
sync, and webhook author display names on messages.
Co-authored-by: Cursor <[email protected]>
Bounded joinMesh wait now logs INFO and completes guild.open instead of
rejecting the session when Hyperswarm join stalls past flushMs + 5s.
Co-authored-by: Cursor <[email protected]>
Emit a dedicated debug line when mesh-enabled refresh reuses cached
search results, alongside the generic refresh cache hit log.
Co-authored-by: Cursor <[email protected]>
Emit cache hit when mesh-off refresh would reuse cached results and
cache miss only when the cache key does not match.
Co-authored-by: Cursor <[email protected]>
When an unchanged setSearch call does not hit cache with mesh disabled,
emit a dedicated debug line with scope and includeMesh false.
Co-authored-by: Cursor <[email protected]>
When an unchanged setSearch call does not hit the search cache with mesh
enabled, emit a dedicated debug line with scope and includeMesh true.
Co-authored-by: Cursor <[email protected]>