From e3789a6b83485e1c27b07340368fe65f4fd9100f Mon Sep 17 00:00:00 2001 From: Darya Plotnytska Date: Tue, 18 Aug 2026 16:42:55 +0200 Subject: [PATCH 1/3] console: Fix mac settings profiles --- .../console/containers/mac-settings-profile-form/index.js | 4 ++-- sdk/js/src/service/network-server-mac-settings-profiles.js | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/pkg/webui/console/containers/mac-settings-profile-form/index.js b/pkg/webui/console/containers/mac-settings-profile-form/index.js index 9dc4b49a05..fba0ad97b0 100644 --- a/pkg/webui/console/containers/mac-settings-profile-form/index.js +++ b/pkg/webui/console/containers/mac-settings-profile-form/index.js @@ -659,7 +659,7 @@ const MACSettingsProfileForm = ({ edit, macSettingsProfile, macSettingsProfileId const handleEdit = useCallback( async (_, { setSubmitting }, cleanedValues) => { - const profileDiff = diff(macSettingsProfile, cleanedValues) + const profileDiff = diff(parsedInitialValues, cleanedValues) try { if (!isEmpty(profileDiff)) { profileDiff.ids = { @@ -686,7 +686,7 @@ const MACSettingsProfileForm = ({ edit, macSettingsProfile, macSettingsProfileId setError(error) } }, - [appId, dispatch, macSettingsProfile, macSettingsProfileId], + [appId, dispatch, parsedInitialValues, macSettingsProfileId], ) return ( diff --git a/sdk/js/src/service/network-server-mac-settings-profiles.js b/sdk/js/src/service/network-server-mac-settings-profiles.js index 522f2b3fe9..a46ccfea58 100644 --- a/sdk/js/src/service/network-server-mac-settings-profiles.js +++ b/sdk/js/src/service/network-server-mac-settings-profiles.js @@ -57,6 +57,8 @@ class NsMACSettingsProfiles { } async update(applicationId, macSettingsProfileId, patch) { + const fieldMaskPaths = Marshaler.fieldMaskFromPatch(patch) + const result = await this._api.Update( { routeParams: { @@ -65,11 +67,8 @@ class NsMACSettingsProfiles { }, }, { - mac_settings_profile_ids: { - application_ids: { application_id: applicationId }, - profile_id: macSettingsProfileId, - }, mac_settings_profile: patch, + field_mask: { paths: fieldMaskPaths }, }, ) return Marshaler.payloadSingleResponse(result) From 59b3f2005c68b168709b40ee2915ef551ae58b7e Mon Sep 17 00:00:00 2001 From: Darya Plotnytska Date: Wed, 19 Aug 2026 12:39:53 +0200 Subject: [PATCH 2/3] console: Fix end to end tests --- sdk/js/src/service/network-server-mac-settings-profiles.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/sdk/js/src/service/network-server-mac-settings-profiles.js b/sdk/js/src/service/network-server-mac-settings-profiles.js index a46ccfea58..76acfc232f 100644 --- a/sdk/js/src/service/network-server-mac-settings-profiles.js +++ b/sdk/js/src/service/network-server-mac-settings-profiles.js @@ -57,8 +57,6 @@ class NsMACSettingsProfiles { } async update(applicationId, macSettingsProfileId, patch) { - const fieldMaskPaths = Marshaler.fieldMaskFromPatch(patch) - const result = await this._api.Update( { routeParams: { @@ -68,7 +66,6 @@ class NsMACSettingsProfiles { }, { mac_settings_profile: patch, - field_mask: { paths: fieldMaskPaths }, }, ) return Marshaler.payloadSingleResponse(result) From 0bf1e2c2e07a6ba4fcca8f950ad99f5ebabc6823 Mon Sep 17 00:00:00 2001 From: Darya Plotnytska Date: Wed, 19 Aug 2026 15:55:21 +0200 Subject: [PATCH 3/3] console: Fix mac settings profile --- .../console/containers/mac-settings-profile-form/index.js | 6 ++++-- .../src/service/network-server-mac-settings-profiles.js | 8 ++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/pkg/webui/console/containers/mac-settings-profile-form/index.js b/pkg/webui/console/containers/mac-settings-profile-form/index.js index fba0ad97b0..119c5cd4cd 100644 --- a/pkg/webui/console/containers/mac-settings-profile-form/index.js +++ b/pkg/webui/console/containers/mac-settings-profile-form/index.js @@ -622,8 +622,10 @@ const MACSettingsProfileForm = ({ edit, macSettingsProfile, macSettingsProfileId } : Boolean(macSettingsProfile?.mac_settings?.adr?.static) ? { - ...initialValues.mac_settings.adr, - ...macSettingsProfile.mac_settings.adr, + static: { + ...initialValues.mac_settings.adr.static, + ...macSettingsProfile.mac_settings.adr.static, + }, } : { disabled: {}, diff --git a/sdk/js/src/service/network-server-mac-settings-profiles.js b/sdk/js/src/service/network-server-mac-settings-profiles.js index 76acfc232f..f97a6ed714 100644 --- a/sdk/js/src/service/network-server-mac-settings-profiles.js +++ b/sdk/js/src/service/network-server-mac-settings-profiles.js @@ -57,6 +57,13 @@ class NsMACSettingsProfiles { } async update(applicationId, macSettingsProfileId, patch) { + const fieldMaskPaths = Marshaler.fieldMaskFromPatch( + patch, + this._api.UpdateAllowedFieldMaskPaths, + ) + const fieldMaskPathsWithoutAncestors = fieldMaskPaths.filter( + path => !fieldMaskPaths.some(other => other !== path && other.startsWith(`${path}.`)), + ) const result = await this._api.Update( { routeParams: { @@ -66,6 +73,7 @@ class NsMACSettingsProfiles { }, { mac_settings_profile: patch, + field_mask: { paths: fieldMaskPathsWithoutAncestors }, }, ) return Marshaler.payloadSingleResponse(result)