feat(platform): extend invite span metadata for Phase 566 (v0.8.529)

Add textChannelCount and guildCount on guild.invite; guildCount on invite.revoke.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-05-24 14:57:14 -04:00
co-authored by Cursor
parent dc3fe9525a
commit 427f3cb598
2 changed files with 13 additions and 8 deletions
+2
View File
@@ -223,6 +223,8 @@ Expose a single `EventEmitter` API the UI drives over IPC (`apps/pearcord/index.
**v0.8.496 (Phase 533):** Guild-admin spans extend — `channel.create`/`delete`/`reorder` end metadata (`spanKind`, `activeChannelId`, `createdChannelId`). UI panel compositor wrappers, channel row `aria-current=location`, clipboard guild-admin busy flags. Bundle: `npm run test:phase533-guild-admin`. See [CHANNELS.md](../../docs/CHANNELS.md). **v0.8.496 (Phase 533):** Guild-admin spans extend — `channel.create`/`delete`/`reorder` end metadata (`spanKind`, `activeChannelId`, `createdChannelId`). UI panel compositor wrappers, channel row `aria-current=location`, clipboard guild-admin busy flags. Bundle: `npm run test:phase533-guild-admin`. See [CHANNELS.md](../../docs/CHANNELS.md).
**v0.8.529 (Phase 566):** Invite spans extend — `guild.invite` (`textChannelCount`, `guildCount`), `invite.revoke` (`guildCount`). UI `#invites-panel-live` + `syncInvitesLivePanelDuringGuildLoading`; **invite-errors** excludes dm/contacts/discovery/presence bleed; clipboard `invitesPanelLiveBusy`/`invitesHubChromeBusy`/`channelGuildTextChannelCount`. Bundle: `npm run test:phase566-invites`. See [INVITES.md](../../docs/INVITES.md).
**v0.8.511 (Phase 548):** Invite spans extend — `guild.invite` (`maxUses`, `activeChannelId`), `invite.revoke` (`activeChannelId`). UI split hub buttons/banner + join/invite modal panels, `.invite-modal-live`, clipboard `invitesJoinModalBusy`/`invitesInviteModalBusy`. ui-flow composer focus after `create-invite`. Bundle: `npm run test:phase548-invites`. See [INVITES.md](../../docs/INVITES.md). **v0.8.511 (Phase 548):** Invite spans extend — `guild.invite` (`maxUses`, `activeChannelId`), `invite.revoke` (`activeChannelId`). UI split hub buttons/banner + join/invite modal panels, `.invite-modal-live`, clipboard `invitesJoinModalBusy`/`invitesInviteModalBusy`. ui-flow composer focus after `create-invite`. Bundle: `npm run test:phase548-invites`. See [INVITES.md](../../docs/INVITES.md).
**v0.8.495 (Phase 532):** Invite spans extend — `guild.invite` (`spanKind`, `hasShareCode`), `invite.join` (`activeChannelId`, `guildCount`, `spanKind`), `invite.revoke` (`spanKind`). UI split compositor (`syncInvitesHubPanelDuringGuildLoading`, `syncInvitesJoinPanelDuringGuildLoading`, `syncInvitesInvitePanelDuringGuildLoading`), invite code `aria-current=location`, clipboard `invitesHubBusy`/`invitesHubButtonsBusy`/`inviteCopyBusy`. Bundle: `npm run test:phase532-invites`. See [INVITES.md](../../docs/INVITES.md). **v0.8.495 (Phase 532):** Invite spans extend — `guild.invite` (`spanKind`, `hasShareCode`), `invite.join` (`activeChannelId`, `guildCount`, `spanKind`), `invite.revoke` (`spanKind`). UI split compositor (`syncInvitesHubPanelDuringGuildLoading`, `syncInvitesJoinPanelDuringGuildLoading`, `syncInvitesInvitePanelDuringGuildLoading`), invite code `aria-current=location`, clipboard `invitesHubBusy`/`invitesHubButtonsBusy`/`inviteCopyBusy`. Bundle: `npm run test:phase532-invites`. See [INVITES.md](../../docs/INVITES.md).
+5 -2
View File
@@ -7348,7 +7348,8 @@ class PearcordPlatform extends EventEmitter {
guildId, guildId,
code: result?.code || null, code: result?.code || null,
revoked: !!result?.revoked, revoked: !!result?.revoked,
activeChannelId: this.activeChannelId || null activeChannelId: this.activeChannelId || null,
guildCount: (this.guilds || []).length
}) })
return result return result
} catch (err) { } catch (err) {
@@ -7384,10 +7385,12 @@ class PearcordPlatform extends EventEmitter {
code: inv?.code || null, code: inv?.code || null,
shareCodeLen: (inv?.shareCode || '').length, shareCodeLen: (inv?.shareCode || '').length,
channelCount: channels?.length || 0, channelCount: channels?.length || 0,
textChannelCount: (channels || []).filter((c) => c.type === 'text').length,
expiresAt: inv?.expiresAt || null, expiresAt: inv?.expiresAt || null,
maxUses: inv?.maxUses ?? null, maxUses: inv?.maxUses ?? null,
hasShareCode: !!(inv?.shareCode || inv?.code), hasShareCode: !!(inv?.shareCode || inv?.code),
activeChannelId: this.activeChannelId || null activeChannelId: this.activeChannelId || null,
guildCount: (this.guilds || []).length
}) })
return inv return inv
} catch (err) { } catch (err) {