OPNSense/core b63f8b6src/opnsense/mvc/app/views/layout_partials base_apply_button.volt, src/opnsense/www/js opnsense_bootgrid.js opnsense_ui.js

ui: use space in apply box for the apply reminder

We could extend this a bit if we want to go this way.
It's the best way to use existing space and move the
message to where it matters most -- the apply button
itself.

I'm not entirely sure about coloring.  We could instead
make the whole box change color similar to what alerts
are doing.
DeltaFile
+1-19src/opnsense/www/js/opnsense_bootgrid.js
+8-8src/opnsense/mvc/app/views/layout_partials/base_apply_button.volt
+2-0src/opnsense/www/js/opnsense_ui.js
+11-273 files

OPNSense/core 5a5350esrc/opnsense/mvc/app/controllers/OPNsense/Core/Api DashboardController.php

dashboard: throw UserException when size limit reached on save. Closes https://github.com/opnsense/core/issues/10096
DeltaFile
+3-2src/opnsense/mvc/app/controllers/OPNsense/Core/Api/DashboardController.php
+3-21 files

OPNSense/core 8b5a768src/opnsense/www/js/widgets Traffic.js

widgets: fix Traffic.js initialization race condition (#10099)
DeltaFile
+3-3src/opnsense/www/js/widgets/Traffic.js
+3-31 files

OPNSense/core 477451dsrc/opnsense/mvc/app/controllers/OPNsense/Syslog/Api SettingsController.php

mvc: clear unused inputs in syslog controller
DeltaFile
+0-2src/opnsense/mvc/app/controllers/OPNsense/Syslog/Api/SettingsController.php
+0-21 files

OPNSense/core 4f7fccdScripts class-import.sh

Scripts: add instanceof syntax for import linter
DeltaFile
+4-1Scripts/class-import.sh
+4-11 files

OPNSense/core 7cfb03bsrc/opnsense/www/js opnsense_menusystem.js

mvc: MenuSystem - tweak JavaScript wrapper to match server-side breadcrumb format (#10101)
DeltaFile
+1-1src/opnsense/www/js/opnsense_menusystem.js
+1-11 files

OPNSense/core d092f74src/opnsense/mvc/app/models/OPNsense/Firewall Category.php, src/opnsense/mvc/app/models/OPNsense/Interfaces Bridge.php

mvc: remove Util imports where not needed
DeltaFile
+20-23src/opnsense/mvc/app/models/OPNsense/Firewall/Category.php
+5-1src/opnsense/mvc/app/models/OPNsense/Interfaces/Bridge.php
+25-242 files

OPNSense/core 267f5a4src/etc/inc/plugins.inc.d radvd.inc, src/opnsense/mvc/app/controllers/OPNsense/Radvd/forms dialogEntry.xml

radvd: allow user controlled hop limit

PR: #9688
DeltaFile
+10-0src/opnsense/mvc/app/controllers/OPNsense/Radvd/forms/dialogEntry.xml
+8-1src/opnsense/mvc/app/models/OPNsense/Radvd/Radvd.xml
+1-0src/etc/inc/plugins.inc.d/radvd.inc
+19-13 files

OPNSense/core a7034c0Scripts class-import.sh, src/opnsense/mvc/app/models/OPNsense/Hostdiscovery Hostwatch.xml

src: whitespace sweep
DeltaFile
+2-2src/opnsense/mvc/app/models/OPNsense/Hostdiscovery/Hostwatch.xml
+1-1Scripts/class-import.sh
+3-32 files

OPNSense/core faa7dabsrc/etc/inc util.inc, src/etc/inc/plugins.inc.d pf.inc

system: audit staticroute' config access for #10027
DeltaFile
+1-4src/etc/inc/plugins.inc.d/pf.inc
+2-3src/etc/inc/util.inc
+1-0src/opnsense/mvc/app/controllers/OPNsense/Routing/Api/SettingsController.php
+0-1src/opnsense/mvc/app/models/OPNsense/Firewall/Alias.php
+4-84 files

OPNSense/core 700d6a0src/opnsense/mvc/app/library/OPNsense/Core ConfigMaintenance.php, src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes PortFieldTest.php

src: a few more samples for import linter
DeltaFile
+0-3src/opnsense/mvc/app/library/OPNsense/Core/ConfigMaintenance.php
+1-1src/opnsense/scripts/captiveportal/process_accounting_messages.php
+0-1src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/PortFieldTest.php
+1-53 files

OPNSense/core 2c74e4eScripts class-import.sh

Scripts: tweak pattern matching related to #10052
DeltaFile
+3-9Scripts/class-import.sh
+3-91 files

OPNSense/core acab676src/opnsense/mvc/script run_validations.php

mvc: obvious linter complaint
DeltaFile
+0-2src/opnsense/mvc/script/run_validations.php
+0-21 files

OPNSense/core bbf6ee6src/www firewall_rule_lookup.php

firewall: unused vars/imports
DeltaFile
+0-4src/www/firewall_rule_lookup.php
+0-41 files

OPNSense/core e6726baMk lint.mk, Scripts class-import.sh

lint: Add linter that finds unused imports in php classes
DeltaFile
+49-0Scripts/class-import.sh
+4-1Mk/lint.mk
+53-12 files

OPNSense/core aaf9a1csrc/opnsense/mvc/app/controllers/OPNsense/IDS/Api SettingsController.php, src/opnsense/mvc/app/controllers/OPNsense/Monit/Api SettingsController.php

mvc: Remove UIModelGrid imports in IDS, Monit, Syslog SettingsController, unused
DeltaFile
+0-1src/opnsense/mvc/app/controllers/OPNsense/IDS/Api/SettingsController.php
+0-1src/opnsense/mvc/app/controllers/OPNsense/Monit/Api/SettingsController.php
+0-1src/opnsense/mvc/app/controllers/OPNsense/Syslog/Api/SettingsController.php
+0-33 files

OPNSense/core fd780bbsrc/etc/inc/plugins.inc.d radvd.inc

radvd: make a note for dev/debug and closes #10048

Ideally this should be refactored a bit to flush the configuration
regardless of enabled state, but the legacy code has no separate
template flush so it is tied to service (re)start and we are going
to leave it at a note.
DeltaFile
+1-0src/etc/inc/plugins.inc.d/radvd.inc
+1-01 files

OPNSense/core 79ba2dasrc/etc/inc/plugins.inc.d radvd.inc

radvd: refactor and put eligible-test back #10048

Not super happy but make $radvdifs use simpler since $manuallist now
does exclusion and we don't use the values saved in the former anyway.
DeltaFile
+10-10src/etc/inc/plugins.inc.d/radvd.inc
+10-101 files

OPNSense/core 7116a1fsrc/etc/inc/plugins.inc.d radvd.inc

radvd: split lists, easier to read and less code #10048
DeltaFile
+4-3src/etc/inc/plugins.inc.d/radvd.inc
+4-31 files

OPNSense/core 72ccc1esrc/etc/inc/plugins.inc.d radvd.inc

radvd: allow to start without primary IPv6 for #10048

Reshuffle the code a little to make it (a bit) more obvious this is
safe to assume and working confirmed by automatic mode already.

Since we have full control via MVC enable/disable this is fine now.
DeltaFile
+16-24src/etc/inc/plugins.inc.d/radvd.inc
+16-241 files

OPNSense/core 816271dsrc/opnsense/www/js opnsense_bootgrid.js

bootgrid: shorten previous

(cherry picked from commit 7a6a581209024b2b08a846c3699330a067e611f1)
DeltaFile
+2-2src/opnsense/www/js/opnsense_bootgrid.js
+2-21 files

OPNSense/core 7a6a581src/opnsense/www/js opnsense_bootgrid.js

bootgrid: shorten previous
DeltaFile
+2-2src/opnsense/www/js/opnsense_bootgrid.js
+2-21 files

OPNSense/core 6e4cbcesrc/opnsense/www/js opnsense_bootgrid.js

bootgrid: limit maintaining scroll position to inplace=true, continuation of 75e60e8

This shouldn't be the default behavior, as a "refresh" would also
maintain scrolling position.

(cherry picked from commit e67ea610853257814b6f9f543a7ed70e26d47654)
DeltaFile
+3-3src/opnsense/www/js/opnsense_bootgrid.js
+3-31 files

OPNSense/core e67ea61src/opnsense/www/js opnsense_bootgrid.js

bootgrid: limit maintaining scroll position to inplace=true, continuation of 75e60e8

This shouldn't be the default behavior, as a "refresh" would also
maintain scrolling position.
DeltaFile
+3-3src/opnsense/www/js/opnsense_bootgrid.js
+3-31 files

OPNSense/core 7c8bda9src/opnsense/scripts/wireguard wg-service-control.php

wireguard: sprint clean related to #10094
DeltaFile
+19-18src/opnsense/scripts/wireguard/wg-service-control.php
+19-181 files

OPNSense/core 78c691fsrc/opnsense/www/js opnsense_bootgrid.js

bootgrid: maintain scrolling position for both datatree and command actions. Closes https://github.com/opnsense/core/issues/9151

The usage of scrollToRow has been considered, but this contains
too much magic causing all kinds of jumps in scroll position,
causing a user to lose track of the changes they made. The only
downside to this is that when a datatree is expanded at the bottom
of a grid, the associated rows aren't immediately visible until
manually scrolled to.

(cherry picked from commit 75e60e85194e7f2bf7e20e3891743ce801e05820)
DeltaFile
+14-2src/opnsense/www/js/opnsense_bootgrid.js
+14-21 files

OPNSense/core d6f9433src/opnsense/www/js/widgets Disk.js Memory.js

dashboard:gauge improvements (#10063)

Closes: #8356

*Makes the disk widget become table/bars from grid 2 size onwards
*Adds disk free/used size on the gauge
*Removes parentheses from the memory widget

---------

Co-authored-by: Fabian Rodriguez <317514+MagicFab at users.noreply.github.com>
(cherry picked from commit 7f3bcf5b787145b7cf185854758c3cddefdf1971)
DeltaFile
+13-1src/opnsense/www/js/widgets/Disk.js
+1-1src/opnsense/www/js/widgets/Memory.js
+14-22 files

OPNSense/core 0e999ccsrc/opnsense/mvc/app/views/layout_partials base_apply_button.volt, src/opnsense/www/js opnsense_bootgrid.js

bootgrid: automatic grid height calculation (#10011)

(cherry picked from commit 40a6243a3183dbba563aa551b45f9e237f95efd1)
(cherry picked from commit 2edab3dbff3ee07a1439429b6963a71bf708687e)
(cherry picked from commit 92fa22970b40789fa7479222213cf9cfcfd744f1)
DeltaFile
+71-50src/opnsense/www/js/opnsense_bootgrid.js
+0-4src/opnsense/www/themes/opnsense-dark/build/css/main.css
+0-4src/opnsense/www/themes/opnsense/build/css/main.css
+1-1src/opnsense/mvc/app/views/layout_partials/base_apply_button.volt
+72-594 files

OPNSense/core e6f10adsrc/opnsense/www/js tabulator.min.js tabulator.min.js.map

bootgrid: upgrade Tabulator to version 6.4.0

(cherry picked from commit 5c71f09cc5947903439bd7fc3839fd8f75045ab4)
DeltaFile
+2-2src/opnsense/www/js/tabulator.min.js
+1-1src/opnsense/www/js/tabulator.min.js.map
+3-32 files

OPNSense/core 1799985src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.xml KeaDhcpv6.xml

Services: Kea: DHCPv4/v6: Use SetConstraint for match_data to allow 0 as valid value (#10035)

(cherry picked from commit 7933d1bc3f0d8b8d9944160e8e24529ceb111291)
(cherry picked from commit d21ce0604318db4c876453e3ac9116ee23922ccf)
DeltaFile
+3-3src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+3-3src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+6-62 files