@recallai/desktop-sdk 2.0.7 → 2.0.8
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 +17 -3
- package/index.d.ts +4 -0
- package/index.js +34 -5
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,19 @@
|
|
|
1
|
-
### 2.0.
|
|
1
|
+
### 2.0.8 [patch] (MacOS+Windows) - 2026-03-13
|
|
2
|
+
- Reduced blips/audio-glitches in the audio mixing process
|
|
3
|
+
- Fixed Windows audio latency during capture
|
|
4
|
+
- Added Windows network-status event and automatic recording stopping.
|
|
5
|
+
- More robust device switching and restarting on windows.
|
|
6
|
+
- Prevent google meet updated events after recording stopped on macOS.
|
|
7
|
+
- Fixed Brave detection on macOS
|
|
8
|
+
- Fixed Chrome fullscreen detection on macOS
|
|
9
|
+
- Fixed issue for Google Meet where compliance message would send to wrong input when different window is focused on macOS
|
|
10
|
+
- Fixed issue for Zoom where host would incorrectly get recognized as a separate participant on macOS
|
|
11
|
+
- Fixed issue for screenshare capturing where screen sharing indicator would sometimes persist after recording ended on macOS
|
|
12
|
+
- Added ZoomAudioDevice to mic capture blacklist on macOS
|
|
13
|
+
- Fixed Chrome title detection on macOS
|
|
14
|
+
- Supported title on MS Teams on macOS
|
|
15
|
+
|
|
16
|
+
### 2.0.7 [patch] (MacOS+Windows) - 2026-02-26
|
|
2
17
|
- Fixed issues capturing audio when devices change on windows.
|
|
3
18
|
- Added a network shutdown event on macOS.
|
|
4
19
|
- Set recording id on SDK events on macOS and windows.
|
|
@@ -7,8 +22,7 @@
|
|
|
7
22
|
### 2.0.6 [patch] (MacOS+Windows) - 2026-02-11
|
|
8
23
|
- Fix case where recording-ended would not trigger on Windows
|
|
9
24
|
|
|
10
|
-
### 2.0.5 [patch] (MacOS+Windows) - 2026-02-11
|
|
11
|
-
|
|
25
|
+
### 2.0.5 [patch] (MacOS+Windows) - 2026-02-11 (deprecated)
|
|
12
26
|
- Support for Google Chrome 145.0.7632.46+
|
|
13
27
|
- Improvements for Brave
|
|
14
28
|
- Automatically detect which microphone is being used by the meeting platform
|
package/index.d.ts
CHANGED
|
@@ -33,6 +33,10 @@ export interface RecallAiSdkConfig {
|
|
|
33
33
|
acquirePermissionsOnStartup?: Permission[];
|
|
34
34
|
restartOnError?: boolean;
|
|
35
35
|
dev?: boolean;
|
|
36
|
+
testMode?: boolean;
|
|
37
|
+
testSpeedModifier?: string;
|
|
38
|
+
testTargetBundleId?: string;
|
|
39
|
+
testTargetBundleIdRemapped?: string;
|
|
36
40
|
}
|
|
37
41
|
export interface StartRecordingConfig {
|
|
38
42
|
windowId: string;
|
package/index.js
CHANGED
|
@@ -185,6 +185,9 @@ async function doLog(level, log, echo = true) {
|
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
187
|
catch (e) {
|
|
188
|
+
if (proc?.exitCode === 0 || exiting) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
188
191
|
console.error("Failed to send log to Desktop SDK", e.stack, e.message);
|
|
189
192
|
}
|
|
190
193
|
}
|
|
@@ -227,6 +230,12 @@ function startProcess() {
|
|
|
227
230
|
return;
|
|
228
231
|
}
|
|
229
232
|
let envExtra = {};
|
|
233
|
+
// forward all env starting with RECALL_
|
|
234
|
+
Object.keys(process.env).forEach(key => {
|
|
235
|
+
if (key.startsWith("RECALL_")) {
|
|
236
|
+
envExtra[key] = process.env[key];
|
|
237
|
+
}
|
|
238
|
+
});
|
|
230
239
|
if (process.platform === "win32" && process.env.GLOBAL_GST_RECALL !== "1") {
|
|
231
240
|
envExtra["GST_PLUGIN_PATH"] = path.join(path.dirname(exe_path), "gstreamer-1.0");
|
|
232
241
|
}
|
|
@@ -244,6 +253,18 @@ function startProcess() {
|
|
|
244
253
|
if (sdk_version) {
|
|
245
254
|
envExtra["SDK_VERSION"] = sdk_version;
|
|
246
255
|
}
|
|
256
|
+
if (lastOptions?.testMode) {
|
|
257
|
+
envExtra["TEST_MODE"] = "1";
|
|
258
|
+
}
|
|
259
|
+
if (lastOptions?.testTargetBundleId) {
|
|
260
|
+
envExtra["TEST_TARGET_BUNDLE_ID"] = lastOptions.testTargetBundleId;
|
|
261
|
+
}
|
|
262
|
+
if (lastOptions?.testTargetBundleIdRemapped) {
|
|
263
|
+
envExtra["TEST_TARGET_BUNDLE_ID_REMAP"] = lastOptions.testTargetBundleIdRemapped;
|
|
264
|
+
}
|
|
265
|
+
if (lastOptions?.testSpeedModifier) {
|
|
266
|
+
envExtra["TEST_SPEED_MODIFIER"] = String(lastOptions.testSpeedModifier);
|
|
267
|
+
}
|
|
247
268
|
const gst_dump_dir = process.env.RECALLAI_DESKTOP_SDK_DEV ? path.join(os.tmpdir(), "gst.nocommit") : os.tmpdir();
|
|
248
269
|
if (!fs.existsSync(gst_dump_dir)) {
|
|
249
270
|
try {
|
|
@@ -257,7 +278,7 @@ function startProcess() {
|
|
|
257
278
|
stdio: (process.platform === "darwin" ? ["pipe", "pipe", "pipe", "pipe"] : "pipe"),
|
|
258
279
|
env: {
|
|
259
280
|
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",
|
|
281
|
+
GST_DEBUG: "3,GST_CAPS:5,GST_SCHEDULING:5,GST_PADS:5,video-scaler:1,transcriber:4,filebuffereds3sink:4,seekables3sink:4,rtpsession:1,audioresample:1,videodecoder:2,basesink:2,webrtcbin:2,websocketsink:4,audiomixer:4,galleryview:4,removeonsinkeosbin:4,fallbackswitch:6,sendmessageonsinkeosbin:4,dsdks3sink:5",
|
|
261
282
|
GST_DEBUG_DUMP_DOT_DIR: gst_dump_dir,
|
|
262
283
|
RUST_BACKTRACE: "1",
|
|
263
284
|
// "DYLD_INSERT_LIBRARIES":"/opt/homebrew/lib/libjemalloc.dylib",
|
|
@@ -404,11 +425,19 @@ async function shutdown() {
|
|
|
404
425
|
const result = await sendCommand("shutdown");
|
|
405
426
|
if (proc) {
|
|
406
427
|
const currentProc = proc;
|
|
407
|
-
|
|
408
|
-
if (
|
|
409
|
-
|
|
428
|
+
await new Promise((resolve) => {
|
|
429
|
+
if (currentProc.exitCode !== null) {
|
|
430
|
+
resolve();
|
|
431
|
+
return;
|
|
410
432
|
}
|
|
411
|
-
|
|
433
|
+
currentProc.once("close", () => resolve());
|
|
434
|
+
setTimeout(() => {
|
|
435
|
+
if (!currentProc.killed) {
|
|
436
|
+
currentProc.kill();
|
|
437
|
+
}
|
|
438
|
+
resolve();
|
|
439
|
+
}, 5000);
|
|
440
|
+
});
|
|
412
441
|
}
|
|
413
442
|
return result;
|
|
414
443
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@recallai/desktop-sdk",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.8",
|
|
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": "
|
|
23
|
+
"commit_sha": "b7a1c938d0de3e558014e49d4e79299e71d84f17"
|
|
24
24
|
}
|