This was steered by the need to let 'other' mode VIPs not cause any
regression with the other logic so now we only have one clear spot and
reload condition and ignore unknown modes gracefully.
delBase() already added a lock, but in practice, when automation is in play, there's a risk for other updates as well, which means we need to synchronize them to avoid data being lost.
* interface: gif.volt - Integrate layout_partials/base_bootgrid_table
* interface: gre.volt - Integrate layout_partials/base_bootgrid_table
* interface: lagg.volt - Integrate layout_partials/base_bootgrid_table
* interface: loopback.volt - Integrate layout_partials/base_bootgrid_table
* interface: neighbor.volt - Integrate layout_partials/base_bootgrid_table
* interface: vip.volt - Integrate layout_partials/base_bootgrid_table
* interface: vlan.volt - Integrate layout_partials/base_bootgrid_table
* interface: vxlan.volt - Integrate layout_partials/base_bootgrid_table
* interface: Change location of Configuration Change Message above Apply
* interface: Fix search base so all grid columns are populated with data
* interface: Integrate layout_partials/base_apply_button https://github.com/opnsense/core/issues/8284
* interface: Missed a spot
* interface: Do not render VHID group password in grid
* interface: vip.volt adjust view more to look like the previous grid
* interface: vip.volt add network formatter, remove vhid formatter since these fields are now displayed by default as separate rows
* interface: loopback.volt add loFormatter to turn device ID into loX in the grid
* interface: vxlan.volt add vxlanFormatter to turn device ID into vxlanX in the grid
chart.js canvas elements default their display to block, which can
cause sub-pixel rounding errors, in turn causing flickering when
the canvas element is interacted with (reproducible on Firefox).
'display: inline-block' fixes this, and while one could specify this
in css, this would have to be combined with !important, as the style
ordering prefers styles either set hardcoded inline or via JS. This
has the obvious downside that a canvas element cannot be hidden anymore,
as it's display setting would always be forced.
The only solution in terms of ordering is to override the inline style
by setting it in the canvas element directly as this commit is doing.
All canvas elements used by widgets which fit the following criteria
must use this inline style:
- a canvas element is used by chart.js
- said canvas lives in a responsive container
- the chart must be resizable in height, which requires the 'canvas-container'
parent element.
We move the gateway recovery into the hook as a user and users
can do their on similar scripts to fetch current status and
inspect and react accordingly. We do so before filter reload
to avoid excessive reloads in the facility script(s).
What this loses is the ability to get the previous argments
for statistics, but OTOH it also reduces the risk for spurious
events as we only trigger on state transitions.
Allow import hooks to be overwritten or manipulated.
No functional changes but it allows to bootstrap a
/conf/config.xml before opnsense-importer (making it
skip import) or modifying the imported /conf/config.xml
afterwards.
I think I could have done this before. We don't need historic artefacts
in a config.xml copy that doesn't do anything with it (nor need it in any
way).
Although this isn't the prettiest option in the world, it does solve the issue. It would have been better if we had "keyed" the items in some way so input is less sensitive for issues like these
As discussed the wizard will be removed and the legacy component
it is feeding moved to a plugin for 25.7 so it makes no sense to
drag this along any further.