diff --git a/CHANGELOG.md b/CHANGELOG.md
index d73aa83..d101833 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,7 @@ All notable changes to Proxmox VE for WHMCS will be documented in this file.
### 🐛 Bug Fix
- VNC: Resolve node as root, then connect VNC as limited user (#183)
- nextid: No param, so we get nextid; then declare as required (#185)
+- CSS: If node authentication fails, close div so render is OK (#177)
## [1.3.1] - 2025-12-12 - _"Relativity & Nodes"_
diff --git a/modules/addons/pvewhmcs/pvewhmcs.php b/modules/addons/pvewhmcs/pvewhmcs.php
index a728ea6..cc3ba87 100644
--- a/modules/addons/pvewhmcs/pvewhmcs.php
+++ b/modules/addons/pvewhmcs/pvewhmcs.php
@@ -349,7 +349,7 @@ function pvewhmcs_output($vars) {
// Login + get cluster/resources
$proxmox = new PVE2_API($serverip, $serverusername, "pam", $serverpassword['password']);
if (!$proxmox->login()) {
- echo '
Unable to log in to PVE API on ' . htmlspecialchars($serverip) . '. Check credentials / connectivity.
';
+ echo 'Unable to log in to PVE API on ' . htmlspecialchars($serverip) . '. Check credentials / connectivity.
';
continue;
}
@@ -503,7 +503,7 @@ function pvewhmcs_output($vars) {
$proxmox = new PVE2_API($serverip, $serverusername, "pam", $serverpassword['password']);
if (!$proxmox->login()) {
- echo 'Unable to log in to PVE API on ' . htmlspecialchars($serverip) . '.
';
+ echo 'Unable to log in to PVE API on ' . htmlspecialchars($serverip) . '. Check credentials / connectivity.
';
continue;
}
@@ -858,7 +858,7 @@ function pvewhmcs_output($vars) {
$proxmox = new PVE2_API($pve->ipaddress, $pve->username, "pam", $serverpassword);
if (!$proxmox->login()) {
- throw new Exception('Login to Proxmox API failed.');
+ throw new Exception('Unable to log in to PVE API on ' . htmlspecialchars($pve->ipaddress) . '. Check credentials / connectivity.');
}
}
@@ -940,14 +940,12 @@ function pvewhmcs_output($vars) {
echo '';
}
echo '';
- // Always close the tab-pane div
- echo '';
}
} catch (Throwable $e) {
echo 'Could not retrieve PVE Cluster history: '
. htmlspecialchars($e->getMessage()) . '
';
}
- echo '';
+ echo '';
// End of tabbed content
// Handle saving the configuration if the form was submitted