@livedesk/client 0.1.24 → 0.1.26

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/README.md CHANGED
@@ -35,8 +35,10 @@ to `Desktop/LiveDeskFiles` unless the Hub sets another destination folder.
35
35
 
36
36
  By default, the launcher uses the packaged C# RemoteFast engine when supported.
37
37
  It falls back to the Node engine for AI assist or when a compatible RemoteFast
38
- runtime is unavailable. Linux currently uses the Node engine with native
39
- `node-screenshots` capture for thumbnails and live frames.
38
+ runtime is unavailable. macOS auto mode uses the Node engine by default because
39
+ the current RemoteFast macOS path shells out to `screencapture`, which can show
40
+ repeated Screen Recording privacy prompts. Use `--engine fast` on macOS only for
41
+ experimental testing.
40
42
 
41
43
  Useful flags:
42
44
 
@@ -51,3 +53,12 @@ npx @livedesk/client --engine fast --trace-frames
51
53
  npx @livedesk/client --auth-port 5200
52
54
  npx @livedesk/client --logout
53
55
  ```
56
+
57
+ Frame pipeline roadmap:
58
+
59
+ - Mode 1: `mode1-jpeg` - current test path using screen capture, resize, and JPEG binary frames.
60
+ - Mode 2: `mode2-lz4` - planned raw/tile delta frames compressed with LZ4.
61
+ - Mode 3: `mode3-h264-hw` - planned GPU capture to hardware H.264 encoding.
62
+
63
+ Legacy mode names such as `remote-fast` and `remote-quality` are treated as
64
+ Mode 1 aliases.
@@ -747,7 +747,7 @@ function startLiveStream(socket, options, message, nextFrameSeq, activeStreams)
747
747
  mimeType: frame.mimeType,
748
748
  capturedAt: frame.capturedAt,
749
749
  fps,
750
- mode: 'remote-fast',
750
+ mode: 'mode1-jpeg',
751
751
  droppedByAgent: stream.frameDrops,
752
752
  data: frame.data
753
753
  });
@@ -919,7 +919,7 @@ async function handleRemoteCommand(socket, options, message, nextFrameSeq, activ
919
919
  streamId: started.streamId,
920
920
  fps: started.fps,
921
921
  intervalMs: started.intervalMs,
922
- mode: 'remote-fast',
922
+ mode: 'mode1-jpeg',
923
923
  viewOnly: true,
924
924
  inputControl: false,
925
925
  startedAt: new Date().toISOString()
@@ -61,7 +61,8 @@ Options:
61
61
  --help Show this help.
62
62
 
63
63
  Auto uses C# RemoteFast when supported and falls back to Node for AI assist or
64
- when a packaged RemoteFast runtime is unavailable.
64
+ when a packaged RemoteFast runtime is unavailable. On macOS, auto uses the Node
65
+ agent by default to avoid repeated screencapture privacy prompts.
65
66
  `.trimStart());
66
67
  }
67
68
 
@@ -74,6 +75,14 @@ function readPackageVersion() {
74
75
  }
75
76
  }
76
77
 
78
+ function isTruthy(value) {
79
+ return /^(1|true|yes|on)$/i.test(String(value || '').trim());
80
+ }
81
+
82
+ function isMacFastAutoEnabled() {
83
+ return isTruthy(process.env.LIVEDESK_CLIENT_MAC_FAST || process.env.MINDEXEC_REMOTE_MAC_FAST);
84
+ }
85
+
77
86
  function normalizeEngine(value) {
78
87
  const engine = String(value || 'auto').trim().toLowerCase();
79
88
  if (engine === 'c#' || engine === 'csharp' || engine === 'fast') {
@@ -888,6 +897,9 @@ function shouldUseFast(parsed) {
888
897
  if (parsed.engine === 'fast') {
889
898
  return true;
890
899
  }
900
+ if (os.platform() === 'darwin' && !isMacFastAutoEnabled()) {
901
+ return false;
902
+ }
891
903
  return !parsed.nodeOnlyFeature;
892
904
  }
893
905
 
@@ -914,6 +926,9 @@ async function main() {
914
926
  const fastRuntime = getFastRuntime();
915
927
  const useFast = shouldTryFast(prepared, fastRuntime);
916
928
  let result;
929
+ if (!useFast && prepared.engine === 'auto' && os.platform() === 'darwin') {
930
+ console.warn('LiveDesk uses the Node engine on macOS to avoid repeated Screen Recording prompts. Use --engine fast only for experimental testing.');
931
+ }
917
932
  if (useFast) {
918
933
  const fastArgs = buildFastArgs(prepared.forwarded, prepared.fakeThumbnail);
919
934
  const fastLaunch = resolveFastLaunch(fastRuntime);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livedesk/client",
3
- "version": "0.1.24",
3
+ "version": "0.1.26",
4
4
  "description": "LiveDesk local remote client",
5
5
  "type": "module",
6
6
  "bin": {