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 75D1C1FF187 for ; Tue, 18 Nov 2025 17:27:18 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id A66681AD9A; Tue, 18 Nov 2025 17:27:22 +0100 (CET) From: Filip Schauer To: pve-devel@lists.proxmox.com Date: Tue, 18 Nov 2025 17:26:20 +0100 Message-ID: <20251118162628.180674-2-f.schauer@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251118162628.180674-1-f.schauer@proxmox.com> References: <20251118162628.180674-1-f.schauer@proxmox.com> MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1763483209365 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.006 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 SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [fedoraproject.org] Subject: [pve-devel] [PATCH manager 1/2] ui: storage: oci registry pull: fix reference parsing X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" Fixes an issue where pasting an OCI image reference with a additional prefix (for example docker://registry.fedoraproject.org/fedora:latest) into the reference field caused the tag parser to split the string incorrectly. With this patch the tag is only moved when a valid OCI reference is entered. Signed-off-by: Filip Schauer --- www/manager6/storage/TemplateView.js | 30 +++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/www/manager6/storage/TemplateView.js b/www/manager6/storage/TemplateView.js index d570efb4..6ce6d1f6 100644 --- a/www/manager6/storage/TemplateView.js +++ b/www/manager6/storage/TemplateView.js @@ -201,15 +201,31 @@ Ext.define('PVE.storage.OciRegistryPull', { let view = me.getView(); let tagField = view.down('[name=tag]'); tagField.setComboItems([]); + let matches = me.parseReference(value); + if (matches) { + let ref = matches[0]; + let tag = matches[1]; + + if (tag) { + field.setValue(ref); + tagField.setValue(tag); + tagField.focus(); + } else { + tagField.clearValue(); + } + } + }, - let parts = value.split(':'); - if (parts.length > 1) { - field.setValue(parts[0]); - tagField.setValue(parts[1]); - tagField.focus(); - } else { - tagField.clearValue(); + parseReference: function (value) { + const re = + /^((?:(?:[a-zA-Z\d]|[a-zA-Z\d][a-zA-Z\d-]*[a-zA-Z\d])(?:\.(?:[a-zA-Z\d]|[a-zA-Z\d][a-zA-Z\d-]*[a-zA-Z\d]))*(?::\d+)?\/)?[a-z\d]+(?:(?:[._]|__|[-]*)[a-z\d]+)*(?:\/[a-z\d]+(?:(?:[._]|__|[-]*)[a-z\d]+)*)*)(:(\w[\w.-]{0,127}))?$/; + let matches = value.match(re); + if (matches) { + let ref = matches[1]; + let tag = matches[3]; + return [ref, tag]; } + return undefined; }, queryTags: function (field) { -- 2.47.3 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel