This is an automated email from the ASF dual-hosted git repository.

lizhimins pushed a commit to branch rocketmq-studio
in repository https://gitbox.apache.org/repos/asf/rocketmq-dashboard.git


The following commit(s) were added to refs/heads/rocketmq-studio by this push:
     new 60bbb780 fix(ai): normalize provider names with root locale (#1490)
60bbb780 is described below

commit 60bbb780096619ded0d3946a30a925d13b21c6d1
Author: yyqdbngt <[email protected]>
AuthorDate: Tue Aug 11 17:49:41 2026 +0800

    fix(ai): normalize provider names with root locale (#1490)
    
    Co-authored-by: yyqdbngt <[email protected]>
---
 .../studio/ops/ai/OpenAiCompatibleLlmClient.java         |  3 ++-
 .../studio/ops/ai/OpenAiCompatibleLlmClientTest.java     | 16 ++++++++++++++++
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git 
a/server/src/main/java/org/apache/rocketmq/studio/ops/ai/OpenAiCompatibleLlmClient.java
 
b/server/src/main/java/org/apache/rocketmq/studio/ops/ai/OpenAiCompatibleLlmClient.java
index 71e11338..f8940149 100644
--- 
a/server/src/main/java/org/apache/rocketmq/studio/ops/ai/OpenAiCompatibleLlmClient.java
+++ 
b/server/src/main/java/org/apache/rocketmq/studio/ops/ai/OpenAiCompatibleLlmClient.java
@@ -37,6 +37,7 @@ import java.time.Duration;
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 import java.util.function.Consumer;
@@ -381,6 +382,6 @@ public class OpenAiCompatibleLlmClient {
     }
 
     private String normalize(String provider) {
-        return provider == null ? "" : provider.trim().toLowerCase();
+        return provider == null ? "" : 
provider.trim().toLowerCase(Locale.ROOT);
     }
 }
diff --git 
a/server/src/test/java/org/apache/rocketmq/studio/ops/ai/OpenAiCompatibleLlmClientTest.java
 
b/server/src/test/java/org/apache/rocketmq/studio/ops/ai/OpenAiCompatibleLlmClientTest.java
index 9eaef33d..6fc960b7 100644
--- 
a/server/src/test/java/org/apache/rocketmq/studio/ops/ai/OpenAiCompatibleLlmClientTest.java
+++ 
b/server/src/test/java/org/apache/rocketmq/studio/ops/ai/OpenAiCompatibleLlmClientTest.java
@@ -31,6 +31,7 @@ import java.nio.charset.StandardCharsets;
 import java.time.Duration;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Locale;
 import java.util.concurrent.atomic.AtomicReference;
 
 import static org.assertj.core.api.Assertions.assertThat;
@@ -79,6 +80,21 @@ class OpenAiCompatibleLlmClientTest {
         
assertThat(requestBody.get().path("max_tokens").asInt()).isEqualTo(256);
     }
 
+    @Test
+    void supportsShouldNormalizeProviderIndependentlyOfDefaultLocale() {
+        Locale originalLocale = Locale.getDefault();
+
+        boolean supported;
+        try {
+            Locale.setDefault(Locale.forLanguageTag("tr-TR"));
+            supported = client.supports(config("OPENAI", "sk-test"));
+        } finally {
+            Locale.setDefault(originalLocale);
+        }
+
+        assertThat(supported).isTrue();
+    }
+
     @Test
     void completeShouldNormalizeFullChatCompletionsEndpoint() {
         AtomicReference<String> requestPath = new AtomicReference<>();

Reply via email to