24.7 OpenVPN Server Connections widget

Started by Dreamer 1, July 30, 2024, 10:15:12 PM

Previous topic - Next topic
Hi,
On 24.7 webgui the OpenVPN Server Connections widget cannot be loaded.
The page generates a js type error:
Failed to load content for widget: openvpnservers, Error: TypeError: selector.replace is not a function
    sanitizeSelector https://opnsense.lan/ui/js/widgets/BaseWidget.js:256
    updateTable https://opnsense.lan/ui/js/widgets/BaseTableWidget.js:157
    updateServers https://opnsense.lan/ui/js/widgets/OpenVPNServers.js?t=1722369615383:112
    updateServers https://opnsense.lan/ui/js/widgets/OpenVPNServers.js?t=1722369615383:63
    onWidgetTick https://opnsense.lan/ui/js/widgets/OpenVPNServers.js?t=1722369615383:118
    interval https://opnsense.lan/ui/js/opnsense_widget_manager.js?v=886fced7e714520f:475
    setInterval handler*_onMarkupRendered https://opnsense.lan/ui/js/opnsense_widget_manager.js?v=886fced7e714520f:473
    functions https://opnsense.lan/ui/js/opnsense_widget_manager.js?v=886fced7e714520f:400
    functions https://opnsense.lan/ui/js/opnsense_widget_manager.js?v=886fced7e714520f:399
    _loadDynamicContent https://opnsense.lan/ui/js/opnsense_widget_manager.js?v=886fced7e714520f:405
    _loadDynamicContent https://opnsense.lan/ui/js/opnsense_widget_manager.js?v=886fced7e714520f:405
    initialize https://opnsense.lan/ui/js/opnsense_widget_manager.js?v=886fced7e714520f:114
    async* https://opnsense.lan/ui/core/dashboard:1393
    jQuery 13
opnsense_widget_manager.js:486:17

Probably `selector` is not a string, will investigate further.

The problem seems to occur due to `selector` not being a string in BaseWidget.js -> sanitizeSelector().

Workaround:

+++ /usr/local/opnsense/www/js/widgets/BaseWidget.js
@@ -253,7 +253,7 @@
     }

     sanitizeSelector(selector) {
-        return selector.replace(/[:/.]/gi, '__');
+        return String(selector).replace(/[:/.]/gi, '__');
     }

     startCommandTransition(id, $target) {


I have opened a ticket on github and will look into it.

https://github.com/opnsense/core/issues/7701
Hardware:
DEC740