@recallai/desktop-sdk 2.0.3 → 2.0.5

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,32 @@
1
+ ### 2.0.5 [patch] (MacOS+Windows) - 2026-02-11
2
+
3
+ - Support for Google Chrome 145.0.7632.46+
4
+ - Improvements for Brave
5
+ - Automatically detect which microphone is being used by the meeting platform
6
+ - Improvements for energy consumption and CPU usage
7
+ - Fix an issue with flickering video during screenshare
8
+ - Fix an issue with screensharing Chrome tabs in Google Meet
9
+ - Fix an issue where recording Chrome would capture a flash of other content when changing tabs
10
+
11
+ ### 2.0.4 [patch] (MacOS+Windows) - 2026-01-29
12
+
13
+ - Teams detection, diarization improvements on windows.
14
+ - Fix freeze requesting full disk access permission on macOS.
15
+ - Fix issue switching audio devices on windows for meeting capture.
16
+ - Fixes to phantom participants on Google Meet on both macOS/windows.
17
+ - Support Microsoft Edge browser for Google Meet on windows.
18
+ - Emulate all permission statuses on windows by default.
19
+ - Support meeting title scraping for Zoom on windows.
20
+ - Fixed an issue capturing video on macOS.
21
+ - Fixed an issue with short meetings not uploading properly.
22
+ - Improved energy consumption for Zoom on MacOS.
23
+ - Improved energy consumption for chrome and chromium users with multiple open windows on MacOS.
24
+ - Fix unexpected chrome title change on MacOS.
25
+ - Improve audio post-processing energy consumption on MacOS.
26
+ - Improve audio post-processing quality on MacOS.
27
+ - Fix GMeet compliance messaging for tabs with "Meet" in the title on MacOS.
28
+ - Improve logging and telemetry on MacOS.
29
+
1
30
  ### 2.0.3 [patch] (MacOS+Windows) - 2026-01-07
2
31
 
3
32
  - Significantly reduce energy consumption on Chromium and Safari browsers on macOS.
@@ -143,4 +172,4 @@
143
172
 
144
173
  ### 1.0.0 [major] (MacOS+Windows) - 2025-07-24 (deprecated)
145
174
 
146
- - Initial Changelog Entry
175
+ - Initial Changelog Entry
package/index.d.ts CHANGED
@@ -2,6 +2,9 @@ export type RecallAiSdkEvent = RecordingStartEvent | RecordingStopEvent | Upload
2
2
  export type EventTypeToPayloadMap = {
3
3
  'recording-started': RecordingStartEvent;
4
4
  'recording-ended': RecordingStopEvent;
5
+ /**
6
+ * @deprecated Recordings are uploaded in parallel to recording now, there is no progress.
7
+ */
5
8
  'upload-progress': UploadProgressEvent;
6
9
  'meeting-detected': MeetingDetectedEvent;
7
10
  'meeting-updated': MeetingUpdatedEvent;
@@ -43,6 +46,9 @@ export interface PauseRecordingConfig {
43
46
  export interface ResumeRecordingConfig {
44
47
  windowId: string;
45
48
  }
49
+ /**
50
+ * @deprecated Recordings are uploaded based on the upload token config.
51
+ */
46
52
  export interface UploadRecordingConfig {
47
53
  windowId: string;
48
54
  }
@@ -114,10 +120,14 @@ export interface LogEvent {
114
120
  export declare function init(options: RecallAiSdkConfig): Promise<null>;
115
121
  export declare function shutdown(): Promise<null>;
116
122
  export declare function dumpAXTree(procName: string): Promise<any>;
123
+ export declare function dumpAllApplications(): Promise<any>;
117
124
  export declare function startRecording(config: StartRecordingConfig): Promise<null>;
118
125
  export declare function stopRecording({ windowId }: StopRecordingConfig): Promise<null>;
119
126
  export declare function pauseRecording({ windowId }: PauseRecordingConfig): Promise<null>;
120
127
  export declare function resumeRecording({ windowId }: ResumeRecordingConfig): Promise<null>;
128
+ /**
129
+ * @deprecated Recordings are uploaded based on the upload token config.
130
+ */
121
131
  export declare function uploadRecording({ windowId }: UploadRecordingConfig): Promise<null>;
122
132
  export declare function prepareDesktopAudioRecording(): Promise<string>;
123
133
  export declare function requestPermission(permission: Permission): Promise<null>;
package/index.js CHANGED
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.init = init;
37
37
  exports.shutdown = shutdown;
38
38
  exports.dumpAXTree = dumpAXTree;
39
+ exports.dumpAllApplications = dumpAllApplications;
39
40
  exports.startRecording = startRecording;
40
41
  exports.stopRecording = stopRecording;
41
42
  exports.pauseRecording = pauseRecording;
@@ -77,6 +78,23 @@ let unexpectedShutdown = false;
77
78
  let exiting = false;
78
79
  let logBuffer = [];
79
80
  let logIndex = 0;
81
+ let packageVersion;
82
+ function getPackageVersion() {
83
+ if (packageVersion !== undefined) {
84
+ return packageVersion;
85
+ }
86
+ try {
87
+ const packagePath = path.join(__dirname, "package.json");
88
+ const packageJson = JSON.parse(fs.readFileSync(packagePath, "utf8"));
89
+ if (typeof packageJson.version === "string") {
90
+ packageVersion = packageJson.version;
91
+ }
92
+ }
93
+ catch {
94
+ packageVersion = undefined;
95
+ }
96
+ return packageVersion;
97
+ }
80
98
  process.on("exit", () => {
81
99
  exiting = true;
82
100
  if (proc && !proc.killed) {
@@ -220,7 +238,11 @@ function startProcess() {
220
238
  catch { }
221
239
  }
222
240
  if (!envExtra["EXE_NAME"]) {
223
- envExtra["EXE_NAME"] = path.basename(process.execPath);
241
+ envExtra["EXE_NAME"] = path.parse(process.execPath).name;
242
+ }
243
+ let sdk_version = getPackageVersion();
244
+ if (sdk_version) {
245
+ envExtra["SDK_VERSION"] = sdk_version;
224
246
  }
225
247
  const gst_dump_dir = process.env.RECALLAI_DESKTOP_SDK_DEV ? path.join(os.tmpdir(), "gst.nocommit") : os.tmpdir();
226
248
  if (!fs.existsSync(gst_dump_dir)) {
@@ -234,7 +256,8 @@ function startProcess() {
234
256
  proc = (0, child_process_1.spawn)(exe_path, {
235
257
  stdio: (process.platform === "darwin" ? ["pipe", "pipe", "pipe", "pipe"] : "pipe"),
236
258
  env: {
237
- GST_DEBUG: "2,transcriber:4,rtewebsocketsink:4,rtewebhooksink:4,audiomixer:4,galleryview:4,dsdks3sink:5",
259
+ GST_RECALL_DEBUG: "2,transcriber:4,rtewebsocketsink:4,rtewebhooksink:4,audiomixer:4,galleryview:4,dsdks3sink:5",
260
+ GST_DEBUG: "3,GST_CAPS:5,GST_SCHEDULING:5,GST_PADS:5,video-scaler:1,transcriber:4,filebuffereds3sink:4,seekables3sink:4,rtpsession:1,videodecoder:2,basesink:2,webrtcbin:2,websocketsink:4,audiomixer:4,galleryview:4,removeonsinkeosbin:4,fallbackswitch:6,sendmessageonsinkeosbin:4,dsdks3sink:5",
238
261
  GST_DEBUG_DUMP_DOT_DIR: gst_dump_dir,
239
262
  RUST_BACKTRACE: "1",
240
263
  // "DYLD_INSERT_LIBRARIES":"/opt/homebrew/lib/libjemalloc.dylib",
@@ -371,8 +394,10 @@ async function init(options) {
371
394
  if (options.restartOnError === undefined) {
372
395
  options.restartOnError = true;
373
396
  }
374
- lastOptions = options;
375
- await doInit(options);
397
+ const version = getPackageVersion();
398
+ const initConfig = version ? { ...options, sdkVersion: version } : { ...options };
399
+ lastOptions = initConfig;
400
+ await doInit(initConfig);
376
401
  return null;
377
402
  }
378
403
  async function shutdown() {
@@ -390,6 +415,9 @@ async function shutdown() {
390
415
  function dumpAXTree(procName) {
391
416
  return sendCommand("dumpAXTree", { procName });
392
417
  }
418
+ function dumpAllApplications() {
419
+ return sendCommand("dumpAllApplications", {});
420
+ }
393
421
  function startRecording(config) {
394
422
  return sendCommand("startRecording", { config: JSON.stringify(config) });
395
423
  }
@@ -402,6 +430,9 @@ function pauseRecording({ windowId }) {
402
430
  function resumeRecording({ windowId }) {
403
431
  return sendCommand("resumeRecording", { windowId });
404
432
  }
433
+ /**
434
+ * @deprecated Recordings are uploaded based on the upload token config.
435
+ */
405
436
  function uploadRecording({ windowId }) {
406
437
  return sendCommand("uploadRecording", { windowId });
407
438
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@recallai/desktop-sdk",
3
- "version": "2.0.3",
3
+ "version": "2.0.5",
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": "7026b82189689fa287e0d0474eae292d72a31eea"
23
+ "commit_sha": "1b16e47f85434833b8313ed393df0f1be5a981a5"
24
24
  }
package/dummy.node DELETED
File without changes