]> git.proxmox.com Git - proxmox-widget-toolkit.git/log
proxmox-widget-toolkit.git
2 weeks agoeol notice: escalate to warning only shortly before EOL stable-bullseye
Thomas Lamprecht [Tue, 16 Apr 2024 10:47:14 +0000 (12:47 +0200)]
eol notice: escalate to warning only shortly before EOL

The EOL message is positioned quite noticeable already in all our
products, being always visible. So use a notice-style for the icon
and its color until three weeks before EOL, when we switch to a
critical warning.

As it can be OK to run a, e.g., PVE 7 setup shortly before its EOL,
if, for example, one plans to replace it completely and decommission
the old one (so upgrade before EOL would be just extra work).

Using three weeks for the cut-off has no in-depth, heavily thought
out Good Reason™, but was rather chosen as it's likely to be noticed
before the actual EOL in somewhat actively maintained setups (e.g.,
admin checking in every week or two) and can give admins further
means to escalate things with higher ups. Also weeks are always 7
days, while months aren't uniform, so the former is easier to
communicate.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 weeks agoeol notice: surpress highlighting if link was visited
Thomas Lamprecht [Tue, 16 Apr 2024 10:43:14 +0000 (12:43 +0200)]
eol notice: surpress highlighting if link was visited

add a class to the whole outer div to manage the CSS rules for the
EOL widget and use this to keep the original color for links even if
they got visited already.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
10 months agobump version to 3.7.3
Thomas Lamprecht [Tue, 13 Jun 2023 10:25:36 +0000 (12:25 +0200)]
bump version to 3.7.3

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
10 months agoapt repositories: avoid potential type error in classifyOrigin helper
Fiona Ebner [Fri, 9 Jun 2023 14:16:26 +0000 (16:16 +0200)]
apt repositories: avoid potential type error in classifyOrigin helper

with undefined (or otherwise falsy) argument.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
(cherry picked from commit a14bafeca69cd7a7e56b19fbfa5ed3ee57c44fe9)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
10 months agoapt repositories: fix typo for getting the default unknown text
Fiona Ebner [Fri, 9 Jun 2023 14:16:25 +0000 (16:16 +0200)]
apt repositories: fix typo for getting the default unknown text

Could lead to a type error with classifyOrigin when there is a
repository that doesn't have an InRelease file and cannot be detected
as Debian/Proxmox origin from its URL. For me, it triggered with the
element.io repository after changing to bookworm (which currently
doesn't exist yet) and running apt update.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
(cherry picked from commit 78be60a079695b0306b6530eb0f757fe4125e472)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
10 months agobump version to 3.7.2
Thomas Lamprecht [Fri, 9 Jun 2023 11:00:47 +0000 (13:00 +0200)]
bump version to 3.7.2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
10 months agoapt repositories: detect mixed suites before major upgrade
Fiona Ebner [Mon, 5 Jun 2023 15:43:12 +0000 (17:43 +0200)]
apt repositories: detect mixed suites before major upgrade

Usually, differing suites already produce warnings/errors, but before
a major upgrade the current and the next suite are both valid. Mixing
them is an issue though.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
(cherry picked from commit e6ed4498cdb0fa6362fe71556107129cdfcd9e30)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
10 months agoapt repositories: just ignore unknown info rather than throwing an error
Fiona Ebner [Mon, 5 Jun 2023 15:43:10 +0000 (17:43 +0200)]
apt repositories: just ignore unknown info rather than throwing an error

This will avoid breaking older UI when extending the backend.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
(cherry picked from commit b9b1a51a2e3491c516d69d821e0950d53d5fb907)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
10 months agoapt repositories: add classifyOrigin helper
Fiona Ebner [Mon, 5 Jun 2023 15:43:11 +0000 (17:43 +0200)]
apt repositories: add classifyOrigin helper

to be used again to detect mixed repositories before upgrade.

Needed to convert into an actual function for the 'this' usage.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit 3d6b76ee2b562e9de2db0c08a9b31af31a100e21)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
10 months agoapt repositories: actually ignore ignore-pre-upgrade-warning
Fiona Ebner [Mon, 5 Jun 2023 15:43:09 +0000 (17:43 +0200)]
apt repositories: actually ignore ignore-pre-upgrade-warning

when upgrading is possible rather than throwing an error by reaching
the else branch.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit fd468868dda235e31a1c747dbddb79e737dd96fa)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
10 months agobump version to 3.7.1
Thomas Lamprecht [Wed, 7 Jun 2023 15:26:01 +0000 (17:26 +0200)]
bump version to 3.7.1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
10 months agoapt repositoires: allow major upgrade
Fiona Ebner [Mon, 5 Jun 2023 15:43:13 +0000 (17:43 +0200)]
apt repositoires: allow major upgrade

Currently, all this does is silence warnings when the suite after the
current one is configured as well as enabling the check for mixed
repositiories.

Since there is no API call as mentioned in the comment yet, just set
it manually.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
11 months agotfa: paperkey: cleanup iframes for printing after window close
Aaron Lauterer [Mon, 3 Apr 2023 12:28:49 +0000 (14:28 +0200)]
tfa: paperkey: cleanup iframes for printing after window close

similar as recently done for the PBS storage add/edit window in
pve-manager

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
[ TL: refer to same change as done in pve-manager ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agobuildsys: improve DSC target & add sbuild convenience target
Thomas Lamprecht [Thu, 25 May 2023 08:15:11 +0000 (10:15 +0200)]
buildsys: improve DSC target & add sbuild convenience target

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agobuildsys: use full DEB_VERSION
Thomas Lamprecht [Thu, 25 May 2023 08:14:58 +0000 (10:14 +0200)]
buildsys: use full DEB_VERSION

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agobuildsys: improve resolving package meta info
Thomas Lamprecht [Thu, 25 May 2023 07:47:32 +0000 (09:47 +0200)]
buildsys: improve resolving package meta info

use the full version for the cache invalidation technique and fall
back to the commit ID and current time.

With that we can drop the exports in the top-level makefile, which
would only work for local direct builds anyway, but not for building
from DSC source package.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agomakefile: convert to use simple parenthesis
Thomas Lamprecht [Thu, 25 May 2023 07:26:05 +0000 (09:26 +0200)]
makefile: convert to use simple parenthesis

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agod/control: rework descriptions
Thomas Lamprecht [Thu, 25 May 2023 07:19:18 +0000 (09:19 +0200)]
d/control: rework descriptions

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agobump version to 3.7.0
Thomas Lamprecht [Wed, 17 May 2023 12:03:04 +0000 (14:03 +0200)]
bump version to 3.7.0

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agod/control: define compat level via build-depends
Thomas Lamprecht [Wed, 17 May 2023 09:47:19 +0000 (11:47 +0200)]
d/control: define compat level via build-depends

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agobuildsys: extend clean target
Thomas Lamprecht [Wed, 17 May 2023 09:47:00 +0000 (11:47 +0200)]
buildsys: extend clean target

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agobuildsys: derive upload dist automatically
Thomas Lamprecht [Wed, 17 May 2023 09:45:24 +0000 (11:45 +0200)]
buildsys: derive upload dist automatically

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agomakefile: convert to use simple parenthesis
Thomas Lamprecht [Wed, 17 May 2023 09:43:45 +0000 (11:43 +0200)]
makefile: convert to use simple parenthesis

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agofix #4618: dark-mode: lighten critical/warning charts/gauges colors
Stefan Sterz [Fri, 14 Apr 2023 13:28:08 +0000 (15:28 +0200)]
fix #4618: dark-mode: lighten critical/warning charts/gauges colors

by increasing the lightness of these colors to to make them have the
same amount of lightness as the primary color.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
11 months agodark-mode: adjust panel header tool icons
Stefan Sterz [Fri, 14 Apr 2023 13:28:07 +0000 (15:28 +0200)]
dark-mode: adjust panel header tool icons

by brigthenening the icons on a more individual basis some darker ones
can now feature higher contrasts while others won't be too bright.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
12 months agoform: combo grid: use correct method to initialize the picker
Dominik Csapak [Fri, 31 Mar 2023 10:04:51 +0000 (12:04 +0200)]
form: combo grid: use correct method to initialize the picker

'createPicker' does create the picker, but saves no reference to it
in the owning field, Instead, 'getPicker' should be used for that,
since that does all the necessary initialization, and actually
assigns the created picker to the field's me.picker variable so that
the pickers lifetime can be successfully tracked and enforced.

Without this patch, we leak the picker being created every time a
combo grid is created.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
12 months agodark-mode: improve apt repo group header contrast ratios
Stefan Sterz [Wed, 5 Apr 2023 08:08:05 +0000 (10:08 +0200)]
dark-mode: improve apt repo group header contrast ratios

make the group headers darker, so that they have some contrast with
the surrounding rows. also add back the border at the bottom. both
changes improve the legibility of the table.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
12 months agodark-mode: style the icon for the datastore maintenance mode
Stefan Sterz [Wed, 5 Apr 2023 08:08:04 +0000 (10:08 +0200)]
dark-mode: style the icon for the datastore maintenance mode

.. in Proxmox Backup Server

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
12 months agodark-mode: fix the focused state for background image grid icons
Stefan Sterz [Wed, 5 Apr 2023 08:08:03 +0000 (10:08 +0200)]
dark-mode: fix the focused state for background image grid icons

some icons in grids are background images for the whole grid element.
so we need to filter the entire element, which also means that any
background or inner border color would get filtered too. this inverts
the focused border on inner elements and the focused background so
that it looks correct when inverted again.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
12 months agodark-mode: fix focus and focus-over states for tabs
Stefan Sterz [Wed, 5 Apr 2023 08:08:02 +0000 (10:08 +0200)]
dark-mode: fix focus and focus-over states for tabs

previously the focus and focus-over states weren't styled so the crisp
styling was used, which made them appear too brightly.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agobump version to 3.6.5
Thomas Lamprecht [Tue, 28 Mar 2023 15:56:08 +0000 (17:56 +0200)]
bump version to 3.6.5

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agowindow: ldap auth edit: set view-model form data explicitly on edit
Thomas Lamprecht [Tue, 28 Mar 2023 15:47:34 +0000 (17:47 +0200)]
window: ldap auth edit: set view-model form data explicitly on edit

Fix a race that shows up in chrome/chromium by setting the data in
the view-model that is binded to form fields explicitly on edit, this
avoids a race where the default declared in the viewModel data got
applied after the form data was set, thus having the state out of
sync and so marking the field potentially as dirty even if it wasn't.

Reported-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agowindow: ldap auth edit: avoid relying on the default bind property
Thomas Lamprecht [Tue, 28 Mar 2023 15:42:49 +0000 (17:42 +0200)]
window: ldap auth edit: avoid relying on the default bind property

When using a string as bind config ExtJS maps this to the property
defined by the components defaultBindProperty, which is a bit to
subtle for my taste.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agobump version to 3.6.4
Thomas Lamprecht [Sun, 26 Mar 2023 15:53:08 +0000 (17:53 +0200)]
bump version to 3.6.4

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agofix #4617: dark-mode: increase brightness of tree arrows
Thomas Lamprecht [Sun, 26 Mar 2023 15:51:26 +0000 (17:51 +0200)]
fix #4617: dark-mode: increase brightness of tree arrows

Increase brightness of tree expand/collapse arrows to avoid overly
low contrast

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agofix #4612: mobile: avoid crash due to missing getProxy method
Friedrich Weber [Fri, 24 Mar 2023 09:02:30 +0000 (10:02 +0100)]
fix #4612: mobile: avoid crash due to missing getProxy method

A previous commit (51083ee) added an override of the internal ExtJS
method `Ext.data.Store.onProxyLoad` in order to fix a race condition.
This override calls `Operation.getProxy`. However, this method is not
available on Sencha Touch. As a consequence, the mobile UI was
broken.

This commit modifies the override such that it has no effect in the
mobile UI.

Fixes: 51083ee54aa98af5a711622e4ed240840dcbbabe
Suggested-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Friedrich Weber <f.weber@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
13 months agolanguage selector: increase only picker list view
Thomas Lamprecht [Fri, 24 Mar 2023 10:51:35 +0000 (11:51 +0100)]
language selector: increase only picker list view

As that's what matters for the selection, having parts of the already
selected language cut off is not really a big deal as either one
knows the language and the initial native part is enough or the
picker needs to be opened for changing selection anyway.

But, we can give the field itself a bit more space by reducing the
label width to 75, which is enough for all languages as grepping our
PO files for "Language" and their translation, it seems that the
widest one comes from Euskara (Basque) with its "Hizkuntza" having 9
characters.

This way we avoid having to many different

Fixes: 454ff6e ("language selector: increase field width")
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agoutils: use template strings for language map
Thomas Lamprecht [Fri, 24 Mar 2023 10:50:55 +0000 (11:50 +0100)]
utils: use template strings for language map

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agolanguage selector: increase field width
Noel Ullreich [Thu, 23 Mar 2023 14:44:25 +0000 (15:44 +0100)]
language selector: increase field width

With the new translations and layout, the width of the dropdown menu
needs to be increased so that the languages are all on the same line.
This width might need to increased in the future if translations were
to create a line break.

Signed-off-by: Noel Ullreich <n.ullreich@proxmox.com>
 [ T: reflow message and reword subject a bit ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agolanguage selector: translate entries to both native and localized
Noel Ullreich [Thu, 23 Mar 2023 14:44:24 +0000 (15:44 +0100)]
language selector: translate entries to both native and localized

Languages used to be hardcoded to English, change that to both the
native language plus writing system along with their translation in
the currently selected language.

Signed-off-by: Noel Ullreich <n.ullreich@proxmox.com>
 [ T: drop redundant info from subject and reword a bit ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agotheme edit: ensure that the saved theme is actually valid
Thomas Lamprecht [Fri, 24 Mar 2023 10:40:43 +0000 (11:40 +0100)]
theme edit: ensure that the saved theme is actually valid

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agofix #4610: add a small white padding to the totp qr code
Stefan Sterz [Thu, 23 Mar 2023 15:26:56 +0000 (16:26 +0100)]
fix #4610: add a small white padding to the totp qr code

some qr code readers need a white "quiet zone" around the main qr
code. otherwise, they won't be able to scan it at all which made it
impossible to scan the totp qr code on certain devices.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agodark-mode: improve contrast ratios on the mask message
Stefan Sterz [Thu, 23 Mar 2023 15:26:55 +0000 (16:26 +0100)]
dark-mode: improve contrast ratios on the mask message

this removes the transparent background of the masks message box. this
should help improve the contrast between the background and text.
also sets an appropriate border color to make it stand out more.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agodark-mode: set boundlist background
Stefan Sterz [Thu, 23 Mar 2023 15:26:54 +0000 (16:26 +0100)]
dark-mode: set boundlist background

this is only visible when no boundlist items are present, which only
occurs when loading elements for the boundlist (e.g., when adding a
nfs storage)

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agodark-mode: color the custom grid and tree icons
Stefan Sterz [Thu, 23 Mar 2023 15:26:53 +0000 (16:26 +0100)]
dark-mode: color the custom grid and tree icons

this wasn't noticed before because usually vms would either be running
or stopped/offline/unknown etc. and there the colors are set
separately. however, in e.g., the backup view's missing backups
window these weren't colored properly. so this commit sets a default
color.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agodark-mode: improve contrast on split buttons
Stefan Sterz [Thu, 23 Mar 2023 15:26:52 +0000 (16:26 +0100)]
dark-mode: improve contrast on split buttons

this improves the contrast of the little triangle in split buttons,
making it stand out more especially when focused.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agobump version to 3.6.3
Thomas Lamprecht [Wed, 22 Mar 2023 12:25:10 +0000 (13:25 +0100)]
bump version to 3.6.3

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agodark-mode: tone down border on ceph install card-like window
Thomas Lamprecht [Wed, 22 Mar 2023 11:38:09 +0000 (12:38 +0100)]
dark-mode: tone down border on ceph install card-like window

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agodark-mode: style locked guest icons properly
Stefan Sterz [Wed, 22 Mar 2023 11:29:34 +0000 (12:29 +0100)]
dark-mode: style locked guest icons properly

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agodark-mode: style checkboxes that don't use blueish active states
Stefan Sterz [Wed, 22 Mar 2023 11:08:00 +0000 (12:08 +0100)]
dark-mode: style checkboxes that don't use blueish active states

e.g., in the backup job creation window the filter column checkmark

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agodark-mode: set the icon color of filtered column headers properly
Stefan Sterz [Wed, 22 Mar 2023 11:07:59 +0000 (12:07 +0100)]
dark-mode: set the icon color of filtered column headers properly

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agodark-mode: fix highlighting of active elements in drop down menus
Stefan Sterz [Wed, 22 Mar 2023 11:07:58 +0000 (12:07 +0100)]
dark-mode: fix highlighting of active elements in drop down menus

e.g.,: the filter menu item in the backup job creation window

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agobump version to 3.6.2
Thomas Lamprecht [Tue, 21 Mar 2023 15:46:31 +0000 (16:46 +0100)]
bump version to 3.6.2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agorename "Theme" selector to "Color Scheme"
Thomas Lamprecht [Tue, 21 Mar 2023 15:08:57 +0000 (16:08 +0100)]
rename "Theme" selector to "Color Scheme"

Having "Color" added makes it easier to translate (i.e. Farbschema,
配色) and at least as understandable as Theme, so change it,

Suggested-by: Markus Frank <m.frank@proxmox.com>
 [ T: while Markus suggested Color Scheme, the hive-mind opted for
 this ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agodark theme: allow one to distinguish the ceph install mask from the mask
Thomas Lamprecht [Tue, 21 Mar 2023 14:56:10 +0000 (15:56 +0100)]
dark theme: allow one to distinguish the ceph install mask from the mask

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agodark-mode: set the background mask to `background-darker` again
Stefan Sterz [Tue, 21 Mar 2023 14:15:41 +0000 (15:15 +0100)]
dark-mode: set the background mask to `background-darker` again

this removes an issue where the mask would look awkward and
inconsistent (e.g., in the quarantine view, the retention tab of a
zfs storage etc). also  makes the shadow a big bigger to be closer to
crisp and also to improve contrast ratios

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agodark-mode: make shadow black
Wolfgang Bumiller [Tue, 21 Mar 2023 10:04:25 +0000 (11:04 +0100)]
dark-mode: make shadow black

Better have a barely visible shadow than a backlight.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
13 months agodark-mode: reduce background mask opacity to 0.5
Wolfgang Bumiller [Tue, 21 Mar 2023 10:04:24 +0000 (11:04 +0100)]
dark-mode: reduce background mask opacity to 0.5

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
13 months agoRevert "dark-theme: let the background "shine through" mask more"
Wolfgang Bumiller [Tue, 21 Mar 2023 10:04:23 +0000 (11:04 +0100)]
Revert "dark-theme: let the background "shine through" mask more"

This looks horrible.

A *much* *much* better way to improve readability is to
simply set the opacity down to 0.5.

This reverts commit 2c837f5766b48629a835c62d4b7af6c3ae4dc1c0.

13 months agonetwork edit: add tooltip to bridge ports inputs
Christoph Heiss [Mon, 6 Feb 2023 10:58:13 +0000 (11:58 +0100)]
network edit: add tooltip to bridge ports inputs

.. as the exact format it takes might not be immediately obvious to
users.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
13 months agobump version to 3.6.1
Thomas Lamprecht [Mon, 20 Mar 2023 13:13:46 +0000 (14:13 +0100)]
bump version to 3.6.1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agodark-theme: let the background "shine through" mask more
Stefan Sterz [Mon, 20 Mar 2023 09:02:09 +0000 (10:02 +0100)]
dark-theme: let the background "shine through" mask more

this makes the background mask a bit brighter and more see-through to
make it possible to read values from behind the mask, if needed. it
also adds a more visible shadow to windows so that the stand out more
at the same time.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agodark-theme: dim warning and invalid colors more
Stefan Sterz [Mon, 20 Mar 2023 09:02:08 +0000 (10:02 +0100)]
dark-theme: dim warning and invalid colors more

this brings them more in-line with the appearance of crisp.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agodark-theme: make "sorted-by" header highlight more subtle
Stefan Sterz [Mon, 20 Mar 2023 09:02:07 +0000 (10:02 +0100)]
dark-theme: make "sorted-by" header highlight more subtle

by making the highlight more subtle, the theme is more consistent with
the look of crisp.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agodark-theme: improve help button contrast ratios in focused state
Stefan Sterz [Mon, 20 Mar 2023 09:02:06 +0000 (10:02 +0100)]
dark-theme: improve help button contrast ratios in focused state

also improves the hovered/focused state and makes it more consistent
with other buttons by making it brighter than the default state.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agoauth ui: fix `value not defined in enumeration` error
Lukas Wagner [Fri, 17 Mar 2023 08:47:22 +0000 (09:47 +0100)]
auth ui: fix `value not defined in enumeration` error

...when editing LDAP realm sync settings and only a single property is
empty and thus to be deleted (e.g. values.delete = "filter").

If `delete` is a simple string and not an array,
`Proxmox.Utils.delete_if_default` simply creates a comma-separated list,
(e.g. value.delete = "filter,sync-attributes").

When the properties from the other panel are evaluated and added to the
the `delete` property, comma-separated list format is not considered,
leading to a final value for `delete` that could look like this:
  value.delete = {
    "server2",
    "comment",
    "filter,sync-attributes"
  }

This commit fixes this by splitting `delete` in case it is a string.

Reported-by: Friedrich Weber <f.weber@proxmox.com>
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
13 months agoauth ui: add `firstname` and `lastname` sync-attribute fields
Lukas Wagner [Fri, 17 Mar 2023 08:47:21 +0000 (09:47 +0100)]
auth ui: add `firstname` and `lastname` sync-attribute fields

This allows the user to set up a mapping for `firstname` and `lastname`
attributes for LDAP user syncs.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
13 months agoauth ui: add `onlineHelp` for AuthEditLDAP
Lukas Wagner [Fri, 17 Mar 2023 08:47:20 +0000 (09:47 +0100)]
auth ui: add `onlineHelp` for AuthEditLDAP

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
13 months agoauth ui: add LDAP sync UI
Lukas Wagner [Fri, 17 Mar 2023 08:47:19 +0000 (09:47 +0100)]
auth ui: add LDAP sync UI

Taken and adapted from PVE.
Changes:
  - Removed fields that are irrelevant for PBS for now (PBS has no
    groups yet). If PVE is adapted to use the implementation from the
    widget toolkit, the fields can simply be readded and somehow
    feature-gated so that the fields are only visible/editable on PVE

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
13 months agoauth ui: add LDAP realm edit panel
Lukas Wagner [Fri, 17 Mar 2023 08:47:18 +0000 (09:47 +0100)]
auth ui: add LDAP realm edit panel

The panel was mostly taken from from PVE, but altered slightly:
  - bind-dn and bind-password are displayed under "General"
    and not under "Sync". For some servers, we need to be bound
    to lookup a user's domain from a given user id attribute.
    In PVE, the bind-dn and bind-password fields are under
    "Sync", which is a bit confusing if a user is not interested
    in automatic user syncing.

  - There is a 'anonymous search' checkbox. The value is not persisted
    in the configuration, it merely enables/disables the
    bind-dn and bind-password fiels to make their intent a bit more
    clear.

  - Instead of a 'secure' checkbox, a combobox for TLS mode is shown.
    This way users can select between LDAP, STARTLS and LDAPS.
    In PVE, the 'secure' config parameter is deprecated anyway, so
    I took the opportunity to replace it with the 'mode' parameter
    as described.

  - Parameters now consistently use kebab-case for naming. If
    PVE is modified to use the same panel, some sort of adapter
    will be needed.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
13 months agorepo view: replace non-clickable checkbox with icons
Lukas Wagner [Thu, 26 Jan 2023 10:47:10 +0000 (11:47 +0100)]
repo view: replace non-clickable checkbox with icons

From a usability view, having a checkbox that is not clickable is pretty
misleading, especially if the visual style is exactly the same as in
other places in the UI where the checkbox is functional.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
13 months agobump version to 3.6.0
Thomas Lamprecht [Tue, 14 Mar 2023 15:25:41 +0000 (16:25 +0100)]
bump version to 3.6.0

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agoauth-realm selector: add custom store filters for callers
Dominik Csapak [Tue, 17 Jan 2023 11:46:55 +0000 (12:46 +0100)]
auth-realm selector: add custom store filters for callers

so that a user can filter the underlying store, e.g. for type

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agodark-theme: increase contrast on check-boxes
Stefan Sterz [Tue, 14 Mar 2023 14:01:58 +0000 (15:01 +0100)]
dark-theme: increase contrast on check-boxes

by adding a bit of brightness to the icons they stand out a bit more,
especially when selected but not active (grey check-mark)

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agoutils: move to using the auto theme per default
Stefan Sterz [Tue, 14 Mar 2023 14:01:57 +0000 (15:01 +0100)]
utils: move to using the auto theme per default

make the new default theme the "auto" theme that uses media queries to
detect a users preferred theme.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agodark-theme: visually remove the border around the pve resource tree
Stefan Sterz [Fri, 10 Mar 2023 13:08:36 +0000 (14:08 +0100)]
dark-theme: visually remove the border around the pve resource tree

by setting the color of the border of the resource tree to the panel
background color, it doesn't appear visually anymore while keeping
alignments in place.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agodark-theme: remove thicker borders around content
Stefan Sterz [Fri, 10 Mar 2023 13:08:35 +0000 (14:08 +0100)]
dark-theme: remove thicker borders around content

previously the dark theme used thicker borders in certain places to
space out the content a bit more. this removes them again to make the
appearance more consistent with "crisp".

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agodark-theme: re-work buttons colors to appear dimmer
Stefan Sterz [Fri, 10 Mar 2023 13:08:34 +0000 (14:08 +0100)]
dark-theme: re-work buttons colors to appear dimmer

this dims buttons further by removing pure white text color and
adjusting backgrounds and border accordingly. it also keeps the help
buttons brighter than other buttons to draw (possibly confused) users
to them.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agodark-theme: make windows stand out more against the background mask
Stefan Sterz [Fri, 10 Mar 2023 13:08:33 +0000 (14:08 +0100)]
dark-theme: make windows stand out more against the background mask

makes the background mask darker so windows stand out a bit more

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agodark-theme: fix summary row background
Stefan Sterz [Fri, 10 Mar 2023 13:08:32 +0000 (14:08 +0100)]
dark-theme: fix summary row background

previously an "!important" was missing from the `background-color`
property. this meant that the background color wasn't properly
overridden. the "!important" is necessary as it is also used in the
light theme.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agoinput panel: improve validity change check for advanced fields
Dominik Csapak [Fri, 10 Mar 2023 14:08:07 +0000 (15:08 +0100)]
input panel: improve validity change check for advanced fields

instead of only checking the validity of the advanced items when the
form validity changed as a whole, add a validity change listener to
each field in the advanced section.

This improves the behaviour such that every time an advanced field
gets invalid the items are show, not only when the form was valid
before.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-By: Aaron Lauterer <a.lauterer@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
13 months agofix #4585 : toolkit: configid type: add missing "-" character support
Alexandre Derumier [Sat, 11 Mar 2023 13:02:42 +0000 (14:02 +0100)]
fix #4585 : toolkit: configid type: add missing "-" character support

JsonSchema is already ok:
$CONFIGID_RE = qr/[a-z][a-z0-9_-]+/i;

This is blocking creation of snapshot name with "-" in gui.
(works fine command line)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
13 months agodark-theme: add support for the pmg quarantine theme toggle
Stefan Sterz [Wed, 8 Mar 2023 16:37:44 +0000 (17:37 +0100)]
dark-theme: add support for the pmg quarantine theme toggle

allows using the theme toggle in the pmg quarantine properly. adds a
filter over the iframes in the quarantine to make them appear properly
in a dark environment.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agoutil/window/form: add a theme selector
Daniel Tschlatscher [Wed, 8 Mar 2023 16:37:43 +0000 (17:37 +0100)]
util/window/form: add a theme selector

add a widget that implements a theme selector and sets a cookie to
load the appropriate theme.

Co-authored-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com>
Co-authored-by: Stefan Sterz <s.sterz@proxmox.com>
Signed-off-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com>
Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agorrd chart: add support for the dark theme and dynamic theme switching
Stefan Sterz [Wed, 8 Mar 2023 16:36:58 +0000 (17:36 +0100)]
rrd chart: add support for the dark theme and dynamic theme switching

by integrating the theme switching logic into the chart panel itself,
themes can be switched more responsively based on css variables.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agogauge widget: add support for a dark theme and dynamic theme switching
Stefan Sterz [Wed, 8 Mar 2023 16:36:57 +0000 (17:36 +0100)]
gauge widget: add support for a dark theme and dynamic theme switching

the gauges in the data center overview should use a dark style if the
relevant css variables are set. this also makes it possible to switch
the colors dynamically by adding an event listener

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agosubscription/summary/backup: stop setting the background color
Stefan Sterz [Wed, 8 Mar 2023 16:36:56 +0000 (17:36 +0100)]
subscription/summary/backup: stop setting the background color

setting the background color in js code adds that property as a style
attribute to the element. that makes it hard to alter later via css
and makes it hard to dynamically change the color e.g., if we want to
add different themes. the background color for these elements are
white already anyway, so just remove them here.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agodark-theme: add initial version of the proxmox-dark theme
Daniel Tschlatscher [Wed, 8 Mar 2023 16:33:12 +0000 (17:33 +0100)]
dark-theme: add initial version of the proxmox-dark theme

adds an initial version of a dark theme for all proxmox products. the
theme works by simply loading an additional css file that adjust the
colors of the original theme "crisp" to be more suitable for a dark
theme.

the theme itself is written in scss, so we need to add sassc as a
build dependency. while sassc is deprecated, it is still maintained in
the debian repositories and, thus, needs no additional packaging on
our end.

this version adds the following on-top of Daniel Tschlatscher's
original draft:

* removes checked-in build artifacts and other stuff that shouldn't be
  tracked
* code clean-up and removal of redundant code
* refactors:
    * icon styling
    * color handling for charts (moved to css variables)
    * color variables, consolidates them and makes the "functional"
    * color values, improves contrast and makes the theme appear more
      consistent
    * using the "theme-" prefix
* adds:
    * markdown note styles
    * combo-box trigger styles
    * even more icon styles (e.g., template icons, check boxes etc.)
    * loading spinners styles
    * number field up and down arrow styles
    * an additional auto theme that switches between light and dark
      theme dynamically
    * widget toolkit hints
    * ceph install mask
    * grid group headers
    * color to toggled buttons
    * date picker styles
    * drag and drop proxy styles
* fixes:
    * contrast on control elements for "scrollable" sidebars
    * make the general appearance closer to the light theme ("crisp")
    * buttons (when hovered, toggled etc)
    * background masking (e.g., when showing the log-in form)
    * grid header separator (adds an outline)
    * separator lines in some menus
    * makes the custom unknown icon more discernible
    * makes headers more readable
    * color adjustments to several components for consistency
    * reduces brightness of dividers in toolbars
    * border color on chart legend elements
    * removes a black border from docked toolbars (e.g., tag edit)
    * dims the "invalid" color to appear less aggressive
    * add hover effects in grids and make them consistent with "crisp"
    * summary rows
    * selected and hovered elements in boundlists
    * row numberers in grids
    * contrast of links in hints
    * ceph overview border colors (e.g., OSD in/out/up/down grid)
    * bottom splitter contrast in certain situations
    * tag visibility
    * pbs compatibility (help buttons stylings, icons, tabs)
    * pmg compatibility:
         * remove border around the spanning element in the header
         * style spam score grid
         * style tracking center rows
         * add appropriate colors to buttons in the quarantine
         * style mail-info element in the quarantine

Co-authored-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com>
Co-authored-by: Stefan Sterz <s.sterz@proxmox.com>
Signed-off-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com>
Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
13 months agoui: SMART: fix eslint error / show correct value
Matthias Heiserer [Fri, 24 Feb 2023 14:40:45 +0000 (15:40 +0100)]
ui: SMART: fix eslint error / show correct value

Signed-off-by: Matthias Heiserer <m.heiserer@proxmox.com>
13 months agofix #4421: ui: guard setProxy against races of slow vs fast requests
Friedrich Weber [Mon, 6 Mar 2023 14:03:14 +0000 (15:03 +0100)]
fix #4421: ui: guard setProxy against races of slow vs fast requests

Some UI components use `Ext.data.Store.setProxy` to change their
associated API endpoint URL in reaction to user input. One example is
`BackupView`, which calls `setProxy` when the user switches from
listing backups on storage A to listing backups on storage B. However,
if A is slow, the UI may receive the response for A *after* the
response for B. It will then display the contents of A as if they were
the contents of B, resulting in a UI inconsistency.

The reason is that `Ext.data.Store` still processes the slow response
for A, even though it is obsolete. This patch overrides the
responsible callback of `Ext.data.Store` to only process responses
belonging to the currently active proxy object. This should rule out
similar race conditions in all components that use the `setProxy` API.
In the above example, the patch results in the response for A being
ignored.

Ignored responses are logged to the browser console.

Note that this patch only concerns components that use `setProxy` for
changing API endpoints. Other components (e.g. those using
`proxy.setURL` for the same purpose) may be open to similar race
conditions.

Link: https://lists.proxmox.com/pipermail/pve-devel/2023-March/056062.html
Signed-off-by: Friedrich Weber <f.weber@proxmox.com>
14 months agoapt: use justified flex box for empty text hint
Thomas Lamprecht [Tue, 14 Feb 2023 10:45:37 +0000 (11:45 +0100)]
apt: use justified flex box for empty text hint

avoid some overly long/nested divs

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
14 months agoui: SMART: show SMART data in correct columns
Matthias Heiserer [Mon, 13 Feb 2023 11:12:02 +0000 (12:12 +0100)]
ui: SMART: show SMART data in correct columns

Signed-off-by: Matthias Heiserer <m.heiserer@proxmox.com>
15 months agonode apt: make changelog window taller for 4:3 ratio
Thomas Lamprecht [Wed, 1 Feb 2023 11:15:36 +0000 (12:15 +0100)]
node apt: make changelog window taller for 4:3 ratio

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
15 months agonode apt: cleanup and modernize code
Thomas Lamprecht [Wed, 1 Feb 2023 11:14:22 +0000 (12:14 +0100)]
node apt: cleanup and modernize code

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
15 months agobump version to 3.5.5
Thomas Lamprecht [Tue, 31 Jan 2023 16:31:31 +0000 (17:31 +0100)]
bump version to 3.5.5

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
15 months agoform: display-edit: add safe default renderer for display field
Thomas Lamprecht [Tue, 31 Jan 2023 16:21:05 +0000 (17:21 +0100)]
form: display-edit: add safe default renderer for display field

Due to the value binding on can get interesting effects when the
displayEdit field is in write (input) mode, as then the values still
get relayed to the display field, which itself is wanted as the field
supports live-switching, but even though the display field is
disabled and hidden, the value will be still rendered and a user can
XSS themselves inserting things like:
<img src="a" onerror="alert('cookie:'+document.cookie);"></token

And even though it's harmless (your browser knows your own cookie
already), it is rather odd and simply to cheap to harden against (per
default) to not do so.

Reported-by: Marcel Fromkorth <marcel.fromkorth@8com.de>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
15 months agoapi request: add wide spread alert-error logic as smart-on option
Thomas Lamprecht [Tue, 31 Jan 2023 14:56:25 +0000 (15:56 +0100)]
api request: add wide spread alert-error logic as smart-on option

The "smartness" is mostly "enable it automatically if the caller did
not specify an explicit override and there's neither a failure nor
callback function define", but that should cover most cases.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
15 months agoutils: always html-encode response message
Thomas Lamprecht [Tue, 31 Jan 2023 14:41:39 +0000 (15:41 +0100)]
utils: always html-encode response message

while this is something that only the user that made the request will
see, and for most people the possibility of "hacking" themselves is
rather redundant, it is still not nice to have this possible in
general; as even if it's highly unlikely that there ever can be an
error triggered to another user via API2 request handling, hardening
against it is simply to cheap to not do it.

Reported-by: Marcel Fromkorth <marcel.fromkorth@8com.de>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
15 months agoutils: code cleanup for extractRequestError
Thomas Lamprecht [Tue, 31 Jan 2023 14:34:31 +0000 (15:34 +0100)]
utils: code cleanup for extractRequestError

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
15 months agocombobox grid: avoid needing two clicks after re-selecting an item
Dominik Csapak [Fri, 27 Jan 2023 10:14:35 +0000 (11:14 +0100)]
combobox grid: avoid needing two clicks after re-selecting an item

'picker.hide()' hides the picker, but does not do everything to
properly keep track of the picker state in the combobox class.

This lead to a bug when we reselected an entry, we had to click the
picker again twice to open it again.

Use the 'collapse' method of the combobox instead, which does the
necessary book-keeping.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>