From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
Aaron Lauterer <a.lauterer@proxmox.com>
Subject: Re: [pve-devel] [PATCH manager v4] fix #1926 ui: vm console: autodetect novnc or xtermjs
Date: Tue, 25 Mar 2025 18:09:43 +0100 [thread overview]
Message-ID: <6e539849-fe12-4e82-a1bc-c826cec4dc6f@proxmox.com> (raw)
In-Reply-To: <20250325091854.1051956-1-a.lauterer@proxmox.com>
Am 25.03.25 um 10:18 schrieb Aaron Lauterer:
> Some users configure their VMs to use serial as their display. The big
> benefit is that in combination with the xtermjs remote console, copy &
> paste works a lot better than via novnc.
>
> While the console button in the top right allows to manually choose the
> console type, the Console in the main submenu of a VM does not.
>
> This patch changes the behavior for VMs and will first fetch the VM
> config and if the display is set to "serialX", will set the console to
> xtermjs. Otherwise it will fall back to regular noVNC.
>
> Since getting the VM config is an async API call, the code had to be
> restructured so we can do the actual loading of the console after the
> config has been fetched.
> Therefore we now have the 'loadConsole()' function which will be called
> when the UI item is activated and in the KVM case, after loading and
> handling the VM config. It is guarded by the 'activated' and
> 'configLoaded' variables.
A bit late in, so sorry for that, but FWIW, one can also use our async API
request wrapper for that, i.e. mark the function this is in as async and
then use something like:
let config = await Proxmox.Async.api2({
url: `/api2/extjs/nodes/${me.nodename}/qemu/${me.vmid}/config?current=1`
});
That would probably reduce the amount of changes required and also
keep the code a bit more linear.
Btw. don't we have the config available in some call-sites? I.e., would
it make sense to allow overriding it already now? Because if we can
reduce the need for an extra API call due to information being already
available then I'd always favor that, having experienced working over
some high latency links and/or spotty & congested (wifi) connections.
We can improve this later on, but would be good to evaluate the status
quo already; FWIW I'd be open to look into querying the respective
properties in the cluster resource API endpoint, which would then be
available in the in-memory resource store and really cheap to query
from the frontend. As we already get some properties the backend side
would not really get more expensive either. Again, that does not has
to be a prerequisite for applying something like this, but IMO worth
to evaluate at some (soonish) point.
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next prev parent reply other threads:[~2025-03-25 17:10 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-25 9:18 Aaron Lauterer
2025-03-25 17:09 ` Thomas Lamprecht [this message]
2025-03-26 12:04 ` Aaron Lauterer
2025-04-03 11:03 ` Thomas Lamprecht
2025-04-07 16:29 ` Aaron Lauterer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6e539849-fe12-4e82-a1bc-c826cec4dc6f@proxmox.com \
--to=t.lamprecht@proxmox.com \
--cc=a.lauterer@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal