From 329f76b7ced4f84bbd23ff39469e54d98b317d13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carl-Gerhard=20Lindesva=CC=88rd?= Date: Mon, 15 Dec 2025 22:11:07 +0100 Subject: [PATCH] fix: avoid overwrite profile properties (geo etc) when profile is from server --- packages/db/src/buffers/profile-buffer.ts | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/packages/db/src/buffers/profile-buffer.ts b/packages/db/src/buffers/profile-buffer.ts index 7bfb9c80..fc82937f 100644 --- a/packages/db/src/buffers/profile-buffer.ts +++ b/packages/db/src/buffers/profile-buffer.ts @@ -68,6 +68,30 @@ export class ProfileBuffer extends BaseBuffer { const existingProfile = await this.fetchProfile(profile, logger); + // Delete any properties that are not server related if we have a non-server profile + if ( + existingProfile?.properties.device !== 'server' && + profile.properties.device === 'server' + ) { + profile.properties = omit( + [ + 'city', + 'country', + 'region', + 'longitude', + 'latitude', + 'os', + 'osVersion', + 'browser', + 'device', + 'isServer', + 'os_version', + 'browser_version', + ], + profile.properties, + ); + } + const mergedProfile: IClickhouseProfile = existingProfile ? deepMergeObjects(existingProfile, omit(['created_at'], profile)) : profile;