lobstakit-cloud 1.3.11 → 1.3.13
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/package.json +1 -1
- package/public/js/manage.js +8 -1
- package/public/manage.html +1 -1
- package/server.js +2 -2
package/package.json
CHANGED
package/public/js/manage.js
CHANGED
|
@@ -338,7 +338,7 @@ function initTerminal() {
|
|
|
338
338
|
|
|
339
339
|
runBtn.addEventListener('click', runTerminalCommand);
|
|
340
340
|
inputEl.addEventListener('keydown', (event) => {
|
|
341
|
-
if (event.key === 'Enter') {
|
|
341
|
+
if (event.key === 'Enter' && (event.ctrlKey || event.metaKey)) {
|
|
342
342
|
event.preventDefault();
|
|
343
343
|
runTerminalCommand();
|
|
344
344
|
return;
|
|
@@ -1508,6 +1508,13 @@ function updateWebchatSection() {
|
|
|
1508
1508
|
var webchatUrl = serve.webchatUrl || serve.url || '';
|
|
1509
1509
|
var displayUrl = serve.url || '';
|
|
1510
1510
|
|
|
1511
|
+
// Auto-attach gateway token so the web chat opens without pairing prompt,
|
|
1512
|
+
// even when accessed via a reverse proxy (Tailscale Serve, nginx, etc.)
|
|
1513
|
+
if (webchatUrl && _gatewayInfo && _gatewayInfo.token) {
|
|
1514
|
+
var sep = webchatUrl.includes('?') ? '&' : '?';
|
|
1515
|
+
webchatUrl = webchatUrl + sep + 'token=' + encodeURIComponent(_gatewayInfo.token);
|
|
1516
|
+
}
|
|
1517
|
+
|
|
1511
1518
|
if (urlEl) urlEl.textContent = displayUrl;
|
|
1512
1519
|
if (linkEl) linkEl.href = webchatUrl;
|
|
1513
1520
|
|
package/public/manage.html
CHANGED
|
@@ -191,7 +191,7 @@
|
|
|
191
191
|
<h3>🖥️ Terminal</h3>
|
|
192
192
|
<div class="terminal-output" id="terminal-output" style="min-height:120px;max-height:300px;overflow-y:auto;background:#0d1117;color:#e6edf3;font-family:monospace;font-size:13px;padding:12px;border-radius:6px;margin-bottom:10px;white-space:pre-wrap;"></div>
|
|
193
193
|
<div style="display:flex;gap:8px;">
|
|
194
|
-
<
|
|
194
|
+
<textarea id="terminal-input" placeholder="Enter command... (Ctrl+Enter to run)" rows="2" style="flex:1;font-family:monospace;font-size:13px;color:#e6edf3;background:#0d1117;border:1px solid #30363d;padding:6px 10px;border-radius:6px;outline:none;resize:vertical;"></textarea>
|
|
195
195
|
<button id="terminal-run-btn" class="btn btn-secondary">Run</button>
|
|
196
196
|
</div>
|
|
197
197
|
</div>
|
package/server.js
CHANGED
|
@@ -904,8 +904,8 @@ app.post('/api/run-command', (req, res) => {
|
|
|
904
904
|
if (!command) {
|
|
905
905
|
return res.status(400).json({ error: 'Command is required' });
|
|
906
906
|
}
|
|
907
|
-
if (command.length >
|
|
908
|
-
return res.status(400).json({ error: 'Command too long (max
|
|
907
|
+
if (command.length > 10000) {
|
|
908
|
+
return res.status(400).json({ error: 'Command too long (max 10000 characters)' });
|
|
909
909
|
}
|
|
910
910
|
|
|
911
911
|
try {
|