From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id C57621FF13E for ; Fri, 03 Apr 2026 14:16:28 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 2FABA37E9; Fri, 3 Apr 2026 14:16:59 +0200 (CEST) Message-ID: <8ccb253c-aa8a-4f8c-a7d6-e19f58c8e779@proxmox.com> Date: Fri, 3 Apr 2026 14:16:54 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta Subject: Re: [PATCH proxmox-backup 12/20] ui: define and expose encryption key management menu item and windows To: Christian Ebner , pbs-devel@lists.proxmox.com References: <20260401075521.176354-1-c.ebner@proxmox.com> <20260401075521.176354-13-c.ebner@proxmox.com> Content-Language: en-US From: Dominik Csapak In-Reply-To: <20260401075521.176354-13-c.ebner@proxmox.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1775218554771 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.048 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 Message-ID-Hash: NMTVATNA3NKUQB7BMJNCU54S5R2E7YEP X-Message-ID-Hash: NMTVATNA3NKUQB7BMJNCU54S5R2E7YEP X-MailFrom: d.csapak@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox Backup Server development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: aside from what thomas found imo mostly ok one comment inline On 4/1/26 9:55 AM, Christian Ebner wrote: [snip] > diff --git a/www/config/EncryptionKeysView.js b/www/config/EncryptionKeysView.js > new file mode 100644 > index 000000000..965dec47c > --- /dev/null > +++ b/www/config/EncryptionKeysView.js > @@ -0,0 +1,143 @@ > +Ext.define('pbs-encryption-keys', { > + extend: 'Ext.data.Model', > + fields: ['id', 'fingerprint', 'created'], > + idProperty: 'id', > + proxy: { > + type: 'proxmox', > + url: '/api2/json/config/encryption-keys', > + }, > +}); > + > +Ext.define('PBS.config.EncryptionKeysView', { > + extend: 'Ext.grid.GridPanel', > + alias: 'widget.pbsEncryptionKeysView', > + > + title: gettext('Encryption Keys'), > + > + stateful: true, > + stateId: 'grid-encryption-keys', > + > + controller: { > + xclass: 'Ext.app.ViewController', > + > + addEncryptionKey: function () { > + let me = this; > + Ext.create('PBS.window.EncryptionKeysEdit', { > + listeners: { > + destroy: function () { > + me.reload(); > + }, > + }, > + }).show(); > + }, > + > + removeEncryptionKey: function () { > + let me = this; > + let view = me.getView(); > + let selection = view.getSelection(); > + > + if (!selection || selection.length < 1) { > + return; > + } > + > + let keyID = selection[0].data.id; > + > + Ext.create('Proxmox.window.SafeDestroy', { > + url: `/api2/json/config/encryption-keys/${keyID}`, we should probably use '/api2/extjs' here, at least in my setup this leads to an 'unknown error' popup when deleting a key