From 92d456dbf4fab4c5b19da9730da5560ff55fbbdc Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 21 Nov 2022 00:29:20 -0800 Subject: [PATCH] fix group sort to prevent possible loss --- src/utils/config/api-response.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/utils/config/api-response.js b/src/utils/config/api-response.js index 645f45c6f..b8de959fc 100644 --- a/src/utils/config/api-response.js +++ b/src/utils/config/api-response.js @@ -76,7 +76,8 @@ export async function servicesResponse() { ...new Set([discoveredServices.map((group) => group.name), configuredServices.map((group) => group.name)].flat()), ]; - const mergedGroups = []; + const sortedGroups = []; + const unsortedGroups = []; const definedLayouts = initialSettings.layout ? Object.keys(initialSettings.layout) : null; mergedGroupsNames.forEach((groupName) => { @@ -90,12 +91,12 @@ export async function servicesResponse() { if (definedLayouts) { const layoutIndex = definedLayouts.findIndex(layout => layout === mergedGroup.name); - if (layoutIndex > -1) mergedGroups[layoutIndex] = mergedGroup; - else mergedGroups.push(mergedGroup); + if (layoutIndex > -1) sortedGroups[layoutIndex] = mergedGroup; + else unsortedGroups.push(mergedGroup); } else { - mergedGroups.push(mergedGroup); + unsortedGroups.push(mergedGroup); } }); - return mergedGroups.filter(g => g); + return [...sortedGroups.filter(g => g), ...unsortedGroups]; }