Update connection cards and version to 0.5.1

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
didoandCopilot committed 2026-10-07 23:29:55 +03:00
1 parent 4d64be9996
commit 4862256371
5 files changed
+25 -14

No files matched your search

+1 -1
View File
@@ -7,7 +7,7 @@ set -e
# Configuration # Configuration
IMAGE_NAME="danaildr/webssh" IMAGE_NAME="danaildr/webssh"
VERSION="0.5.0" VERSION="0.5.1"
PLATFORMS="linux/amd64,linux/arm64,linux/arm/v7" PLATFORMS="linux/amd64,linux/arm64,linux/arm/v7"
# Colors # Colors
+1 -1
View File
@@ -390,7 +390,7 @@
<p>📖 <strong>Project page:</strong> <a href="https://danaildr.eu/projects/webssh.html" target="_blank" rel="noopener">danaildr/webssh</a></p> <p>📖 <strong>Project page:</strong> <a href="https://danaildr.eu/projects/webssh.html" target="_blank" rel="noopener">danaildr/webssh</a></p>
<p>🐳 <strong>Docker Hub:</strong> <a href="https://hub.docker.com/r/danaildr/webssh" target="_blank" rel="noopener">danaildr/webssh</a></p> <p>🐳 <strong>Docker Hub:</strong> <a href="https://hub.docker.com/r/danaildr/webssh" target="_blank" rel="noopener">danaildr/webssh</a></p>
<p>📧 <strong>Support:</strong> See the <a href="https://danaildr.eu/projects/webssh.html" target="_blank" rel="noopener">project documentation</a> for setup, env vars, and reverse proxy config.</p> <p>📧 <strong>Support:</strong> See the <a href="https://danaildr.eu/projects/webssh.html" target="_blank" rel="noopener">project documentation</a> for setup, env vars, and reverse proxy config.</p>
<p>🔄 <strong>Version:</strong> WebSSH Multi-Connection Terminal v0.5.0</p> <p>🔄 <strong>Version:</strong> WebSSH Multi-Connection Terminal v0.5.1</p>
<p>⚡ <strong>Technologies:</strong> Python, Paramiko, WebSockets, HTML5, CSS3, JavaScript</p> <p>⚡ <strong>Technologies:</strong> Python, Paramiko, WebSockets, HTML5, CSS3, JavaScript</p>
</div> </div>
</body> </body>
+17 -8
View File
@@ -102,23 +102,30 @@ body {
.connection-item.disconnected { border-left: 3px solid #ef4444; } .connection-item.disconnected { border-left: 3px solid #ef4444; }
.connection-name { .connection-name {
flex: 1;
min-width: 0;
font-weight: 500; font-weight: 500;
font-size: 14px; font-size: 14px;
white-space: nowrap; overflow-wrap: anywhere;
overflow: hidden;
text-overflow: ellipsis;
} }
.connection-heading { .connection-heading {
display: flex; display: flex;
flex-direction: column; /* Добавено: подрежда ги вертикално */ flex-direction: column;
align-items: flex-start; /* Променено: подравнява ги вляво */ align-items: flex-start;
gap: 2px; /* Намалено, за да са по-близо едно до друго вертикално */ gap: 2px;
min-width: 0; min-width: 0;
margin-bottom: 4px; margin-bottom: 4px;
} }
.connection-heading .connection-name { min-width: 0; } .connection-title-row {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 8px;
width: 100%;
min-width: 0;
}
.connection-load { .connection-load {
flex: 0 1 auto; flex: 0 1 auto;
@@ -136,9 +143,11 @@ body {
} }
.host-status { .host-status {
margin-top: 4px; flex: none;
font-size: 11px; font-size: 11px;
font-weight: 500; font-weight: 500;
text-align: right;
white-space: nowrap;
} }
.host-status.up { color: #34d399; } .host-status.up { color: #34d399; }
+5 -3
View File
@@ -450,16 +450,18 @@ function renderConnectionList() {
item.onclick = () => selectConnection(conn.id); item.onclick = () => selectConnection(conn.id);
item.innerHTML = ` item.innerHTML = `
<div class="connection-heading"> <div class="connection-heading">
<div class="connection-title-row">
<div class="connection-name">${conn.name}</div> <div class="connection-name">${conn.name}</div>
<div class="host-status ${conn.hostStatus === true ? 'up' : conn.hostStatus === false ? 'down' : 'checking'}">
Host: ${conn.hostStatus === true ? 'Up' : conn.hostStatus === false ? 'Down' : 'Checking...'}
</div>
</div>
<div class="connection-load" title="Remote Linux load average">Load: ${loadText}</div> <div class="connection-load" title="Remote Linux load average">Load: ${loadText}</div>
</div> </div>
<div class="connection-info"> <div class="connection-info">
<span class="connection-status ${conn.connected ? 'connected' : 'disconnected'}"></span> <span class="connection-status ${conn.connected ? 'connected' : 'disconnected'}"></span>
${conn.username}@${conn.host}:${conn.port} ${conn.username}@${conn.host}:${conn.port}
</div> </div>
<div class="host-status ${conn.hostStatus === true ? 'up' : conn.hostStatus === false ? 'down' : 'checking'}">
Host: ${conn.hostStatus === true ? 'Up' : conn.hostStatus === false ? 'Down' : 'Checking...'}
</div>
<div class="connection-actions" onclick="event.stopPropagation()"> <div class="connection-actions" onclick="event.stopPropagation()">
${conn.connected ${conn.connected
? `<button class="btn-small btn-disconnect" onclick="disconnectConnection('${conn.id}')">Disconnect</button>` ? `<button class="btn-small btn-disconnect" onclick="disconnectConnection('${conn.id}')">Disconnect</button>`
+1 -1
View File
@@ -18,7 +18,7 @@ Usage:
from webssh_backend.main import main from webssh_backend.main import main
asyncio.run(main()) asyncio.run(main())
""" """
__version__ = "0.5.0" __version__ = "0.5.1"
# Note: Specific imports are intentionally NOT done at package level # Note: Specific imports are intentionally NOT done at package level
# to avoid loading all dependencies when only specific modules are needed. # to avoid loading all dependencies when only specific modules are needed.