This widget could not be displayed.
This widget could not be displayed.
cancel
Showing results for 
Search instead for 
Did you mean: 

Bug Report: VPN Fusion Device Assignment stuck loading – JavaScript ReferenceError on ZenWiFi AX XT8

esortho
Visitor

Dear ASUS Support Team,

I would like to report a reproducible bug in the VPN Fusion web interface on the ASUS ZenWiFi AX XT8.

The issue prevents users from assigning devices to VPN connections, despite the VPN tunnel itself functioning correctly.

System Information

  • Router: ASUS ZenWiFi AX XT8
  • Configuration: Two XT8 units in AiMesh configuration
  • Operation Mode: Wireless Router
  • Firmware: 3.0.0.4.388_24911
  • VPN Type: WireGuard (VPN Fusion client)
  • Browser: Google Chrome
  • Router Web Interface: HTTPS

Problem Description

When opening VPN Fusion → Device Assignment, the device selection dialog remains stuck in a loading state indefinitely.

No devices are displayed, even though all connected clients are correctly listed under Network Map → Clients.

The WireGuard VPN connection itself is established successfully.

Steps to Reproduce

  1. Log in to the ASUS router web interface.
  2. Navigate to VPN → VPN Fusion.
  3. Configure and activate a WireGuard VPN client.
  4. Open Device Assignment to select which clients should use the VPN connection.
  5. Observe that the device list never loads.

Expected behavior:

The Device Assignment dialog should display the available network clients and allow the user to assign them to the VPN connection.

Actual behavior:

The dialog remains stuck loading, and no clients are displayed.

JavaScript Error

Using Chrome Developer Tools, I identified the following error:

Uncaught ReferenceError:
getVendorIconClassName is not defined

at Get_Component_Client_List_Item (vpnc.html:1231:27)
at String.<anonymous> (vpnc.html:1324:31)
at ce.each (jquery.js:2:3129)
at Get_Component_Setting_Client_Policy (vpnc.html:1316:3)
at show_popup_second (vpnc.html:239:51)
at HTMLDivElement.<anonymous> (vpnc.html:1188:1)

The error occurs while VPN Fusion attempts to construct the device assignment list.

Additional console errors observed:

GET /VPN/countries.json
404 (Not Found)

GET /VPN/vpnc.css
net::ERR_TOO_MANY_RETRIES

These additional resource-loading errors may or may not be related.

Confirmed Workaround

I was able to restore the Device Assignment functionality by manually defining the missing JavaScript function in the correct execution context using Chrome Developer Tools.

The following code was executed in the VPN Fusion page’s JavaScript context:

window.getVendorIconClassName = function() {
    return "";
};

Result:

  • The Device Assignment list loaded successfully.
  • All available clients became visible.
  • Devices could be assigned to the WireGuard VPN connection.
  • The configuration was successfully saved.

This confirms that the missing JavaScript function is responsible for blocking the device list rendering.

The workaround is temporary and must be reapplied when the page is reloaded.

Suspected Root Cause

The VPN Fusion interface calls getVendorIconClassName() from vpnc.html, but the function is not available in the page’s JavaScript execution context.

This may indicate:

  • A missing JavaScript dependency.
  • An incorrect script-loading sequence.
  • A missing function definition in the current firmware.
  • A regression introduced in firmware 3.0.0.4.388_24911.

Since manually defining the function resolves the issue, the problem appears to be isolated to the VPN Fusion web interface rather than the underlying VPN functionality.

Requested Action

Please investigate and correct the missing getVendorIconClassName() function in the VPN Fusion interface.

Ideally, the fix should ensure that the client assignment list loads correctly without requiring manual JavaScript intervention.

I can provide screenshots of the Chrome Developer Tools console showing the error and the successful workaround.

Please confirm whether this is a known issue and whether a firmware fix is planned.

Best regards

0 REPLIES 0