From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 612E01FF183 for ; Wed, 3 Dec 2025 20:16:51 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 8FE66126AC; Wed, 3 Dec 2025 20:17:17 +0100 (CET) From: "Max R. Carrara" To: pdm-devel@lists.proxmox.com Date: Wed, 3 Dec 2025 20:17:11 +0100 Message-ID: <20251203191713.942001-1-m.carrara@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1764789388311 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.087 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pdm-devel] [PATCH datacenter-manager v1] ui: remote wizard: fix "invalid uri character" when adding PBS remote X-BeenThere: pdm-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Datacenter Manager development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pdm-devel-bounces@lists.proxmox.com Sender: "pdm-devel" ... by normalizing the hostname in the form context directly when the user clicks on "Next" in the remote addition wizard. This is necessary because the wizard takes the values for submission directly from its form context. This is somewhat easy to run into, e.g. if one copy-pastes the URL of the PBS remote to add from another browser tab. Signed-off-by: Max R. Carrara --- Note: I'm not sure if there's a more elegant way to do this; if there is, please let me know! ui/src/remotes/wizard_page_connect.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ui/src/remotes/wizard_page_connect.rs b/ui/src/remotes/wizard_page_connect.rs index 789c522..fb04f60 100644 --- a/ui/src/remotes/wizard_page_connect.rs +++ b/ui/src/remotes/wizard_page_connect.rs @@ -45,7 +45,7 @@ pub struct ConnectParams { } async fn connect(form_ctx: FormContext, remote_type: RemoteType) -> Result { - let hostname = normalize_hostname(form_ctx.read().get_field_text("hostname")); + let hostname = form_ctx.read().get_field_text("hostname"); let fingerprint = get_fingerprint(&form_ctx); let pdm_client = crate::pdm_client(); match remote_type { @@ -170,6 +170,14 @@ impl Component for PdmWizardPageConnect { self.loading = true; props.info.page_lock(true); + let form_ctx = props.info.form_ctx.clone(); + + let mut guard = form_ctx.write(); + let hostname = guard.get_field_text("hostname"); + let new_hostname = normalize_hostname(hostname); + guard.set_field_value("hostname", new_hostname.into()); + drop(guard); + self.scan_guard = Some(AsyncAbortGuard::spawn({ let link = ctx.link().clone(); let form_ctx = props.info.form_ctx.clone(); @@ -270,7 +278,7 @@ fn call_on_connect_change(props: &WizardPageConnect, certificate_info: Option