From 552ceefec2d9e002a5f631fdf1931b7460ab9a7e Mon Sep 17 00:00:00 2001 From: LukeGus Date: Thu, 16 Jul 2026 14:49:35 -0500 Subject: [PATCH] feat: remove legacy "data_unlocked" field --- src/backend/database/routes/user-webauthn-routes.ts | 5 ++--- src/backend/database/routes/users.ts | 9 ++++----- src/ui/main-axios.ts | 3 --- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/backend/database/routes/user-webauthn-routes.ts b/src/backend/database/routes/user-webauthn-routes.ts index d0a9035e..2d247dcd 100644 --- a/src/backend/database/routes/user-webauthn-routes.ts +++ b/src/backend/database/routes/user-webauthn-routes.ts @@ -465,12 +465,12 @@ export function registerUserWebAuthnRoutes( } const deviceInfo = parseUserAgent(req); - const dataUnlocked = await authManager.authenticateWebAuthnUser( + const authenticated = await authManager.authenticateWebAuthnUser( userRecord.id, deviceInfo.type, ); - if (!dataUnlocked) { + if (!authenticated) { return res.status(401).json({ error: "Passkey cannot unlock this account. Log in with password and register the passkey again.", @@ -530,7 +530,6 @@ export function registerUserWebAuthnRoutes( userId: userRecord.id, is_oidc: !!userRecord.isOidc, totp_enabled: !!userRecord.totpEnabled, - data_unlocked: true, ...(isNativeAppRequest(req) ? { token } : {}), }); } catch (error) { diff --git a/src/backend/database/routes/users.ts b/src/backend/database/routes/users.ts index 3f576808..53d98611 100644 --- a/src/backend/database/routes/users.ts +++ b/src/backend/database/routes/users.ts @@ -1510,21 +1510,21 @@ router.post("/login", async (req, res) => { const deviceInfo = parseUserAgent(req); - let dataUnlocked = false; + let authenticated = false; if (userRecord.isOidc) { - dataUnlocked = await authManager.authenticateOIDCUser( + authenticated = await authManager.authenticateOIDCUser( userRecord.id, deviceInfo.type, ); } else { - dataUnlocked = await authManager.authenticateUser( + authenticated = await authManager.authenticateUser( userRecord.id, password, deviceInfo.type, ); } - if (!dataUnlocked) { + if (!authenticated) { return res.status(401).json({ error: "Incorrect password" }); } @@ -1771,7 +1771,6 @@ router.get("/me", authenticateJWT, async (req: Request, res: Response) => { is_oidc: !!user.isOidc, is_dual_auth: isDualAuth, totp_enabled: !!user.totpEnabled, - data_unlocked: authManager.isUserUnlocked(userId), }); } catch (err) { authLogger.error("Failed to get username", err); diff --git a/src/ui/main-axios.ts b/src/ui/main-axios.ts index bdd5b82f..c141d15d 100644 --- a/src/ui/main-axios.ts +++ b/src/ui/main-axios.ts @@ -188,7 +188,6 @@ export interface AuthResponse { userId?: string; is_oidc?: boolean; totp_enabled?: boolean; - data_unlocked?: boolean; requires_totp?: boolean; temp_token?: string; rememberMe?: boolean; @@ -201,7 +200,6 @@ export interface UserInfo { username: string; is_admin: boolean; is_oidc: boolean; - data_unlocked: boolean; password_hash?: string; } @@ -1716,7 +1714,6 @@ export async function loginUser( rememberMe: response.data.rememberMe, is_oidc: response.data.is_oidc, totp_enabled: response.data.totp_enabled, - data_unlocked: response.data.data_unlocked, token: response.data.token, }; } catch (error) {