fix(core): Make profile update telemetry consistent with account creation (no-changelog) (#38290)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Romeo Balta 2026-09-11 07:51:35 +00:00 committed by GitHub
parent dd86cab539
commit d7e50cda01
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 26 additions and 13 deletions

View File

@ -2537,7 +2537,7 @@ describe('TelemetryEventRelay', () => {
});
describe('user events', () => {
it('should track on `user-updated` event', () => {
describe('on `user-updated` event', () => {
const event: RelayEventMap['user-updated'] = {
user: {
id: 'user123',
@ -2549,18 +2549,31 @@ describe('TelemetryEventRelay', () => {
fieldsChanged: ['firstName', 'lastName'],
};
eventService.emit('user-updated', event);
it('should track without `user_email` on a self-hosted deployment', () => {
eventService.emit('user-updated', event);
expect(telemetry.identify).toHaveBeenCalledWith(
{
user_role: GLOBAL_OWNER_ROLE.slug,
user_email: 'user@example.com',
},
'user123',
);
expect(telemetry.track).toHaveBeenCalledWith('User changed personal settings', {
user_id: 'user123',
fields_changed: ['firstName', 'lastName'],
expect(telemetry.identify).toHaveBeenCalledWith(
{ user_role: GLOBAL_OWNER_ROLE.slug },
'user123',
);
expect(telemetry.track).toHaveBeenCalledWith('User changed personal settings', {
user_id: 'user123',
fields_changed: ['firstName', 'lastName'],
});
});
it('should track with `user_email` on a cloud deployment', () => {
globalConfig.deployment.type = 'cloud';
try {
eventService.emit('user-updated', event);
} finally {
globalConfig.deployment.type = 'default';
}
expect(telemetry.identify).toHaveBeenCalledWith(
{ user_role: GLOBAL_OWNER_ROLE.slug, user_email: 'user@example.com' },
'user123',
);
});
});

View File

@ -1866,7 +1866,7 @@ export class TelemetryEventRelay extends EventRelay {
this.telemetry.identify(
{
user_role: user?.role?.slug,
user_email: user.email,
...(this.globalConfig.deployment.type === 'cloud' && { user_email: user.email }),
},
user.id,
);