@trusty-squire/mcp 0.7.3 → 0.7.5
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 +25 -9
- package/package.json +1 -1
package/assets/login/vnc.html
CHANGED
|
@@ -29,7 +29,25 @@
|
|
|
29
29
|
flex: none; }
|
|
30
30
|
#dot.ok { background: #3fb950; }
|
|
31
31
|
#dot.err { background: #f85149; }
|
|
32
|
-
|
|
32
|
+
/* noVNC's scaleViewport is unreliable on mobile — its measurement
|
|
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
|
+
}
|
|
33
51
|
/* Overlay siblings of #screen — `position: fixed` against the
|
|
34
52
|
viewport, NOT positioned inside #screen. RFB appends a <canvas>
|
|
35
53
|
child to #screen at connect time, and that canvas can cover any
|
|
@@ -110,14 +128,12 @@
|
|
|
110
128
|
let rfb;
|
|
111
129
|
try {
|
|
112
130
|
rfb = new RFB(screen, wsUrl, { credentials: { password }, shared: true });
|
|
113
|
-
//
|
|
114
|
-
//
|
|
115
|
-
//
|
|
116
|
-
//
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
rfb.scaleViewport = true;
|
|
120
|
-
rfb.resizeSession = true;
|
|
131
|
+
// Disable BOTH server-side resize and noVNC's CSS scaling. The
|
|
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;
|
|
136
|
+
rfb.resizeSession = false;
|
|
121
137
|
} catch (err) {
|
|
122
138
|
dot.className = "err";
|
|
123
139
|
msg.textContent = "Could not start the login window: " + 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.5",
|
|
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.",
|