From 092fbb206f617b3e45524e2d24624c56546c888e Mon Sep 17 00:00:00 2001 From: Anupam Kumar Date: Thu, 1 Aug 2024 13:10:40 +0530 Subject: [PATCH] fix(AdminSettings/AI): show pref list of only the enabled translation providers Signed-off-by: Anupam Kumar --- .../settings/lib/Settings/Admin/ArtificialIntelligence.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/settings/lib/Settings/Admin/ArtificialIntelligence.php b/apps/settings/lib/Settings/Admin/ArtificialIntelligence.php index 41b9e837c7e1c..ec266f7098784 100644 --- a/apps/settings/lib/Settings/Admin/ArtificialIntelligence.php +++ b/apps/settings/lib/Settings/Admin/ArtificialIntelligence.php @@ -138,7 +138,12 @@ public function getForm() { $value = array_merge($defaultValue, $value); break; case 'ai.translation_provider_preferences': - $value += array_diff($defaultValue, $value); // Add entries from $defaultValue that are not in $value to the end of $value + // Only show entries from $value (saved pref list) that are in $defaultValue (enabled providers) + // and add all providers that are enabled but not in the pref list + if (!is_array($defaultValue)) { + break; + } + $value = array_values(array_unique(array_merge(array_intersect($value, $defaultValue), $defaultValue), SORT_STRING)); break; default: break;