From 8f8775cb93db6979bff388047e78f2c92ac74b67 Mon Sep 17 00:00:00 2001 From: miloschwartz Date: Sun, 1 Feb 2026 17:37:18 -0800 Subject: [PATCH] override device name with computed device name on register --- server/routers/olm/handleOlmRegisterMessage.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/server/routers/olm/handleOlmRegisterMessage.ts b/server/routers/olm/handleOlmRegisterMessage.ts index db156c2c..e4bb6f4f 100644 --- a/server/routers/olm/handleOlmRegisterMessage.ts +++ b/server/routers/olm/handleOlmRegisterMessage.ts @@ -13,6 +13,7 @@ import { checkOrgAccessPolicy } from "#dynamic/lib/checkOrgAccessPolicy"; import { validateSessionToken } from "@server/auth/sessions/app"; import { encodeHexLowerCase } from "@oslojs/encoding"; import { sha256 } from "@oslojs/crypto/sha2"; +import { getUserDeviceName } from "@server/db/names"; import { buildSiteConfigurationForOlmClient } from "./buildConfiguration"; import { OlmErrorCodes, sendOlmError } from "./error"; import { handleFingerprintInsertion } from "./fingerprintingUtils"; @@ -97,6 +98,21 @@ export const handleOlmRegisterMessage: MessageHandler = async (context) => { return; } + const deviceModel = fingerprint?.deviceModel ?? null; + const computedName = getUserDeviceName(deviceModel, client.name); + if (computedName && computedName !== client.name) { + await db + .update(clients) + .set({ name: computedName }) + .where(eq(clients.clientId, client.clientId)); + } + if (computedName && computedName !== olm.name) { + await db + .update(olms) + .set({ name: computedName }) + .where(eq(olms.olmId, olm.olmId)); + } + const [org] = await db .select() .from(orgs)