livedesk 0.1.593 → 0.1.595

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.
Files changed (31) hide show
  1. package/bin/livedesk.js +8 -8
  2. package/bootstrap/role-bootstrap-server.js +1 -1
  3. package/client/bin/livedesk-client-fast.js +1 -1
  4. package/client/bin/livedesk-client-node.js +1 -1
  5. package/client/bin/livedesk-client.js +30 -30
  6. package/client/package.json +6 -6
  7. package/client/src/runtime/client-runtime-server.js +4 -4
  8. package/diagnostics/livedesk-mac-physical-isolation.mjs +354 -354
  9. package/diagnostics/livedesk-transport-physical-core.mjs +702 -702
  10. package/electron/auth-config.mjs +10 -10
  11. package/electron/bounded-desktop-log.mjs +609 -609
  12. package/electron/electron-builder.win-dev.yml +1 -1
  13. package/electron/icon.svg +11 -11
  14. package/electron/main.mjs +5 -5
  15. package/electron/runtime-process-owner.mjs +287 -287
  16. package/hub/package.json +2 -2
  17. package/hub/src/server.js +2 -2
  18. package/package.json +6 -6
  19. package/runtime-core/package.json +1 -1
  20. package/runtime-core/src/auth-config.js +1 -1
  21. package/web/dist/app.webmanifest +1 -1
  22. package/web/dist/assets/LiveDeskApp-CvQUgQ08.js +178 -0
  23. package/web/dist/assets/{icons-DwJmccVC.js → icons-tFaWqIIe.js} +1 -1
  24. package/web/dist/assets/{index-DjIbOQxl.js → index-BDVKTkV3.js} +3 -3
  25. package/web/dist/assets/{index-DRI7OJI6.css → index-CpHNEjHy.css} +1 -1
  26. package/web/dist/assets/{react-DOZUPHF8.js → react-BQos8uGS.js} +1 -1
  27. package/web/dist/favicon.svg +11 -11
  28. package/web/dist/index.html +6 -6
  29. package/web/dist/livedesk-build-evidence.json +25 -25
  30. package/web/dist/sw.js +1 -1
  31. package/web/dist/assets/LiveDeskApp-Djx1CsIp.js +0 -178
package/bin/livedesk.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  import { createRequire } from 'node:module';
4
4
  import net from 'node:net';
@@ -3135,10 +3135,10 @@ async function runManager(args, resolvedRole = null, runtimeLock = null, updateH
3135
3135
  }
3136
3136
  }
3137
3137
 
3138
- async function runClient(args, resolvedRole = null, runtimeLock = null) {
3139
- const runtimeOwner = runtimeLock?.payload || null;
3140
- const internalClientEntry = resolve(packageRoot, 'client', 'bin', 'livedesk-client.js');
3141
- const packagedWebDist = resolve(packageRoot, 'web', 'dist');
3138
+ async function runClient(args, resolvedRole = null, runtimeLock = null) {
3139
+ const runtimeOwner = runtimeLock?.payload || null;
3140
+ const internalClientEntry = resolve(packageRoot, 'client', 'bin', 'livedesk-client.js');
3141
+ const packagedWebDist = resolve(packageRoot, 'web', 'dist');
3142
3142
  if (!existsSync(internalClientEntry)) {
3143
3143
  throw new Error('The published livedesk package is missing its internal Client runtime. Rebuild the package with npm run build.');
3144
3144
  }
@@ -3152,9 +3152,9 @@ async function runClient(args, resolvedRole = null, runtimeLock = null) {
3152
3152
  LIVEDESK_NPM_LAUNCHER_VERSION: readVersion(),
3153
3153
  LIVEDESK_RUNTIME_ROLE: 'client',
3154
3154
  LIVEDESK_UNIFIED_RUNTIME: '1',
3155
- LIVEDESK_WEB_DIST: existsSync(resolve(packagedWebDist, 'index.html'))
3156
- ? packagedWebDist
3157
- : String(process.env.LIVEDESK_WEB_DIST || ''),
3155
+ LIVEDESK_WEB_DIST: existsSync(resolve(packagedWebDist, 'index.html'))
3156
+ ? packagedWebDist
3157
+ : String(process.env.LIVEDESK_WEB_DIST || ''),
3158
3158
  LIVEDESK_CLIENT_RUNTIME_PORT: String(process.env.LIVEDESK_CLIENT_RUNTIME_PORT || process.env.LIVEDESK_LOCAL_RUNTIME_PORT || DEFAULT_MANAGER_HTTP_PORT),
3159
3159
  LIVEDESK_UNIFIED_LAUNCHER_ENTRY: String(process.argv[1] || ''),
3160
3160
  LIVEDESK_ROLE_TRANSITION: resolvedRole?.roleTransition === true || process.env.LIVEDESK_ROLE_TRANSITION === '1'
@@ -253,7 +253,7 @@ export function createRoleBootstrapServer(options = {}) {
253
253
  return;
254
254
  }
255
255
  if (url.pathname === '/api/health') {
256
- sendJson(req, res, 200, { ok: true, product: 'LiveDesk', role: 'bootstrap' }, port);
256
+ sendJson(req, res, 200, { ok: true, product: 'LiveDesk', role: 'bootstrap' }, port);
257
257
  return;
258
258
  }
259
259
  if (url.pathname === '/api/bootstrap/status' || url.pathname === '/api/runtime/status' || url.pathname === '/api/runtime') {
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  import { dirname, join } from 'node:path';
4
4
  import { fileURLToPath } from 'node:url';
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  import net from 'net';
4
4
  import os from 'os';
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  import { randomBytes } from 'node:crypto';
4
4
  import { chmodSync, existsSync, mkdirSync, readFileSync, renameSync, rmSync, statfsSync, statSync, writeFileSync } from 'node:fs';
@@ -54,10 +54,10 @@ const SESSION_REFRESH_SKEW_SECONDS = 60;
54
54
  const SUPABASE_REQUEST_TIMEOUT_MS = 8_000;
55
55
  const HUB_TARGET_CACHE_MAX_AGE_MS = 30 * 24 * 60 * 60 * 1000;
56
56
  const HUB_TARGET_CACHE_FUTURE_SKEW_MS = 5 * 60 * 1000;
57
- const WINDOWS_STARTUP_SCRIPT_NAME = 'VuvoDesk Desktop.vbs';
58
- const WINDOWS_STARTUP_LEGACY_DESKTOP_SCRIPT_NAME = 'LiveDesk Desktop.vbs';
59
- const WINDOWS_STARTUP_LEGACY_SCRIPT_NAME = 'LiveDesk Client.vbs';
60
- const WINDOWS_STARTUP_LEGACY_CMD_NAME = 'LiveDesk Client.cmd';
57
+ const WINDOWS_STARTUP_SCRIPT_NAME = 'VuvoDesk Desktop.vbs';
58
+ const WINDOWS_STARTUP_LEGACY_DESKTOP_SCRIPT_NAME = 'LiveDesk Desktop.vbs';
59
+ const WINDOWS_STARTUP_LEGACY_SCRIPT_NAME = 'LiveDesk Client.vbs';
60
+ const WINDOWS_STARTUP_LEGACY_CMD_NAME = 'LiveDesk Client.cmd';
61
61
  const SUPABASE_URL = process.env.LIVEDESK_SUPABASE_URL || 'https://otbyfkjxrkngvjziawki.supabase.co';
62
62
  const SUPABASE_PUBLISHABLE_KEY = process.env.LIVEDESK_SUPABASE_PUBLISHABLE_KEY || 'sb_publishable_NpUs0RDJH2YnllsqTKO6TQ_1jTdSsNQ';
63
63
  const CLIENT_STATE_DIR = process.env.LIVEDESK_CLIENT_STATE_DIR || join(os.homedir(), '.livedesk-client');
@@ -738,15 +738,15 @@ function getWindowsStartupScriptPath() {
738
738
  return join(getWindowsStartupDir(), WINDOWS_STARTUP_SCRIPT_NAME);
739
739
  }
740
740
 
741
- function getLegacyWindowsStartupCommandPath() {
742
- return join(getWindowsStartupDir(), WINDOWS_STARTUP_LEGACY_CMD_NAME);
743
- }
744
-
745
- function getLegacyWindowsDesktopStartupScriptPath() {
746
- return join(getWindowsStartupDir(), WINDOWS_STARTUP_LEGACY_DESKTOP_SCRIPT_NAME);
747
- }
748
-
749
- function getLegacyWindowsStartupScriptPath() {
741
+ function getLegacyWindowsStartupCommandPath() {
742
+ return join(getWindowsStartupDir(), WINDOWS_STARTUP_LEGACY_CMD_NAME);
743
+ }
744
+
745
+ function getLegacyWindowsDesktopStartupScriptPath() {
746
+ return join(getWindowsStartupDir(), WINDOWS_STARTUP_LEGACY_DESKTOP_SCRIPT_NAME);
747
+ }
748
+
749
+ function getLegacyWindowsStartupScriptPath() {
750
750
  return join(getWindowsStartupDir(), WINDOWS_STARTUP_LEGACY_SCRIPT_NAME);
751
751
  }
752
752
 
@@ -754,12 +754,12 @@ function isWindowsStartupSupported() {
754
754
  return os.platform() === 'win32';
755
755
  }
756
756
 
757
- function isWindowsStartupRegistered() {
758
- return isWindowsStartupSupported() && (
759
- existsSync(getWindowsStartupScriptPath())
760
- || existsSync(getLegacyWindowsDesktopStartupScriptPath())
761
- || existsSync(getLegacyWindowsStartupScriptPath())
762
- );
757
+ function isWindowsStartupRegistered() {
758
+ return isWindowsStartupSupported() && (
759
+ existsSync(getWindowsStartupScriptPath())
760
+ || existsSync(getLegacyWindowsDesktopStartupScriptPath())
761
+ || existsSync(getLegacyWindowsStartupScriptPath())
762
+ );
763
763
  }
764
764
 
765
765
  function quoteCommandArg(value) {
@@ -831,10 +831,10 @@ function registerWindowsStartup(startupArgs = []) {
831
831
  ''
832
832
  ].join('\r\n');
833
833
 
834
- mkdirSync(startupDir, { recursive: true });
835
- writeFileSync(scriptPath, script, 'utf8');
836
- rmSync(getLegacyWindowsDesktopStartupScriptPath(), { force: true });
837
- rmSync(getLegacyWindowsStartupScriptPath(), { force: true });
834
+ mkdirSync(startupDir, { recursive: true });
835
+ writeFileSync(scriptPath, script, 'utf8');
836
+ rmSync(getLegacyWindowsDesktopStartupScriptPath(), { force: true });
837
+ rmSync(getLegacyWindowsStartupScriptPath(), { force: true });
838
838
  rmSync(getLegacyWindowsStartupCommandPath(), { force: true });
839
839
  return { changed: true, supported: true, path: scriptPath };
840
840
  }
@@ -844,12 +844,12 @@ function unregisterWindowsStartup() {
844
844
  return { changed: false, supported: false, path: '' };
845
845
  }
846
846
  const scriptPath = getWindowsStartupScriptPath();
847
- const existed = existsSync(scriptPath)
848
- || existsSync(getLegacyWindowsDesktopStartupScriptPath())
849
- || existsSync(getLegacyWindowsStartupScriptPath())
850
- || existsSync(getLegacyWindowsStartupCommandPath());
851
- rmSync(scriptPath, { force: true });
852
- rmSync(getLegacyWindowsDesktopStartupScriptPath(), { force: true });
847
+ const existed = existsSync(scriptPath)
848
+ || existsSync(getLegacyWindowsDesktopStartupScriptPath())
849
+ || existsSync(getLegacyWindowsStartupScriptPath())
850
+ || existsSync(getLegacyWindowsStartupCommandPath());
851
+ rmSync(scriptPath, { force: true });
852
+ rmSync(getLegacyWindowsDesktopStartupScriptPath(), { force: true });
853
853
  rmSync(getLegacyWindowsStartupScriptPath(), { force: true });
854
854
  rmSync(getLegacyWindowsStartupCommandPath(), { force: true });
855
855
  return { changed: existed, supported: true, path: scriptPath };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livedesk/client",
3
- "version": "0.1.252",
3
+ "version": "0.1.252",
4
4
  "description": "VuvoDesk local remote client",
5
5
  "type": "module",
6
6
  "bin": {
@@ -36,16 +36,16 @@
36
36
  "dependencies": {
37
37
  "@ffmpeg-installer/ffmpeg": "^1.1.0",
38
38
  "ffmpeg-static": "^5.3.0",
39
- "@livedesk/runtime-core": "0.1.6",
39
+ "@livedesk/runtime-core": "0.1.6",
40
40
  "@supabase/supabase-js": "^2.110.0",
41
41
  "node-screenshots": "^0.2.8",
42
42
  "ws": "^8.18.3"
43
43
  },
44
44
  "optionalDependencies": {
45
- "@livedesk/fast-linux-x64": "0.1.448",
46
- "@livedesk/fast-osx-arm64": "0.1.448",
47
- "@livedesk/fast-osx-x64": "0.1.448",
48
- "@livedesk/fast-win-x64": "0.1.448"
45
+ "@livedesk/fast-linux-x64": "0.1.448",
46
+ "@livedesk/fast-osx-arm64": "0.1.448",
47
+ "@livedesk/fast-osx-x64": "0.1.448",
48
+ "@livedesk/fast-win-x64": "0.1.448"
49
49
  },
50
50
  "publishConfig": {
51
51
  "access": "public"
@@ -20,9 +20,9 @@ const SUPABASE_URL = process.env.LIVEDESK_SUPABASE_URL || 'https://otbyfkjxrkngv
20
20
  const SUPABASE_PUBLISHABLE_KEY = process.env.LIVEDESK_SUPABASE_PUBLISHABLE_KEY || 'sb_publishable_NpUs0RDJH2YnllsqTKO6TQ_1jTdSsNQ';
21
21
  const CLIENT_STATE_DIR = process.env.LIVEDESK_STATE_DIR || (process.env.LIVEDESK_UNIFIED_RUNTIME === '1' ? join(os.homedir(), '.livedesk') : join(os.homedir(), '.livedesk-client'));
22
22
  const CLIENT_AUTH_PATH = join(CLIENT_STATE_DIR, 'auth.json');
23
- const DEFAULT_TRUSTED_WEB_ORIGINS = Object.freeze([
24
- 'https://vuvodesk.com',
25
- 'https://livedesk.pages.dev',
23
+ const DEFAULT_TRUSTED_WEB_ORIGINS = Object.freeze([
24
+ 'https://vuvodesk.com',
25
+ 'https://livedesk.pages.dev',
26
26
  'http://127.0.0.1:5173',
27
27
  'http://localhost:5173',
28
28
  'http://127.0.0.1:4173',
@@ -1501,7 +1501,7 @@ export function createClientRuntimeServer(options = {}) {
1501
1501
  return;
1502
1502
  }
1503
1503
  if (pathname === '/api/health') {
1504
- respondJson(200, { ok: true, product: 'LiveDesk', role: 'client', timestamp: new Date().toISOString() });
1504
+ respondJson(200, { ok: true, product: 'LiveDesk', role: 'client', timestamp: new Date().toISOString() });
1505
1505
  return;
1506
1506
  }
1507
1507
  if (pathname === '/api/client/diagnostics') {