diff --git a/Cargo.lock b/Cargo.lock index ae176a141..7ca1331ae 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1916,6 +1916,7 @@ dependencies = [ "rustls-pemfile 2.2.0", "serde", "serde_json", + "serde_yaml_ng", "sha2 0.10.9", "sqlparser", "ssfmt", @@ -7369,6 +7370,19 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "serde_yaml_ng" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4db627b98b36d4203a7b458cf3573730f2bb591b28871d916dfa9efabfd41f" +dependencies = [ + "indexmap 2.14.0", + "itoa", + "ryu", + "serde", + "unsafe-libyaml", +] + [[package]] name = "serdect" version = "0.4.3" @@ -9250,6 +9264,12 @@ dependencies = [ "ctutils", ] +[[package]] +name = "unsafe-libyaml" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" + [[package]] name = "untrusted" version = "0.7.1" diff --git a/apps/desktop/src/components/connection/ConnectionDialog.vue b/apps/desktop/src/components/connection/ConnectionDialog.vue index f0c59bd12..be5bf35c3 100644 --- a/apps/desktop/src/components/connection/ConnectionDialog.vue +++ b/apps/desktop/src/components/connection/ConnectionDialog.vue @@ -1292,9 +1292,12 @@ function buildNacosAdminConfig(): NacosAdminConfig { if (nacosImplementation.value === "rnacos" && normalized.warnings.length) { throw new Error(t("connection.nacosRNacosOpenApiRequired")); } + const rnacosConsoleConfigured = nacosImplementation.value === "rnacos" && !!nacosRNacosConsoleAddr.value.trim(); + if (nacosImplementation.value === "rnacos" && nacosHistoryEnabled.value && !rnacosConsoleConfigured) { + throw new Error(t("connection.nacosRNacosConsoleUrlRequired")); + } let rnacosConsoleAuth: NacosRNacosConsoleAuth | undefined; - if (nacosImplementation.value === "rnacos" && nacosHistoryEnabled.value) { - if (!nacosRNacosConsoleAddr.value.trim()) throw new Error(t("connection.nacosRNacosConsoleUrlRequired")); + if (rnacosConsoleConfigured) { if (nacosConsoleAuthKind.value === "inherit") { if (nacosAuthKind.value !== "usernamePassword") throw new Error(t("connection.nacosConsoleAuthSeparateRequired")); rnacosConsoleAuth = { kind: "inherit" }; @@ -1312,7 +1315,7 @@ function buildNacosAdminConfig(): NacosAdminConfig { serverAddr: normalized.serverAddr, namespace: nacosNamespace.value.trim() || undefined, contextPath: normalized.contextPath || undefined, - rnacosConsoleAddr: nacosImplementation.value === "rnacos" && nacosHistoryEnabled.value ? nacosRNacosConsoleAddr.value.trim() || undefined : undefined, + rnacosConsoleAddr: nacosImplementation.value === "rnacos" ? nacosRNacosConsoleAddr.value.trim() || undefined : undefined, rnacosHistoryEnabled: nacosImplementation.value === "rnacos" ? nacosHistoryEnabled.value : undefined, rnacosConsoleAuth, auth: buildNacosAuth(), @@ -5274,11 +5277,15 @@ function openExternalUrl(url: string) { -