mvc: implement reusable grid template using form definitions. for https://github.com/opnsense/core/issues/8187
offer "command_width" property to be set in the template, defaults to 7em
dnsmasq: migrate to MVC/API, make sure service is reachable when still running and disabled so we can kill it, although not a new issue, better fix it for https://github.com/opnsense/core/issues/7905
Services: Captive Portal: Vouchers - urlencode() selector items in vouchergrouplist, closes https://github.com/opnsense/core/issues/8319
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
(cherry picked from commit a3d588cca2a045a3c2b07c6e98825a3bce0367e2)
Expose Kea option v6-only-preferred in the GUI (#8286)
* Add Kea GUI options for IPv6-only Preferred (option 108)
* Indentation
* Add advanced, mention option 108 in option title, mention minim value in help
(cherry picked from commit 3aee9456bd9180dcbd296fbaa133563c8af33f95)
dashboard: block display interferes with responsive layouts
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
[3 lines not shown]
system: change the "monitor" syshook and de-deprecate; closese #8199
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.
system: add an "import" syshook; closes #8325
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.