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

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


The following commit(s) were added to refs/heads/master by this push:
     new 8cc7d6a  [ISSUE #341] Add url parameter transcoding (#342)
8cc7d6a is described below

commit 8cc7d6a7273aece9293def8eeb0fdfbbabd4faee
Author: Crazylychee <[email protected]>
AuthorDate: Wed Jul 16 18:53:54 2025 +0800

    [ISSUE #341] Add url parameter transcoding (#342)
    
    * [Enhancement] ACL can add rules in clusters and fix ISSUE #297
    
    * rollback the yml change
    
    * [ISSUE #341] Add url parameter transcoding
    
    * [ISSUE #344] fix maven package display errors and npm i failed
---
 frontend-new/package-lock.json                     | 34 +++++++---------------
 frontend-new/package.json                          |  4 +--
 frontend-new/src/api/remoteApi/remoteApi.js        | 12 ++++----
 pom.xml                                            |  2 +-
 .../dashboard/admin/MQAdminExtImplTest.java        | 22 +-------------
 5 files changed, 21 insertions(+), 53 deletions(-)

diff --git a/frontend-new/package-lock.json b/frontend-new/package-lock.json
index 616af0b..1568768 100644
--- a/frontend-new/package-lock.json
+++ b/frontend-new/package-lock.json
@@ -19,11 +19,11 @@
         "echarts": "^5.6.0",
         "framer-motion": "^12.16.0",
         "http-proxy-middleware": "^3.0.5",
-        "i18next": "^25.1.3",
+        "i18next": "^23.2.3",
         "moment": "^2.30.1",
         "react": "^19.1.0",
         "react-dom": "^19.1.0",
-        "react-i18next": "^15.5.1",
+        "react-i18next": "14.1.3",
         "react-redux": "^9.2.0",
         "react-router-dom": "^7.6.0",
         "react-scripts": "5.0.1",
@@ -8918,9 +8918,9 @@
       }
     },
     "node_modules/i18next": {
-      "version": "25.1.3",
-      "resolved": 
"https://registry.npmmirror.com/i18next/-/i18next-25.1.3.tgz";,
-      "integrity": 
"sha512-VY1iKox3YWPRTNMHFdgk5TV+Jq6rNKexLCLpPmP5oXXJ5Kl7yDBi3ycZ5fyEKZ1tNBW5gOqD4WV0XqE7rl3JUg==",
+      "version": "23.16.8",
+      "resolved": 
"https://registry.npmmirror.com/i18next/-/i18next-23.16.8.tgz";,
+      "integrity": 
"sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==",
       "funding": [
         {
           "type": "individual",
@@ -8936,15 +8936,7 @@
         }
       ],
       "dependencies": {
-        "@babel/runtime": "^7.27.1"
-      },
-      "peerDependencies": {
-        "typescript": "^5"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
+        "@babel/runtime": "^7.23.2"
       }
     },
     "node_modules/iconv-lite": {
@@ -14000,17 +13992,16 @@
       "integrity": 
"sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ=="
     },
     "node_modules/react-i18next": {
-      "version": "15.5.1",
-      "resolved": 
"https://registry.npmmirror.com/react-i18next/-/react-i18next-15.5.1.tgz";,
-      "integrity": 
"sha512-C8RZ7N7H0L+flitiX6ASjq9p5puVJU1Z8VyL3OgM/QOMRf40BMZX+5TkpxzZVcTmOLPX5zlti4InEX5pFyiVeA==",
+      "version": "14.1.3",
+      "resolved": 
"https://registry.npmmirror.com/react-i18next/-/react-i18next-14.1.3.tgz";,
+      "integrity": 
"sha512-wZnpfunU6UIAiJ+bxwOiTmBOAaB14ha97MjOEnLGac2RJ+h/maIYXZuTHlmyqQVX1UVHmU1YDTQ5vxLmwfXTjw==",
       "dependencies": {
-        "@babel/runtime": "^7.25.0",
+        "@babel/runtime": "^7.23.9",
         "html-parse-stringify": "^3.0.1"
       },
       "peerDependencies": {
         "i18next": ">= 23.2.3",
-        "react": ">= 16.8.0",
-        "typescript": "^5"
+        "react": ">= 16.8.0"
       },
       "peerDependenciesMeta": {
         "react-dom": {
@@ -14018,9 +14009,6 @@
         },
         "react-native": {
           "optional": true
-        },
-        "typescript": {
-          "optional": true
         }
       }
     },
diff --git a/frontend-new/package.json b/frontend-new/package.json
index d361cdf..4cb2d20 100644
--- a/frontend-new/package.json
+++ b/frontend-new/package.json
@@ -14,11 +14,11 @@
     "echarts": "^5.6.0",
     "framer-motion": "^12.16.0",
     "http-proxy-middleware": "^3.0.5",
-    "i18next": "^25.1.3",
+    "i18next": "^23.2.3",
     "moment": "^2.30.1",
     "react": "^19.1.0",
     "react-dom": "^19.1.0",
-    "react-i18next": "^15.5.1",
+    "react-i18next": "14.1.3",
     "react-redux": "^9.2.0",
     "react-router-dom": "^7.6.0",
     "react-scripts": "5.0.1",
diff --git a/frontend-new/src/api/remoteApi/remoteApi.js 
b/frontend-new/src/api/remoteApi/remoteApi.js
index d2390f5..fd6c7fe 100644
--- a/frontend-new/src/api/remoteApi/remoteApi.js
+++ b/frontend-new/src/api/remoteApi/remoteApi.js
@@ -316,7 +316,7 @@ const remoteApi = {
      */
     queryMessageByTopicAndKey: async (topic, key) => {
         try {
-            const response = await 
remoteApi._fetch(remoteApi.buildUrl(`/message/queryMessageByTopicAndKey.query?topic=${topic}&key=${key}`));
+            const response = await 
remoteApi._fetch(remoteApi.buildUrl(`/message/queryMessageByTopicAndKey.query?topic=${encodeURIComponent(topic)}&key=${key}`));
             const data = await response.json();
             return data;
         } catch (error) {
@@ -559,7 +559,7 @@ const remoteApi = {
 
     getTopicStats: async (topic) => {
         try {
-            const response = await 
remoteApi._fetch(remoteApi.buildUrl(`/topic/stats.query?topic=${topic}`));
+            const response = await 
remoteApi._fetch(remoteApi.buildUrl(`/topic/stats.query?topic=${encodeURIComponent(topic)}`));
             return await response.json();
         } catch (error) {
             console.error("Error fetching topic stats:", error);
@@ -569,7 +569,7 @@ const remoteApi = {
 
     getTopicRoute: async (topic) => {
         try {
-            const response = await 
remoteApi._fetch(remoteApi.buildUrl(`/topic/route.query?topic=${topic}`));
+            const response = await 
remoteApi._fetch(remoteApi.buildUrl(`/topic/route.query?topic=${encodeURIComponent(topic)}`));
             return await response.json();
         } catch (error) {
             console.error("Error fetching topic route:", error);
@@ -579,7 +579,7 @@ const remoteApi = {
 
     getTopicConsumers: async (topic) => {
         try {
-            const response = await 
remoteApi._fetch(remoteApi.buildUrl(`/topic/queryConsumerByTopic.query?topic=${topic}`));
+            const response = await 
remoteApi._fetch(remoteApi.buildUrl(`/topic/queryConsumerByTopic.query?topic=${encodeURIComponent(topic)}`));
             return await response.json();
         } catch (error) {
             console.error("Error fetching topic consumers:", error);
@@ -589,7 +589,7 @@ const remoteApi = {
 
     getTopicConsumerGroups: async (topic) => {
         try {
-            const response = await 
remoteApi._fetch(remoteApi.buildUrl(`/topic/queryTopicConsumerInfo.query?topic=${topic}`));
+            const response = await 
remoteApi._fetch(remoteApi.buildUrl(`/topic/queryTopicConsumerInfo.query?topic=${encodeURIComponent(topic)}`));
             return await response.json();
         } catch (error) {
             console.error("Error fetching consumer groups:", error);
@@ -599,7 +599,7 @@ const remoteApi = {
 
     getTopicConfig: async (topic) => {
         try {
-            const response = await 
remoteApi._fetch(remoteApi.buildUrl(`/topic/examineTopicConfig.query?topic=${topic}`));
+            const response = await 
remoteApi._fetch(remoteApi.buildUrl(`/topic/examineTopicConfig.query?topic=${encodeURIComponent(topic)}`));
             return await response.json();
         } catch (error) {
             console.error("Error fetching topic config:", error);
diff --git a/pom.xml b/pom.xml
index 0726fdf..6f7692d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -448,7 +448,7 @@
                             <goal>npm</goal>
                         </goals>
                         <configuration>
-                            <arguments>install --legacy-peer-deps</arguments>
+                            <arguments>install</arguments>
                         </configuration>
                     </execution>
                     <execution>
diff --git 
a/src/test/java/org/apache/rocketmq/dashboard/admin/MQAdminExtImplTest.java 
b/src/test/java/org/apache/rocketmq/dashboard/admin/MQAdminExtImplTest.java
index ba56b80..3db99ee 100644
--- a/src/test/java/org/apache/rocketmq/dashboard/admin/MQAdminExtImplTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/admin/MQAdminExtImplTest.java
@@ -589,26 +589,6 @@ public class MQAdminExtImplTest {
         Assert.assertNotNull(result);
     }
 
-    @Test
-    public void testStart() {
-        assertNotNull(mqAdminExtImpl);
-        try {
-            mqAdminExtImpl.start();
-        } catch (Exception e) {
-            Assert.assertTrue(e instanceof IllegalStateException);
-        }
-    }
-
-    @Test
-    public void testShutdown() {
-        assertNotNull(mqAdminExtImpl);
-        try {
-            mqAdminExtImpl.shutdown();
-        } catch (Exception e) {
-            Assert.assertTrue(e instanceof IllegalStateException);
-        }
-    }
-
     @Test
     public void testQueryConsumeTimeSpan() throws Exception {
         assertNotNull(mqAdminExtImpl);
@@ -659,7 +639,7 @@ public class MQAdminExtImplTest {
         {
             when(defaultMQAdminExt.viewBrokerStatsData(anyString(), 
anyString(), anyString())).thenReturn(new BrokerStatsData());
         }
-        BrokerStatsData brokerStatsData = 
mqAdminExtImpl.viewBrokerStatsData(brokerAddr, 
BrokerStatsManager.TOPIC_PUT_NUMS, "topic_test");
+        BrokerStatsData brokerStatsData = 
mqAdminExtImpl.viewBrokerStatsData(brokerAddr, 
BrokerStatsManager.BROKER_ACK_NUMS, "topic_test");
         Assert.assertNotNull(brokerStatsData);
     }
 

Reply via email to