@recallai/desktop-sdk 2.0.28 → 2.0.30

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/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ ### 2.0.30 [patch] (MacOS+Windows) - 2026-09-04
2
+ - Added support for detecting Zoom webinars on macOS
3
+ - Added support for Japanese locale Zoom detection on Windows
4
+ - Improved reliability for WebSocket media and transcription connections
5
+ - Improved artifact upload retry behavior
6
+ - Improved Windows network error logging
7
+ - Improved telemetry for dead SCK audio streams on macOS
8
+ - Fixed Google Meet leave-call handling for DSDK bots on macOS
9
+ - Fixed issue where stdin EPIPE errors could cause the macOS SDK executable to fail
10
+ - Fixed issue where system audio capture processes could be orphaned on macOS
11
+ - Fixed Zoom shutdown handling on macOS
12
+
13
+ ### 2.0.29 [patch] (MacOS+Windows) - 2026-08-16
14
+ - Added support for Google Meet compliance messaging on Safari on macOS
15
+ - Fixed issue capturing video and active speakers when using vertical tabs for Google Meet on macOS
16
+ - Fixed issue capturing video and active speakers when using vertical tabs for Google Meet on macOS
17
+ - Improved error message when network issues cause `startRecording` to fail on macOS
18
+ - Fixed crash for macOS
19
+ - Support retention configuration on Windows
20
+ - Fixed DPI scaling issue for Windows
21
+ - Support proxy settings and socks proxies on Windows
22
+ - Fixed Google Meet detection issue on macOS
23
+ - Fixed issue where a "Reducing Noise" is captured as a participant for Google Meet on macOS
24
+
1
25
  ### 2.0.28 [patch] (MacOS+Windows) - 2026-08-09
2
26
  - Fixed issue where `meeting-detected` would not fire if modal was open for Teams Desktop on Windows
3
27
  - Fixed issue where memory usage would cyclically rise and fall while idle on macOS
@@ -403,4 +427,4 @@
403
427
 
404
428
  ### 1.0.0 [major] (MacOS+Windows) - 2025-07-24 (deprecated)
405
429
 
406
- - Initial Changelog Entry
430
+ - Initial Changelog Entry
package/index.d.ts CHANGED
@@ -24,7 +24,7 @@ export type EventTypeToPayloadMap = {
24
24
  'log': LogEvent;
25
25
  'network-status': NetworkStatusEvent;
26
26
  };
27
- export type Permission = 'accessibility' | 'screen-capture' | 'microphone' | 'system-audio' | 'full-disk-access';
27
+ export type Permission = 'accessibility' | 'screen-capture' | 'microphone' | 'system-audio' | 'full-disk-access' | 'teams-automation' | 'browser-automation';
28
28
  export interface RecallAiSdkWindow {
29
29
  id: string;
30
30
  title?: string;
@@ -34,7 +34,7 @@ export interface RecallAiSdkWindow {
34
34
  export interface RecallAiSdkConfig {
35
35
  api_url?: string;
36
36
  apiUrl?: string;
37
- acquirePermissionsOnStartup?: Permission[];
37
+ acquirePermissionsOnStartup?: Exclude<Permission, 'teams-automation' | 'browser-automation'>[];
38
38
  [key: string]: any;
39
39
  }
40
40
  export interface StartRecordingConfig {
package/index.js CHANGED
@@ -280,10 +280,13 @@ function flushPendingStdinWrites() {
280
280
  if (!err) {
281
281
  return;
282
282
  }
283
- if (session !== stdinWriteSession) {
283
+ if (proc !== currentProc || session !== stdinWriteSession) {
284
284
  return;
285
285
  }
286
286
  rejectPendingCommand(nextWrite.commandId, new Error(`Failed writing ${nextWrite.command} command [${nextWrite.writeSequence}] (${nextWrite.commandId}) to Desktop SDK stdin: ${err.message}`));
287
+ // Node calls the write callback before emitting the same error on
288
+ // stdin. Start teardown here; the stream error handler performs
289
+ // process-wide cleanup and absorbs that subsequent emission.
287
290
  if (currentProc.exitCode === null && !currentProc.killed) {
288
291
  currentProc.kill();
289
292
  }
@@ -462,6 +465,18 @@ function startProcess() {
462
465
  }
463
466
  });
464
467
  const currentProc = proc;
468
+ currentProc.stdin?.on('error', (error) => {
469
+ if (proc !== currentProc || exiting) {
470
+ return;
471
+ }
472
+ // Do not use logError here: it sends a command through this same stdin.
473
+ console.error(`Desktop SDK: stdin stream error: ${error.stack ?? error.message}`);
474
+ resetPendingStdinWrites();
475
+ flushPendingCommands(new Error(`Desktop SDK stdin error: ${error.message}`));
476
+ if (currentProc.exitCode === null && !currentProc.killed) {
477
+ currentProc.kill();
478
+ }
479
+ });
465
480
  stdinWriteSession++;
466
481
  flushingPendingStdinWrites = false;
467
482
  waitingForStdinDrain = false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@recallai/desktop-sdk",
3
- "version": "2.0.28",
3
+ "version": "2.0.30",
4
4
  "description": "Recall Desktop SDK",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -20,5 +20,5 @@
20
20
  "@types/node": "^24.2.0",
21
21
  "typescript": "^5.3.3"
22
22
  },
23
- "commit_sha": "62bf3a1f8995af470272b2198f39f2f53c150fdc"
23
+ "commit_sha": "d81462f95fdf8403c92927e84d0a93af79d52449"
24
24
  }