From 4c5acc1940e8a4b42618ec8821adc7902eeda41c Mon Sep 17 00:00:00 2001 From: Ginger Date: Sat, 20 Sep 2025 16:40:18 -0400 Subject: [PATCH] Use proper deep comparison for hasChanged --- .../features/settings/account/fields/ProfileFieldContext.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/features/settings/account/fields/ProfileFieldContext.tsx b/src/app/features/settings/account/fields/ProfileFieldContext.tsx index 4045d3cb..57447a59 100644 --- a/src/app/features/settings/account/fields/ProfileFieldContext.tsx +++ b/src/app/features/settings/account/fields/ProfileFieldContext.tsx @@ -6,6 +6,7 @@ import React, { useMemo, useState, } from 'react'; +import { deepCompare } from 'matrix-js-sdk/lib/utils'; import { ExtendedProfile } from '../../../../hooks/useExtendedProfile'; type ExtendedProfileKeys = keyof { @@ -71,8 +72,7 @@ export function ProfileFieldContext({ () => Object.entries(fields).find( ([key, value]) => - // this is a hack but ExtendedProfile is always valid JSON anyway - JSON.stringify(fieldDefaults[key as keyof ExtendedProfile]) !== JSON.stringify(value) + deepCompare(fieldDefaults[key as keyof ExtendedProfile], value) ) !== undefined, [fields, fieldDefaults] );