From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pve-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
	by lore.proxmox.com (Postfix) with ESMTPS id 8CB581FF56B
	for <inbox@lore.proxmox.com>; Mon, 22 Apr 2024 12:08:07 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 49BF4E131;
	Mon, 22 Apr 2024 12:08:12 +0200 (CEST)
Date: Mon, 22 Apr 2024 12:01:10 +0200 (CEST)
To: pve-devel <pve-devel@lists.proxmox.com>
In-Reply-To: <mailman.1.1713780001.40445.pve-devel@lists.proxmox.com>
References: <mailman.1.1713780001.40445.pve-devel@lists.proxmox.com>
MIME-Version: 1.0
Message-ID: <mailman.839.1713780491.450.pve-devel@lists.proxmox.com>
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Post: <mailto:pve-devel@lists.proxmox.com>
From: Lucio Magini via pve-devel <pve-devel@lists.proxmox.com>
Precedence: list
Cc: Lucio Magini <lucio.magini@abd.it>
X-Mailman-Version: 2.1.29
X-BeenThere: pve-devel@lists.proxmox.com
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
Subject: Re: [pve-devel] pve-devel Digest, Vol 167, Issue 233
Content-Type: multipart/mixed; boundary="===============2991697525168109023=="
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>

--===============2991697525168109023==
Content-Type: message/rfc822
Content-Disposition: inline

Return-Path: <lucio.magini@abd.it>
X-Original-To: pve-devel@lists.proxmox.com
Delivered-To: pve-devel@lists.proxmox.com
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by lists.proxmox.com (Postfix) with ESMTPS id 4204D9BC21
	for <pve-devel@lists.proxmox.com>; Mon, 22 Apr 2024 12:08:11 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 1C1FDDF67
	for <pve-devel@lists.proxmox.com>; Mon, 22 Apr 2024 12:07:41 +0200 (CEST)
Received: from mail.abd.it (mail.abd.it [93.64.167.138])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
	(No client certificate requested)
	by firstgate.proxmox.com (Proxmox) with ESMTPS
	for <pve-devel@lists.proxmox.com>; Mon, 22 Apr 2024 12:07:37 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
	by mail.abd.it (Postfix) with ESMTP id 436191305A1F
	for <pve-devel@lists.proxmox.com>; Mon, 22 Apr 2024 12:01:15 +0200 (CEST)
Received: from mail.abd.it ([127.0.0.1])
 by localhost (abdposta.abd.it [127.0.0.1]) (amavis, port 10032) with ESMTP
 id W5zpTLgJxzR0 for <pve-devel@lists.proxmox.com>;
 Mon, 22 Apr 2024 12:01:11 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
	by mail.abd.it (Postfix) with ESMTP id 05C3613059EF
	for <pve-devel@lists.proxmox.com>; Mon, 22 Apr 2024 12:01:11 +0200 (CEST)
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.abd.it 05C3613059EF
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=abd.it;
	s=E44C9B7E-E057-11EE-A0C3-BB1594CB590E; t=1713780071;
	bh=FOXsJP1Ujb96enARd/XU7GT71KbcLkcgk4ja/nTJKj4=;
	h=Date:From:To:Message-ID:MIME-Version;
	b=Jbkwwz6N48J8RjsmRlrys/Zx7gbN0b5/byQMCsQW8NNUSj567tVwO/eJTuQLxLfmY
	 qEWkwybSWUREWnJZl56R3iywF+9RhFENQ74aYacftq5Gnsk+BfU1nVnNVf6Vo6yrD6
	 Mww/E8juYmh932ShxVoCYtw6G04nk9H3vE6E2I5vJMNl1kaCqMs4MWyVa18mA9NwAi
	 ri4eQC1SQgRSzPsxrBg73zTQe4u00r0AmkJJ6axFsOzD9fKafTcuGDrnOEY+OY4wO4
	 TG/n/gRvw2kSOn4FPF/DDuqKMZb3op8LoS60jM4YzgODMQHWZevNB7OogAESrUNA7b
	 nlvZ2uezw/pYw==
X-Virus-Scanned: amavis at abd.it
Received: from mail.abd.it ([127.0.0.1])
 by localhost (abdposta.abd.it [127.0.0.1]) (amavis, port 10026) with ESMTP
 id Eu6xbV3303Nm for <pve-devel@lists.proxmox.com>;
 Mon, 22 Apr 2024 12:01:10 +0200 (CEST)
Received: from abdposta.abd.it (localhost [127.0.0.1])
	by mail.abd.it (Postfix) with ESMTP id A9B641305A1F
	for <pve-devel@lists.proxmox.com>; Mon, 22 Apr 2024 12:01:10 +0200 (CEST)
Date: Mon, 22 Apr 2024 12:01:10 +0200 (CEST)
From: Lucio Magini <lucio.magini@abd.it>
To: pve-devel <pve-devel@lists.proxmox.com>
Message-ID: <1127764916.84868.1713780070490.JavaMail.zextras@abd.it>
In-Reply-To: <mailman.1.1713780001.40445.pve-devel@lists.proxmox.com>
References: <mailman.1.1713780001.40445.pve-devel@lists.proxmox.com>
Subject: RE: pve-devel Digest, Vol 167, Issue 233
MIME-Version: 1.0
X-Originating-IP: [93.71.211.137]
X-Mailer: Carbonio 24.3.0_ZEXTRAS_202403 (CarbonioWebClient - Firefox 125.0 (Windows)/24.3.0_ZEXTRAS_202403 carbonio 20240215-1458 FOSS)
Thread-Topic: pve-devel Digest, Vol 167, Issue 233
Thread-Index: Qj9iuHpXG00s5YXTeaGYoSCzR3Y86w==
X-SPAM-LEVEL: Spam detection results:  0
	BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
	DKIM_SIGNED               0.1 Message has a DKIM or DK signature, not necessarily valid
	DKIM_VALID               -0.1 Message has at least one valid DKIM or DK signature
	DKIM_VALID_AU            -0.1 Message has a valid DKIM or DK signature from author's domain
	DKIM_VALID_EF            -0.1 Message has a valid DKIM or DK signature from envelope-from domain
	DMARC_PASS               -0.1 DMARC pass policy
	HTML_MESSAGE            0.001 HTML included in message
	KAM_NUMSUBJECT            0.5 Subject ends in numbers excluding current years
	SPF_HELO_PASS          -0.001 SPF: HELO matches SPF record
	SPF_PASS               -0.001 SPF: sender matches SPF record
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Content-Filtered-By: Mailman/MimeDel 2.1.29

Certo Edoardo, nessun problema :-)





Da: "undefined" <pve-devel-request@lists.proxmox.com>
A: "undefined" <pve-devel@lists.proxmox.com>
Inviato: luned=C3=AC 22 aprile 2024 12:00
Oggetto: pve-devel Digest, Vol 167, Issue 233

Send pve-devel mailing list submissions to
pve-devel@lists.proxmox.com

To subscribe or unsubscribe via the World Wide Web, visit
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
or, via email, send a message with subject or body 'help' to
pve-devel-request@lists.proxmox.com

You can reach the person managing the list at
pve-devel-owner@lists.proxmox.com

When replying, please edit your Subject line so it is more specific
than "Re: Contents of pve-devel digest..."


Today's Topics:

1. Re: [PATCH manager v16 1/2] ui: qemu: change DisplayEdit
logic to use ViewModel instead of listener function (Dominik Csapak)
2. Re: [PATCH manager v16 2/2] ui: qemu: add clipboard ComboBox
as a advanced option in DisplayEdit (Dominik Csapak)


----------------------------------------------------------------------

Message: 1
Date: Mon, 22 Apr 2024 11:33:46 +0200
From: Dominik Csapak
To: Proxmox VE development discussion ,
Markus Frank
Subject: Re: [pve-devel] [PATCH manager v16 1/2] ui: qemu: change
DisplayEdit logic to use ViewModel instead of listener function
Message-ID: <2a004a96-fe68-41c0-94bd-4c6cea151dee@proxmox.com>
Content-Type: text/plain; charset=3DUTF-8; format=3Dflowed

one minor nit inline, otherwise

Reviewed-by: Dominik Csapak
Tested-by: Dominik Csapak

On 4/8/24 12:33, Markus Frank wrote:
> Signed-off-by: Markus Frank
> ---
> www/manager6/qemu/DisplayEdit.js | 57 ++++++++++++++++++--------------
> 1 file changed, 33 insertions(+), 24 deletions(-)
>
> diff --git a/www/manager6/qemu/DisplayEdit.js b/www/manager6/qemu/Display=
Edit.js
> index 9bb1763e..17b02ee4 100644
> --- a/www/manager6/qemu/DisplayEdit.js
> +++ b/www/manager6/qemu/DisplayEdit.js
> @@ -11,6 +11,33 @@ Ext.define('PVE.qemu.DisplayInputPanel', {
> return { vga: ret };
> },
>
> + viewModel: {
> + data: {
> + type: '__default__',
> + nonGUIOptionRegex: /^(serial\d|none)$/,
> + },
> + formulas: {
> + matchNonGUIOption: function(get) {
> + return get('type').match(get('nonGUIOptionRegex'));

since this regex is only used once, i'd inline it where it's used

> + },
> + memoryEmptyText: function(get) {
> + let val =3D get('type');
> + if (val =3D=3D=3D "cirrus") {
> + return "4";
> + } else if (val =3D=3D=3D "std" || val.match(/^qxl\d?$/) || val =3D=3D=
=3D "vmware") {
> + return "16";
> + } else if (val.match(/^virtio/)) {
> + return "256";
> + } else if (get('matchNonGUIOption')) {
> + return "N/A";
> + } else {
> + console.debug("unexpected display type", val);
> + return Proxmox.Utils.defaultText;
> + }
> + },
> + },
> + },
> +
> items: [{
> name: 'type',
> xtype: 'proxmoxKVComboBox',
> @@ -27,39 +54,21 @@ Ext.define('PVE.qemu.DisplayInputPanel', {
> }
> return true;
> },
> - listeners: {
> - change: function(cb, val) {
> - if (!val) {
> - return;
> - }
> - let memoryfield =3D this.up('panel').down('field[name=3Dmemory]');
> - let disableMemoryField =3D false;
> -
> - if (val =3D=3D=3D "cirrus") {
> - memoryfield.setEmptyText("4");
> - } else if (val =3D=3D=3D "std" || val.match(/^qxl\d?$/) || val =3D=3D=
=3D "vmware") {
> - memoryfield.setEmptyText("16");
> - } else if (val.match(/^virtio/)) {
> - memoryfield.setEmptyText("256");
> - } else if (val.match(/^(serial\d|none)$/)) {
> - memoryfield.setEmptyText("N/A");
> - disableMemoryField =3D true;
> - } else {
> - console.debug("unexpected display type", val);
> - memoryfield.setEmptyText(Proxmox.Utils.defaultText);
> - }
> - memoryfield.setDisabled(disableMemoryField);
> - },
> + bind: {
> + value: '{type}',
> },
> },
> {
> xtype: 'proxmoxintegerfield',
> - emptyText: Proxmox.Utils.defaultText,
> fieldLabel: gettext('Memory') + ' (MiB)',
> minValue: 4,
> maxValue: 512,
> step: 4,
> name: 'memory',
> + bind: {
> + emptyText: '{memoryEmptyText}',
> + disabled: '{matchNonGUIOption}',
> + },
> }],
> });
>





------------------------------

Message: 2
Date: Mon, 22 Apr 2024 11:36:50 +0200
From: Dominik Csapak
To: Proxmox VE development discussion ,
Markus Frank
Subject: Re: [pve-devel] [PATCH manager v16 2/2] ui: qemu: add
clipboard ComboBox as a advanced option in DisplayEdit
Message-ID: <701654f9-5083-4d5b-891b-21202af943a4@proxmox.com>
Content-Type: text/plain; charset=3DUTF-8; format=3Dflowed

a few comments inline

On 4/8/24 12:33, Markus Frank wrote:
> For SPICE and VNC, a different message is displayed.
>
> The backend code for the clipboard option can be found in the
> 'config: enable vnc clipboard parameter in vga_fmt'-commit in qemu-server=
.
>
> Signed-off-by: Markus Frank
> ---
> www/manager6/qemu/DisplayEdit.js | 41 ++++++++++++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
>
> diff --git a/www/manager6/qemu/DisplayEdit.js b/www/manager6/qemu/Display=
Edit.js
> index 17b02ee4..3357794a 100644
> --- a/www/manager6/qemu/DisplayEdit.js
> +++ b/www/manager6/qemu/DisplayEdit.js
> @@ -15,6 +15,7 @@ Ext.define('PVE.qemu.DisplayInputPanel', {
> data: {
> type: '__default__',
> nonGUIOptionRegex: /^(serial\d|none)$/,
> + clipboard: '__default__',
> },
> formulas: {
> matchNonGUIOption: function(get) {
> @@ -35,6 +36,9 @@ Ext.define('PVE.qemu.DisplayInputPanel', {
> return Proxmox.Utils.defaultText;
> }
> },
> + isVNC: get =3D> get('clipboard') =3D=3D=3D 'vnc',
> + hideDefaultHint: get =3D> get('isVNC') || get('matchNonGUIOption'),
> + hideVNCHint: get =3D> !get('isVNC') || get('matchNonGUIOption'),
> },
> },
>
> @@ -70,6 +74,43 @@ Ext.define('PVE.qemu.DisplayInputPanel', {
> disabled: '{matchNonGUIOption}',
> },
> }],
> +
> + advancedItems: [
> + {
> + xtype: 'proxmoxKVComboBox',
> + name: 'clipboard',
> + deleteEmpty: false,
> + fieldLabel: gettext('Clipboard'),
> + comboItems: [
> + ['__default__', Proxmox.Utils.defaultText + ' (SPICE)'],

this '(SPICE)' here implies that the spice clipboard is available anywhere
but the hint below implies it's only available with SPICE

i'd probably omit it here and just say default and further explain it
in the hint.

> + ['vnc', 'VNC'],
> + ],
> + bind: {
> + value: '{clipboard}',
> + disabled: '{matchNonGUIOption}',
> + },

here you have to set the value initially to '__default__' too, otherwise
the bind set will mark it as dirty and allow a reset to the empty value

i.e. use
----8<----
value: '__default__',
---->8----



> + },
> + {
> + xtype: 'displayfield',
> + name: 'vncHint',
> + userCls: 'pmx-hint',
> + value: gettext('You cannot use the default SPICE clipboard if the VNC C=
lipboard is selected.') + ' ' +
> + gettext('VNC Clipboard requires spice-tools installed in the Guest-VM.'=
),
> + bind: {
> + hidden: '{hideVNCHint}',
> + },
> + },
> + {
> + xtype: 'displayfield',
> + name: 'defaultHint',
> + userCls: 'pmx-hint',
> + value: gettext('This option depends on your display type.') + ' ' +
> + gettext('If the display type uses SPICE you are able to use the default=
 SPICE Clipboard.'),
> + bind: {
> + hidden: '{hideDefaultHint}',
> + },
> + },
> + ],
> });
>
> Ext.define('PVE.qemu.DisplayEdit', {





------------------------------

Subject: Digest Footer

_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


------------------------------

End of pve-devel Digest, Vol 167, Issue 233
*******************************************


--===============2991697525168109023==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

--===============2991697525168109023==--