Skip to content

Commit 33793fe

Browse files
author
Paul C
committed
Merge beta into master for v24.54.0 release
2 parents df94537 + 5322869 commit 33793fe

7 files changed

Lines changed: 1180 additions & 1126 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "wolfstack"
3-
version = "24.53.1"
3+
version = "24.54.0"
44
edition = "2024"
55
authors = ["Wolf Software Systems Ltd"]
66
description = "Server management platform for the Wolf software suite"

web/console.html

Lines changed: 125 additions & 204 deletions
Large diffs are not rendered by default.

web/css/style.css

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4482,6 +4482,10 @@ body.learn-drawer-open #task-log-footer { right: var(--learn-drawer-w) !importan
44824482
background: var(--bg-primary);
44834483
position: relative; /* anchor for the absolutely-positioned help popover */
44844484
}
4485+
/* When embedded in a sized host (the in-app Terminal panel / the pop-out
4486+
window body) the shell fills the host instead of the viewport. */
4487+
.wtc-host { display: flex; flex-direction: column; min-height: 0; }
4488+
.wtc-host .fleet-console-shell { height: 100%; min-height: 0; }
44854489
.fc-tabstrip {
44864490
display: flex;
44874491
align-items: stretch;
@@ -4536,6 +4540,20 @@ body.learn-drawer-open #task-log-footer { right: var(--learn-drawer-w) !importan
45364540
}
45374541
.fc-tab-add:hover { color: var(--accent); border-color: var(--accent); }
45384542

4543+
/* Always-visible split controls anchored to the right of the tab strip. */
4544+
.fc-tabstrip-tools {
4545+
display: inline-flex; align-items: center; gap: 6px;
4546+
margin-left: auto; padding: 0 4px 6px;
4547+
flex-shrink: 0;
4548+
}
4549+
.fc-tool-btn {
4550+
display: inline-flex; align-items: center; gap: 4px;
4551+
padding: 6px 11px; border: 1px solid var(--border); border-radius: 8px;
4552+
background: var(--bg-card, var(--bg-secondary)); color: var(--text-secondary);
4553+
cursor: pointer; font-size: 12px; white-space: nowrap; line-height: 1;
4554+
}
4555+
.fc-tool-btn:hover { color: var(--accent); border-color: var(--accent); }
4556+
45394557
.fc-stage { flex: 1 1 auto; min-height: 0; padding: 8px; overflow: hidden; }
45404558
.fc-grid { display: flex; width: 100%; height: 100%; min-height: 0; gap: 0; }
45414559
.fc-grid-single, .fc-grid-h { flex-direction: column; }
@@ -4578,6 +4596,10 @@ body.learn-drawer-open #task-log-footer { right: var(--learn-drawer-w) !importan
45784596
background: rgba(10,10,10,0.86); backdrop-filter: blur(2px); z-index: 4;
45794597
color: var(--text-secondary); font-size: 13px;
45804598
}
4599+
/* The class's display:flex outranks the UA [hidden] rule, so without this the
4600+
connecting/reconnect scrim stays permanently over a LIVE terminal — dimming
4601+
and blurring it. This makes hidden actually hide it. */
4602+
.fc-pane-overlay[hidden] { display: none; }
45814603
.fc-overlay-inner { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; padding: 16px; }
45824604
.fc-overlay-spin {
45834605
width: 30px; height: 30px; border: 3px solid rgba(127,127,127,0.25);
@@ -4652,15 +4674,6 @@ body.learn-drawer-open #task-log-footer { right: var(--learn-drawer-w) !importan
46524674
color: var(--text-primary); background: rgba(127,127,127,0.12);
46534675
}
46544676
.fc-menu-btn .fc-caret { font-size: 9px; opacity: 0.55; }
4655-
/* Terminal Console: a slim accent pill with white text — readable on every
4656-
theme, stands out as the primary action, single line. */
4657-
.fc-menu-term-btn {
4658-
color: #fff; background: var(--accent); border: none; font-weight: 600;
4659-
white-space: nowrap; margin-left: 4px; padding: 6px 13px;
4660-
}
4661-
.fc-menu-term-btn:hover, .fc-menu-term-btn:focus {
4662-
color: #fff; background: var(--accent); filter: brightness(1.1); outline: none;
4663-
}
46644677
.fc-menu-dropdown {
46654678
position: absolute; top: calc(100% + 6px); left: 0; min-width: 220px;
46664679
background: var(--bg-card, var(--bg-secondary)); border: 1px solid var(--border);

web/index.html

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,9 @@
8484
<script>document.getElementById('main-css').href='/css/style.css?v='+Date.now();</script>
8585
<script src="/js/vendor/xterm.min.js?v=15.10.7a" defer></script>
8686
<script src="/js/vendor/xterm-addon-fit.min.js?v=15.10.7a" defer></script>
87+
<!-- Reusable KDE-Konsole-style terminal engine (window.WolfTermConsole).
88+
Loaded before app.js so the per-node Terminal panel can mount it. -->
89+
<script src="/js/terminal-console.js?v=15.10.7a" defer></script>
8790
<style>
8891
/* Map Styles */
8992
#world-map {
@@ -3109,14 +3112,6 @@ <h3>AI Analysis</h3>
31093112
sync with the JS — no duplicated HTML/JS surface. -->
31103113
<div id="page-inbox" class="page-view" style="display:none;"></div>
31113114

3112-
<!-- ═══ Fleet Terminal Console (byobu-style) ═══
3113-
Built/rendered by fleetConsoleInit() in app.js. The shell is
3114-
created once on first selectView('fleet-console') and then
3115-
KEPT LIVE — selectView hides page-views with display:none, so
3116-
the xterm + WebSocket instances persist across in-app
3117-
navigation. Do NOT dispose terminals when this page hides. -->
3118-
<div id="page-fleet-console" class="page-view" style="display:none; padding:0;"></div>
3119-
31203115
<!-- ═══ Global WolfNet Page ═══ -->
31213116
<div id="page-global-wolfnet" class="page-view" style="display:none;">
31223117
<!-- Header -->
@@ -5093,7 +5088,7 @@ <h3>Terminal</h3>
50935088
<div style="display:flex; align-items:center; gap:8px;">
50945089
<span id="inline-term-status"
50955090
style="font-size:12px; padding:3px 10px; border-radius:12px; background:#333; color:#888;">Connecting...</span>
5096-
<button class="btn btn-sm" onclick="openConsole(inlineTermType || 'host', inlineTermName || '')"
5091+
<button class="btn btn-sm" onclick="inlineTermPopOut()"
50975092
title="Pop out to separate window">↗️ Pop Out</button>
50985093
</div>
50995094
</div>

0 commit comments

Comments
 (0)