@trusty-squire/mcp 0.7.5 → 0.7.6
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/assets/login/vnc.html +5 -27
- package/package.json +1 -1
package/assets/login/vnc.html
CHANGED
|
@@ -29,25 +29,7 @@
|
|
|
29
29
|
flex: none; }
|
|
30
30
|
#dot.ok { background: #3fb950; }
|
|
31
31
|
#dot.err { background: #f85149; }
|
|
32
|
-
|
|
33
|
-
races flex layout and we've burned three releases on it. Just
|
|
34
|
-
do the scaling ourselves: width:100% + height:auto on the
|
|
35
|
-
canvas, with the screen DIV flex-centering whatever's inside.
|
|
36
|
-
The browser does aspect-preserving scaling from the canvas's
|
|
37
|
-
intrinsic dimensions (the framebuffer width/height attributes)
|
|
38
|
-
— exactly what we want, no JS involved. The !important is
|
|
39
|
-
required because noVNC writes inline `style.width`/`style.height`
|
|
40
|
-
on the canvas; without !important those would beat our rule. */
|
|
41
|
-
#screen { flex: 1; position: relative; background: #0f1115;
|
|
42
|
-
min-height: 0; min-width: 0; width: 100%;
|
|
43
|
-
overflow: hidden;
|
|
44
|
-
display: flex; align-items: center; justify-content: center; }
|
|
45
|
-
#screen > canvas {
|
|
46
|
-
display: block !important;
|
|
47
|
-
width: 100% !important;
|
|
48
|
-
height: auto !important;
|
|
49
|
-
max-height: 100% !important;
|
|
50
|
-
}
|
|
32
|
+
#screen { flex: 1; position: relative; background: #0f1115; min-height: 0; }
|
|
51
33
|
/* Overlay siblings of #screen — `position: fixed` against the
|
|
52
34
|
viewport, NOT positioned inside #screen. RFB appends a <canvas>
|
|
53
35
|
child to #screen at connect time, and that canvas can cover any
|
|
@@ -107,12 +89,12 @@
|
|
|
107
89
|
<script type="module">
|
|
108
90
|
import RFB from "./core/rfb.js";
|
|
109
91
|
|
|
110
|
-
// The VNC password rides in the URL fragment (#
|
|
92
|
+
// The VNC password rides in the URL fragment (#password=...), never
|
|
111
93
|
// the query string — a fragment is never sent to the server, so the
|
|
112
94
|
// secret stays out of the cloudflared edge logs and any proxy.
|
|
113
|
-
// Accept the legacy `password=` key too in case any old bookmark
|
|
114
|
-
// outlived the rename.
|
|
115
95
|
const params = new URLSearchParams(location.hash.replace(/^#/, ""));
|
|
96
|
+
// Accept both `p=` (current, short) and `password=` (legacy) so any
|
|
97
|
+
// saved URL keeps working.
|
|
116
98
|
const password = params.get("p") || params.get("password") || "";
|
|
117
99
|
const dot = document.getElementById("dot");
|
|
118
100
|
const msg = document.getElementById("msg");
|
|
@@ -128,11 +110,7 @@
|
|
|
128
110
|
let rfb;
|
|
129
111
|
try {
|
|
130
112
|
rfb = new RFB(screen, wsUrl, { credentials: { password }, shared: true });
|
|
131
|
-
|
|
132
|
-
// canvas styling above does aspect-preserving fit-to-width in
|
|
133
|
-
// pure CSS; touching either of these from JS introduces races
|
|
134
|
-
// we can't win on first paint.
|
|
135
|
-
rfb.scaleViewport = false;
|
|
113
|
+
rfb.scaleViewport = true;
|
|
136
114
|
rfb.resizeSession = false;
|
|
137
115
|
} catch (err) {
|
|
138
116
|
dot.className = "err";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trusty-squire/mcp",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.6",
|
|
4
4
|
"mcpName": "io.github.Trusty-Squire/mcp",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Local MCP server vibe coding agents install. Thin relay to the Trusty Squire API, with the bundled universal signup bot.",
|