OPNsense Forum

English Forums => 24.7, 24.10 Legacy Series => Topic started by: Dreamer 1 on July 30, 2024, 10:15:12 PM

Title: 24.7 OpenVPN Server Connections widget
Post by: Dreamer 1 on July 30, 2024, 10:15:12 PM
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.
Title: Re: 24.7 OpenVPN Server Connections widget
Post by: Dreamer 1 on August 01, 2024, 11:17:54 AM
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) {

Title: Re: 24.7 OpenVPN Server Connections widget
Post by: Monviech (Cedrik) on August 01, 2024, 11:30:33 AM
I have opened a ticket on github and will look into it.

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