@trusty-squire/mcp 0.7.3 → 0.7.4
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 +36 -7
- package/package.json +1 -1
package/assets/login/vnc.html
CHANGED
|
@@ -29,7 +29,17 @@
|
|
|
29
29
|
flex: none; }
|
|
30
30
|
#dot.ok { background: #3fb950; }
|
|
31
31
|
#dot.err { background: #f85149; }
|
|
32
|
-
|
|
32
|
+
/* overflow:hidden + width:100%+min-width:0 are load-bearing for
|
|
33
|
+
scaleViewport. noVNC measures the screen DIV via
|
|
34
|
+
getBoundingClientRect to decide the scale factor; without
|
|
35
|
+
overflow:hidden the canvas it appends as a child grows the
|
|
36
|
+
parent to its natural framebuffer size, making the bounding
|
|
37
|
+
rect report "no need to scale". min-width:0 prevents a flex
|
|
38
|
+
child from staying at its content's intrinsic width. */
|
|
39
|
+
#screen { flex: 1; position: relative; background: #0f1115;
|
|
40
|
+
min-height: 0; min-width: 0; width: 100%;
|
|
41
|
+
overflow: hidden; }
|
|
42
|
+
#screen > canvas { max-width: 100%; max-height: 100%; }
|
|
33
43
|
/* Overlay siblings of #screen — `position: fixed` against the
|
|
34
44
|
viewport, NOT positioned inside #screen. RFB appends a <canvas>
|
|
35
45
|
child to #screen at connect time, and that canvas can cover any
|
|
@@ -110,14 +120,29 @@
|
|
|
110
120
|
let rfb;
|
|
111
121
|
try {
|
|
112
122
|
rfb = new RFB(screen, wsUrl, { credentials: { password }, shared: true });
|
|
113
|
-
// Mobile-friendly geometry.
|
|
114
|
-
//
|
|
115
|
-
//
|
|
116
|
-
//
|
|
117
|
-
//
|
|
118
|
-
//
|
|
123
|
+
// Mobile-friendly geometry. scaleViewport CSS-scales the canvas
|
|
124
|
+
// to fit the screen DIV — works whether or not the server
|
|
125
|
+
// supports remote resize. resizeSession ALSO asks the X server
|
|
126
|
+
// to reshape its desktop to the canvas size, which avoids the
|
|
127
|
+
// tiny-text problem when the framebuffer is much larger than
|
|
128
|
+
// the phone. We turn both on; if remote resize succeeds the
|
|
129
|
+
// canvas redraws at native resolution, otherwise scaleViewport
|
|
130
|
+
// shrinks the original.
|
|
119
131
|
rfb.scaleViewport = true;
|
|
120
132
|
rfb.resizeSession = true;
|
|
133
|
+
|
|
134
|
+
// Re-apply the scale on any layout change (window resize,
|
|
135
|
+
// soft-keyboard pop, orientation flip). noVNC also does this
|
|
136
|
+
// internally on `connect`, but on at least one Android+noVNC-1.x
|
|
137
|
+
// combo the first scale fires before the flex layout finalizes,
|
|
138
|
+
// leaving the canvas at framebuffer-native size until something
|
|
139
|
+
// triggers a re-measure. A no-op assignment runs the setter,
|
|
140
|
+
// which re-reads the screen DIV's bounding rect and re-scales.
|
|
141
|
+
const reapplyScale = () => {
|
|
142
|
+
if (rfb) rfb.scaleViewport = true;
|
|
143
|
+
};
|
|
144
|
+
window.addEventListener("resize", reapplyScale);
|
|
145
|
+
window.addEventListener("orientationchange", reapplyScale);
|
|
121
146
|
} catch (err) {
|
|
122
147
|
dot.className = "err";
|
|
123
148
|
msg.textContent = "Could not start the login window: " + err;
|
|
@@ -127,6 +152,10 @@
|
|
|
127
152
|
rfb.addEventListener("connect", () => {
|
|
128
153
|
dot.className = "ok";
|
|
129
154
|
msg.style.display = "none";
|
|
155
|
+
// Re-fire the scale after the canvas has actually been added
|
|
156
|
+
// to the DOM by RFB — the property assigned at construction
|
|
157
|
+
// time may have run against an empty container.
|
|
158
|
+
reapplyScale();
|
|
130
159
|
});
|
|
131
160
|
rfb.addEventListener("disconnect", () => {
|
|
132
161
|
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.4",
|
|
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.",
|