robopark 3.3.48 → 3.3.50

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.
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-5252e5254da079b5.js" defer=""></script><script src="/_next/static/chunks/framework-e60c938074ff7136.js" defer=""></script><script src="/_next/static/chunks/main-9e24e8708ff075fc.js" defer=""></script><script src="/_next/static/chunks/pages/_app-131c90850aef965b.js" defer=""></script><script src="/_next/static/chunks/pages/_error-e4ba546eb376bdf4.js" defer=""></script><script src="/_next/static/iUuW_Q49lgIrzZyrAuBfu/_buildManifest.js" defer=""></script><script src="/_next/static/iUuW_Q49lgIrzZyrAuBfu/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"iUuW_Q49lgIrzZyrAuBfu","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-5252e5254da079b5.js" defer=""></script><script src="/_next/static/chunks/framework-e60c938074ff7136.js" defer=""></script><script src="/_next/static/chunks/main-9e24e8708ff075fc.js" defer=""></script><script src="/_next/static/chunks/pages/_app-131c90850aef965b.js" defer=""></script><script src="/_next/static/chunks/pages/_error-e4ba546eb376bdf4.js" defer=""></script><script src="/_next/static/iThCB-S9kgCYKS76sXobJ/_buildManifest.js" defer=""></script><script src="/_next/static/iThCB-S9kgCYKS76sXobJ/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"iThCB-S9kgCYKS76sXobJ","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1,5 +1,5 @@
1
1
  {
2
- "/_error": "pages/_error.js",
3
2
  "/_app": "pages/_app.js",
3
+ "/_error": "pages/_error.js",
4
4
  "/_document": "pages/_document.js"
5
5
  }
@@ -1 +1 @@
1
- {"node":{},"edge":{},"encryptionKey":"JMtql1qNWnYIiJ26QrtQeoHGtFi0TRsQJt+/BI5O1ko="}
1
+ {"node":{},"edge":{},"encryptionKey":"iXNO4CRDaqSwxJ2joBKJom/8n5gtqF3HNf0BLQyVT6g="}
@@ -3366,7 +3366,12 @@ footer.cmd{left:var(--global-nav-width);transition:left .24s cubic-bezier(.2,.8,
3366
3366
  (function initManagement(){if($('rp-mgmt-node'))$('rp-mgmt-node').onchange=rpMgmtFill;if($('rp-mgmt-save'))$('rp-mgmt-save').onclick=rpMgmtSave;if($('rp-mgmt-send'))$('rp-mgmt-send').onclick=rpMgmtSend;if($('rp-mgmt-input'))$('rp-mgmt-input').addEventListener('keydown',function(e){if(e.key==='Enter'&&(e.ctrlKey||e.metaKey)){e.preventDefault();rpMgmtSend();}});if($('rp-mgmt-new'))$('rp-mgmt-new').onclick=function(){rpMgmtStopStream();rpMgmtChatId='';rpMgmtRender(null);$('rp-mgmt-input').focus();};if($('rp-mgmt-mesh'))$('rp-mgmt-mesh').addEventListener('robot-select',function(e){var select=$('rp-mgmt-node');if(select){select.value=e.detail.nodeId;rpMgmtFill();}});document.querySelectorAll('[data-mgmt-mode]').forEach(function(btn){btn.onclick=function(){var mode=btn.getAttribute('data-mgmt-mode');document.querySelectorAll('[data-mgmt-mode]').forEach(function(b){b.classList.toggle('active',b===btn);});document.querySelectorAll('[data-mgmt-panel]').forEach(function(panel){panel.hidden=panel.getAttribute('data-mgmt-panel')!==mode;});};});})();
3367
3367
 
3368
3368
  function rpScreenClose(){var stage=$('rp-screen-stage');if(stage)stage.innerHTML='<div class="rp-screen-empty">Choose an online robot to open its interactive desktop.</div>';}
3369
- function rpScreenOpen(ref,name){var stage=$('rp-screen-stage');stage.innerHTML='<div class="rp-screen-empty">Authorizing '+esc(name)+' desktop...</div>';fetch('/fed/media/screen-ticket'+QS,{method:'POST',headers:operatorHeaders()}).then(function(r){if(!r.ok)throw new Error('ticket HTTP '+r.status);return r.json();}).then(function(d){var meshOrigin=location.protocol+'//'+location.hostname+':47913',path='fed/media/robots/'+encodeURIComponent(ref)+'/screen/websockify?token='+encodeURIComponent(d.ticket),src=meshOrigin+'/fed/media/robots/'+encodeURIComponent(ref)+'/screen/vnc.html?token='+encodeURIComponent(d.ticket)+'&autoconnect=true&resize=scale&view_only=false&reconnect=true&path='+encodeURIComponent(path);stage.innerHTML='<iframe allow="clipboard-read; clipboard-write" title="'+esc(name)+' remote desktop" src="'+esc(src)+'"></iframe>';stage.scrollIntoView({behavior:'smooth',block:'start'});}).catch(function(e){stage.innerHTML='<div class="rp-screen-empty">Desktop authorization failed: '+esc(e.message)+'</div>';});}
3369
+ function rpScreenOpen(ref,name){var stage=$('rp-screen-stage');stage.innerHTML='<div class="rp-screen-empty">Authorizing '+esc(name)+' desktop...</div>';fetch('/fed/media/screen-ticket'+QS,{method:'POST',headers:operatorHeaders()}).then(function(r){if(!r.ok)throw new Error('ticket HTTP '+r.status);return r.json();}).then(function(d){// The mesh node speaks plain http on 47913. Addressing it as https:// (which
3370
+ // location.protocol does on a TLS control center) fails the handshake outright
3371
+ // with ERR_SSL_PROTOCOL_ERROR. Under https go through the `tailscale serve`
3372
+ // /mesh mapping instead, which terminates TLS and forwards -- including the
3373
+ // websocket upgrade websockify needs. Plain http keeps the direct port.
3374
+ var secure=location.protocol==='https:',meshOrigin=secure?location.origin+'/mesh':'http://'+location.hostname+':47913',pathPrefix=secure?'mesh/':'',path=pathPrefix+'fed/media/robots/'+encodeURIComponent(ref)+'/screen/websockify?token='+encodeURIComponent(d.ticket),src=meshOrigin+'/fed/media/robots/'+encodeURIComponent(ref)+'/screen/vnc.html?token='+encodeURIComponent(d.ticket)+'&autoconnect=true&resize=scale&view_only=false&reconnect=true&path='+encodeURIComponent(path);stage.innerHTML='<iframe allow="clipboard-read; clipboard-write" title="'+esc(name)+' remote desktop" src="'+esc(src)+'"></iframe>';stage.scrollIntoView({behavior:'smooth',block:'start'});}).catch(function(e){stage.innerHTML='<div class="rp-screen-empty">Desktop authorization failed: '+esc(e.message)+'</div>';});}
3370
3375
  function loadScreens(){var grid=$('rp-screen-grid'),nodes=rpMeshNodes();if(!grid)return;if(!nodes.length){grid.innerHTML='<div class="rp-tbl-empty">No mesh robots are registered.</div>';return;}grid.innerHTML=nodes.map(function(n){var name=n.deviceName||n.displayName||n.nodeId,fix='sudo robopark screen install && sudo robopark screen up '+rpShellArg(name)+' --desktop-user "$(logname)"';return '<article class="rp-screen-card"><div class="rp-screen-card-head"><div><b>'+esc(n.displayName||n.nodeId)+'</b><div class="pk-note">'+esc(n.role||'node')+' / '+esc(n.nodeId)+'</div></div><span class="rp-screen-state" id="rp-screen-state-'+esc(n.nodeId)+'">CHECKING</span></div><button class="rp-btn primary" data-screen-open="'+esc(n.nodeId)+'" data-screen-name="'+esc(n.displayName||n.nodeId)+'">Open desktop</button><div class="fleet-service-fix" id="rp-screen-fix-'+esc(n.nodeId)+'"><code>'+esc(fix)+'</code><button class="rp-btn" data-screen-fix="'+esc(fix)+'">Copy exact screen fix</button></div></article>';}).join('');grid.onclick=function(e){var b=e.target.closest('[data-screen-open]');if(b)rpScreenOpen(b.getAttribute('data-screen-open'),b.getAttribute('data-screen-name'));var copy=e.target.closest('[data-screen-fix]');if(copy)rpCopyCommand(copy.getAttribute('data-screen-fix'));};nodes.forEach(function(n){fetch('/fed/media/robots/'+encodeURIComponent(n.nodeId)+'/screen/health'+QS,{cache:'no-store'}).then(function(r){var s=$('rp-screen-state-'+n.nodeId),fix=$('rp-screen-fix-'+n.nodeId);if(s){s.textContent=r.ok?'READY':'OFFLINE';s.style.color=r.ok?'#6edc91':'#e36b6b';}if(fix)fix.style.display=r.ok?'none':'block';}).catch(function(){var s=$('rp-screen-state-'+n.nodeId);if(s){s.textContent='OFFLINE';s.style.color='#e36b6b';}});});}
3371
3376
  (function initScreens(){if($('rp-screen-refresh'))$('rp-screen-refresh').onclick=loadScreens;if($('rp-screen-close'))$('rp-screen-close').onclick=rpScreenClose;})();
3372
3377