shell-mirror 1.5.78 → 1.5.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -58,8 +58,10 @@
|
|
|
58
58
|
<header class="dashboard-header">
|
|
59
59
|
<div class="header-content">
|
|
60
60
|
<div class="logo">
|
|
61
|
-
<
|
|
62
|
-
|
|
61
|
+
<a href="/" style="text-decoration: none; color: inherit;">
|
|
62
|
+
<h1>Shell Mirror</h1>
|
|
63
|
+
<span class="subtitle">Dashboard</span>
|
|
64
|
+
</a>
|
|
63
65
|
</div>
|
|
64
66
|
<div class="header-right">
|
|
65
67
|
<div class="user-section" id="user-section">
|
package/public/app/dashboard.js
CHANGED
|
@@ -46,6 +46,7 @@ class ShellMirrorDashboard {
|
|
|
46
46
|
this.user = authStatus.user;
|
|
47
47
|
await this.loadDashboardData();
|
|
48
48
|
this.renderAuthenticatedDashboard();
|
|
49
|
+
this.updateLastRefreshTime();
|
|
49
50
|
this.enableHttpOnlyMode(); // Use HTTP-only mode (no persistent WebSocket)
|
|
50
51
|
this.startAutoRefresh(); // Start auto-refresh for authenticated users
|
|
51
52
|
} else {
|
|
@@ -99,7 +100,7 @@ class ShellMirrorDashboard {
|
|
|
99
100
|
this.lastRefresh = Date.now();
|
|
100
101
|
const refreshStatus = document.getElementById('refresh-status');
|
|
101
102
|
if (refreshStatus) {
|
|
102
|
-
refreshStatus.textContent = `
|
|
103
|
+
refreshStatus.textContent = `Agents updated: ${new Date(this.lastRefresh).toLocaleTimeString()}`;
|
|
103
104
|
}
|
|
104
105
|
}
|
|
105
106
|
|
|
@@ -400,7 +401,7 @@ class ShellMirrorDashboard {
|
|
|
400
401
|
const data = await response.json();
|
|
401
402
|
|
|
402
403
|
if (data.success && data.data && data.data.authenticated) {
|
|
403
|
-
return { isAuthenticated: true, user: data.data };
|
|
404
|
+
return { isAuthenticated: true, user: data.data.user };
|
|
404
405
|
}
|
|
405
406
|
} catch (error) {
|
|
406
407
|
console.log('Auth check failed:', error);
|
|
@@ -502,13 +503,13 @@ class ShellMirrorDashboard {
|
|
|
502
503
|
document.getElementById('user-section').innerHTML = `
|
|
503
504
|
<div class="dashboard-controls">
|
|
504
505
|
<span id="connection-status" class="connection-status" style="display: none;"></span>
|
|
505
|
-
<span id="refresh-status" class="refresh-status">
|
|
506
|
+
<span id="refresh-status" class="refresh-status">Loading...</span>
|
|
506
507
|
</div>
|
|
507
508
|
<button class="help-button" onclick="dashboard.showAgentInstructions()" title="How to Use">
|
|
508
509
|
📖 How to Use
|
|
509
510
|
</button>
|
|
510
511
|
<div class="user-info">
|
|
511
|
-
<span class="user-name">${this.user
|
|
512
|
+
<span class="user-name">${this.user?.name || this.user?.email || 'User'}</span>
|
|
512
513
|
<div class="user-dropdown">
|
|
513
514
|
<button class="dropdown-btn">⚙️</button>
|
|
514
515
|
<div class="dropdown-content">
|
package/public/app/terminal.html
CHANGED
|
@@ -395,7 +395,7 @@
|
|
|
395
395
|
}
|
|
396
396
|
|
|
397
397
|
.help-section p {
|
|
398
|
-
color: #
|
|
398
|
+
color: #333;
|
|
399
399
|
line-height: 1.6;
|
|
400
400
|
margin-bottom: 8px;
|
|
401
401
|
}
|
|
@@ -408,7 +408,7 @@
|
|
|
408
408
|
|
|
409
409
|
.help-section li {
|
|
410
410
|
padding: 4px 0;
|
|
411
|
-
color: #
|
|
411
|
+
color: #333;
|
|
412
412
|
line-height: 1.6;
|
|
413
413
|
}
|
|
414
414
|
|