Commit Graph
304 Commits
Author SHA1 Message Date
Raven ScottandCursor 2089724f92 Add dm.open, contacts, and discovery.list platform spans (Phase 452).
Structured logging for DM open, friend requests, and public listing refresh improves discovery/DM diagnostics and matches tightened dm-errors dev-log filters.

Co-authored-by: Cursor <[email protected]>
2026-05-24 00:04:45 -04:00
Raven ScottandCursor 2f847deb7e Phase 451: voice/stage/screen spans with guildId metadata
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]>
2026-05-23 23:48:10 -04:00
Raven ScottandCursor 67b9dffe97 Phase 450: attachment/embed spans with guildId and attach gate
Add guildId/channelId to attachment.stage/read and embed.resolve spans;
_assertCanParticipate('attach') blocks read-only roles from staging files.

Co-authored-by: Cursor <[email protected]>
2026-05-23 23:35:54 -04:00
Raven ScottandCursor d7f2d2d88c Extend message and reaction platform spans with guildId metadata.
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]>
2026-05-23 23:22:50 -04:00
Raven ScottandCursor 5d18ce410b Extend webhook and slash platform spans with guildId metadata.
Phase 448 adds guildId to webhook.create/delete/execute and slash.register/delete span start/end/error logs for tighter diagnostics alignment.

Co-authored-by: Cursor <[email protected]>
2026-05-23 23:11:03 -04:00
Raven ScottandCursor b4f8cfc91c feat(platform): Phase 447 role/overwrite spans + channel perms view (v0.8.410)
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]>
2026-05-23 22:58:28 -04:00
Raven ScottandCursor 17930ea6d4 feat(platform): Phase 446 moderation spans + guildBans view (v0.8.409)
Extend ban/kick/timeout/audit.export spans with guildId metadata; add
automod.setConfig span and error logging; expose guildBans in view snapshot.

Co-authored-by: Cursor <[email protected]>
2026-05-23 22:44:54 -04:00
Raven ScottandCursor 064cda4b59 feat(platform): invalidate search cache on thread read (Phase 445)
Call _invalidateSearchCache when markChannelRead completes for thread
channels so stale forum/guild search results refresh after inbox read.

Co-authored-by: Cursor <[email protected]>
2026-05-23 20:08:43 -04:00
Raven ScottandCursor 546aab0ce3 feat(platform): notification/inbox spans Phase 444 (v0.8.407)
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]>
2026-05-23 19:59:53 -04:00
Raven ScottandCursor 0fb9663362 feat(platform): thread/forum spans and archive audit (Phase 443 v0.8.406)
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]>
2026-05-23 19:50:23 -04:00
Raven ScottandCursor b42c8c91dc Phase 442: emoji.upsert and sticker.send platform span error logging.
Wrap upsertGuildEmoji and _normalizeStickerNames with timed spans
and structured error logs for emoji-errors diagnostics filter.

Co-authored-by: Cursor <[email protected]>
2026-05-23 19:37:13 -04:00
Raven ScottandCursor c626e487f5 Phase 441: platform voice/stage/screen span and error logging.
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]>
2026-05-23 19:25:29 -04:00
Raven ScottandCursor 937d99147c Phase 440: structured attachment.* and embed.* platform error logs (v0.8.403)
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]>
2026-05-23 19:08:13 -04:00
Raven ScottandCursor 35ac3557a9 Phase 439: structured message.* and reaction.* platform error logs (v0.8.402)
Wrap sendMessage, editMessage, deleteMessage, and toggleReaction with log.time
spans and message.* / reaction.toggle error records on failure.

Co-authored-by: Cursor <[email protected]>
2026-05-23 18:55:38 -04:00
Raven Scott 1d00c2311c Phase 438: structured role and permission overwrite error logging (v0.8.401).
Wrap createGuildCustomRole, updateGuildCustomRole, deleteGuildCustomRole,
reorderGuildCustomRoles, setMemberCustomRoles, upsertChannelPermissionOverwrite,
and deleteChannelPermissionOverwrite with timed spans and structured error logs.
2026-05-23 18:45:47 -04:00
Raven Scott 2fa3ab097e Phase 437: structured webhook and slash command error logging (v0.8.400).
Wrap createChannelWebhook, deleteChannelWebhook, executeChannelWebhook,
registerSlashCommands, deleteSlashCommand, and executeSlashCommand with timed spans
and structured error logs for dev-log webhook-errors and slash-errors filters.
2026-05-23 18:36:17 -04:00
Raven Scott 7f73efc51c Phase 436: structured moderation and audit export error logging (v0.8.399).
Wrap banMember, kickMember, timeoutMember, and exportAuditLog with timed spans
and structured error logs for dev-log moderation-errors and audit-errors filters.
2026-05-23 18:29:48 -04:00
Raven ScottandCursor 9fc0c3a90c Phase 435: search query filters, pin logging, and guild.search errors (v0.8.398).
parseSearchQuery integration via _applySearchQueryFilters; channel search structured filters; pin.message and pin.unpin spans with error logs; guild.search error logging on failure.

Co-authored-by: Cursor <[email protected]>
2026-05-23 18:21:22 -04:00
Raven ScottandCursor da8541dd0c Phase 434: home-mode mention ingest and notification error logging (v0.8.397).
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]>
2026-05-23 18:09:41 -04:00
Raven ScottandCursor 23c10599d7 Phase 433: DM and contacts error logging for diagnostics.
Log dm.open, dm.group, and contacts request/accept/decline failures
so the dm-errors dev-log filter surfaces actionable inbox issues.

Co-authored-by: Cursor <[email protected]>
2026-05-23 17:53:35 -04:00
Raven ScottandCursor 2da13ea78b Phase 432: voice/stage audit trail and leave error logging.
Record STAGE_LEAVE on stage channel exit, stage speaker moderation audits,
and voice.leave error spans so voice-errors diagnostics stay actionable.

Co-authored-by: Cursor <[email protected]>
2026-05-23 17:40:11 -04:00
Raven ScottandCursor d3637b4e20 Phase 431: emoji/sticker delete, audit, and mesh peer retry.
Adds removeGuildEmoji/Sticker with audit entries, delete gossip ingest, and
bounded post-open mesh retries when no peers connect initially.

Co-authored-by: Cursor <[email protected]>
2026-05-23 17:24:46 -04:00
Raven ScottandCursor 62cf3dbc16 feat(slash): delete API, audit trail, and execute hardening
deleteSlashCommand with gossip; slash.register/delete/invoke audit entries;
member role checks and ephemeral reply prefix on execute.

Co-authored-by: Cursor <[email protected]>
2026-05-23 17:05:16 -04:00
Raven ScottandCursor ff246ea7a2 feat(webhooks): channel webhook CRUD, execute, and audit integration
Wire pearcord-webhooks for local token posts, view.guildWebhooks, gossip
sync, and webhook author display names on messages.

Co-authored-by: Cursor <[email protected]>
2026-05-23 16:53:31 -04:00
Raven ScottandCursor df962ee440 fix(platform): continue guild open when joinMesh exceeds cap
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]>
2026-05-23 14:33:20 -04:00
Raven ScottandCursor b20d0032d9 Log typing.signal at debug when gossiping typing state.
Improves observability for guild and DM typing without per-keystroke spans.

Co-authored-by: Cursor <[email protected]>
2026-05-23 13:10:12 -04:00
Raven ScottandCursor 9cb930d09f Improve voice leave, guild open resilience, and poll logging.
Recover orphaned voice rows on leave, bound joinMesh and initial guild load, demote view.light spans to trace, and log voice.leave.

Co-authored-by: Cursor <[email protected]>
2026-05-23 13:02:40 -04:00
Raven ScottandCursor a2565a83f0 feat(platform): log refresh mesh-on cache hit with scope at debug
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]>
2026-05-23 10:29:47 -04:00
Raven ScottandCursor cdcb7d03cb fix(platform): log refresh mesh-off cache hit vs miss correctly
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]>
2026-05-23 10:26:53 -04:00
Raven ScottandCursor 4827eb7044 feat(platform): log setSearch mesh-off cache miss with scope at debug
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]>
2026-05-23 10:24:14 -04:00
Raven ScottandCursor 148f94df0a feat(platform): log setSearch mesh-on cache miss with scope at debug
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]>
2026-05-23 10:20:59 -04:00
Raven ScottandCursor 2472730835 feat(platform): log refresh mesh-on cache miss with scope at debug
When mesh search refresh misses cache with includeMesh true, emit a
dedicated debug line before the mesh-on refresh span.

Co-authored-by: Cursor <[email protected]>
2026-05-23 10:17:23 -04:00
Raven ScottandCursor 415843600d feat(platform): log setSearch mesh-off cache hit with scope at debug
Mirror mesh-on cache hit logging when includeMesh is false so guild
search diagnostics show scope on unchanged cache hits.

Co-authored-by: Cursor <[email protected]>
2026-05-23 10:12:21 -04:00
Raven ScottandCursor 5c00c19cd1 feat(platform): log refresh mesh-off cache miss with scope at debug
When refreshSearch is skipped because mesh is off but in-memory cache
would have hit, emit guild.search refresh mesh-off cache miss for diagnostics.

Co-authored-by: Cursor <[email protected]>
2026-05-23 10:06:40 -04:00
Raven ScottandCursor a4579f11a3 feat(platform): log setSearch mesh-on cache hit with scope at debug
When setSearch no-ops with valid in-memory cache and mesh enabled, emit
guild.search setSearch mesh-on cache hit including scope for diagnostics.

Co-authored-by: Cursor <[email protected]>
2026-05-23 10:03:06 -04:00
Raven ScottandCursor bb098b1eb5 feat(platform): log refresh cache miss and mesh-on with scope
refreshSearch emits guild.search refresh cache miss before mesh-on
invalidation, both including scope and includeMesh for diagnostics.

Co-authored-by: Cursor <[email protected]>
2026-05-23 09:59:38 -04:00
Raven ScottandCursor 14578a5adf feat(platform): include mesh flag in refreshSearch cache hit debug log
Logs includeMesh on guild.search refresh cache hit for diagnostics filtering.

Co-authored-by: Cursor <[email protected]>
2026-05-23 09:45:47 -04:00
Raven ScottandCursor 9121817c36 feat(platform): log guild.search refresh mesh-on at debug
Records scope and query length when refreshSearch runs with mesh enabled.

Co-authored-by: Cursor <[email protected]>
2026-05-23 09:41:01 -04:00
Raven ScottandCursor 66ec605383 feat(platform): log guild.search setSearch mesh-on at debug
Records scope and query length when includeMesh is toggled on.

Co-authored-by: Cursor <[email protected]>
2026-05-23 09:36:40 -04:00
Raven ScottandCursor e959a48f1c fix(platform): guild.open error log and refreshSearch mesh-off early return
Log guild.open error when _openGuild fails for diagnostics filtering.
refreshSearch returns immediately on mesh-off with scope in skipped debug log.

Co-authored-by: Cursor <[email protected]>
2026-05-23 09:27:24 -04:00
Raven ScottandCursor 5c4eca2480 feat(v0.8.281): setSearch mesh-off debug and guild.voice error logging
Log guild.search setSearch mesh-off when includeMesh is disabled.
Wrap guild voice init with guild.voice error on failure.

Co-authored-by: Cursor <[email protected]>
2026-05-23 09:18:57 -04:00
Raven ScottandCursor e17670066e feat(v0.8.280): guild mesh error logging and refresh skip debug
Log guild.mesh error when joinMesh fails during guild open. Log
guild.search refresh skipped with mesh-off reason in maybeRefreshStaleSearch.

Co-authored-by: Cursor <[email protected]>
2026-05-23 09:13:45 -04:00
Raven ScottandCursor 7ff4a4cf3a feat(v0.8.279): setSearch mesh-on scope change debug log
Log guild.search setSearch mesh-on scope change when includeMesh is on and
search scope changes between channel, forum, and guild.

Co-authored-by: Cursor <[email protected]>
2026-05-23 09:06:41 -04:00
Raven ScottandCursor 9e61a270ae feat(v0.8.278): refreshSearch cache hit debug logging
Skip invalidate when search cache is still valid and log guild.search refresh
cache hit with scope at debug level.

Co-authored-by: Cursor <[email protected]>
2026-05-23 08:54:24 -04:00
Raven ScottandCursor 18ba1e597d fix(search): log debug when setSearch unchanged hits cache
Emit guild.search unchanged cache hit with scope before the generic
unchanged log for mesh-on and mesh-off duplicate queries.

Co-authored-by: Cursor <[email protected]>
2026-05-23 08:48:48 -04:00
Raven ScottandCursor 953147d8f1 fix(search): log debug on refreshSearch with mesh disabled
Emit guild.search refresh mesh-off before cache invalidation when
includeMesh is false to aid diagnostics during local-only refresh.

Co-authored-by: Cursor <[email protected]>
2026-05-23 08:43:15 -04:00
Raven ScottandCursor dc3ffd78f7 fix(search): log mesh-off when setSearch query unchanged
Emit guild.search unchanged mesh-off at debug when duplicate search
runs with mesh disabled to distinguish from mesh-on no-ops.

Co-authored-by: Cursor <[email protected]>
2026-05-23 08:39:04 -04:00
Raven ScottandCursor 0fb10c4927 fix(search): log debug when refreshSearch is skipped
Emit guild.search refresh skipped with reason and query length for short
or missing queries to aid diagnostics during mesh-off refresh flows.

Co-authored-by: Cursor <[email protected]>
2026-05-23 08:33:49 -04:00
Raven ScottandCursor 2f88791593 feat(search): log guild.search unchanged at debug on setSearch no-op
Helps diagnose redundant search IPC and cache hits during light view
polling without spamming info-level guild.search spans.

Co-authored-by: Cursor <[email protected]>
2026-05-23 08:26:30 -04:00
Raven ScottandCursor 5188f6ea28 fix(search): clear searchUnchanged at start of every view()
Move the one-tick searchUnchanged flag to the top of view() so full and
light polls both consume it once before async work begins.

Co-authored-by: Cursor <[email protected]>
2026-05-23 08:21:16 -04:00