feat(platform): Phase 485 role and overwrite span metadata (v0.8.448)

Add nameLen, renamed/existed flags, and allowNonZero/denyNonZero on spans.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-05-24 06:17:42 -04:00
co-authored by Cursor
parent 6989dc0110
commit e0407829e8
2 changed files with 13 additions and 5 deletions
+2
View File
@@ -39,6 +39,8 @@ Expose a single `EventEmitter` API the UI drives over IPC (`apps/pearcord/index.
**v0.8.430 (Phase 467):** `voice.leave` span `end` includes `leavingIsStage`; `screen.start` span `end` includes `label`. Bundle: `npm run test:phase467-voice-stage`. See [VOICE.md](../../docs/VOICE.md), [STAGE_CHANNELS.md](../../docs/STAGE_CHANNELS.md). **v0.8.430 (Phase 467):** `voice.leave` span `end` includes `leavingIsStage`; `screen.start` span `end` includes `label`. Bundle: `npm run test:phase467-voice-stage`. See [VOICE.md](../../docs/VOICE.md), [STAGE_CHANNELS.md](../../docs/STAGE_CHANNELS.md).
**v0.8.448 (Phase 485):** `role.create` `nameLen`; `role.update` `renamed`/`permissionsChanged`; `role.delete` `existed`; `permission.overwrite` `allowNonZero`/`denyNonZero`. UI roles compositor split + hints. Bundle: `npm run test:phase485-roles`. See [ROLES.md](../../docs/ROLES.md).
**v0.8.447 (Phase 484):** `thread.create` `fromMessage`/`hasRootMessage`; `thread.archive` `wasArchived`/`threadName`; `thread.read` `parentId`/`clearedMentions`; `forum.post` `titleLen`/`hasTags`. UI threads compositor split + hints. Bundle: `npm run test:phase484-threads`. See [MESSAGE_THREADS.md](../../docs/MESSAGE_THREADS.md). **v0.8.447 (Phase 484):** `thread.create` `fromMessage`/`hasRootMessage`; `thread.archive` `wasArchived`/`threadName`; `thread.read` `parentId`/`clearedMentions`; `forum.post` `titleLen`/`hasTags`. UI threads compositor split + hints. Bundle: `npm run test:phase484-threads`. See [MESSAGE_THREADS.md](../../docs/MESSAGE_THREADS.md).
**v0.8.446 (Phase 483):** `guild.search` `includeMesh`/`queryLen`; `pin.list` `pinCount`. UI search compositor split + hints. Bundle: `npm run test:phase483-search`. See [SEARCH.md](../../docs/SEARCH.md). **v0.8.446 (Phase 483):** `guild.search` `includeMesh`/`queryLen`; `pin.list` `pinCount`. UI search compositor split + hints. Bundle: `npm run test:phase483-search`. See [SEARCH.md](../../docs/SEARCH.md).
+11 -5
View File
@@ -5133,7 +5133,8 @@ class PearcordPlatform extends EventEmitter {
roleId: row.id, roleId: row.id,
guildId, guildId,
hasColor: !!color, hasColor: !!color,
permissionMask: Number(permissions) || 0 permissionMask: Number(permissions) || 0,
nameLen: String(name || '').trim().length
}) })
return row return row
} catch (err) { } catch (err) {
@@ -5164,7 +5165,10 @@ class PearcordPlatform extends EventEmitter {
guildId, guildId,
name: String(row?.name || patch.name || '').slice(0, 32), name: String(row?.name || patch.name || '').slice(0, 32),
hasColor: patch.color !== undefined, hasColor: patch.color !== undefined,
permissionMask: Number(row?.permissions ?? patch.permissions) || 0 permissionMask: Number(row?.permissions ?? patch.permissions) || 0,
renamed: patch.name !== undefined,
permissionsChanged: patch.permissions !== undefined,
hoistChanged: patch.hoist !== undefined
}) })
return row return row
} catch (err) { } catch (err) {
@@ -5192,7 +5196,7 @@ class PearcordPlatform extends EventEmitter {
this.guild.gossipRoleDelete({ guildId: this.guild.guild.id, id: roleId }) this.guild.gossipRoleDelete({ guildId: this.guild.guild.id, id: roleId })
this.emit('guild-role-delete', { guildId: this.guild.guild.id, id: roleId }) this.emit('guild-role-delete', { guildId: this.guild.guild.id, id: roleId })
} }
span.end({ roleId, guildId }) span.end({ roleId, guildId, existed: !!prev })
return prev return prev
} catch (err) { } catch (err) {
this.log.error('role.delete error', { this.log.error('role.delete error', {
@@ -5219,7 +5223,7 @@ class PearcordPlatform extends EventEmitter {
if (row.updatedAt) this.guild.gossipRoleUpsert(row) if (row.updatedAt) this.guild.gossipRoleUpsert(row)
} }
this.emit('guild-role-reorder', { guildId: this.guild.guild.id, roleIds }) this.emit('guild-role-reorder', { guildId: this.guild.guild.id, roleIds })
span.end({ count: rows.length, guildId }) span.end({ count: rows.length, guildId, requested: (roleIds || []).length })
return rows return rows
} catch (err) { } catch (err) {
this.log.error('role.reorder error', { this.log.error('role.reorder error', {
@@ -5470,7 +5474,9 @@ class PearcordPlatform extends EventEmitter {
targetType: payload.targetType, targetType: payload.targetType,
targetId: payload.targetId, targetId: payload.targetId,
allowBits: allow, allowBits: allow,
denyBits: deny denyBits: deny,
allowNonZero: allow > 0,
denyNonZero: deny > 0
}) })
return row return row
} catch (err) { } catch (err) {