From 12bcd1d8f31dde39a2e33f3722b19b8c47e88733 Mon Sep 17 00:00:00 2001 From: null Date: Sun, 7 Jun 2026 18:05:09 -0500 Subject: [PATCH] fix(auth): oidc service updates --- services/oidcService.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/oidcService.js b/services/oidcService.js index 5ead3f8..36ee796 100644 --- a/services/oidcService.js +++ b/services/oidcService.js @@ -707,11 +707,12 @@ async function findOrProvisionUser(claims, config) { throw Object.assign(new Error('This account is inactive.'), { status: 403 }); } - // Refresh login timestamp and display name from provider claims + // Refresh login timestamp; only seed display_name from provider on first login + // (display_name IS NULL). Once the user has set one manually, preserve it. db.prepare(` UPDATE users SET last_login_at = datetime('now'), - display_name = COALESCE(?, display_name), + display_name = CASE WHEN display_name IS NULL THEN ? ELSE display_name END, updated_at = datetime('now') WHERE id = ? `).run(claims.name || null, user.id);