Skip to content

Commit 0eb06be

Browse files
committed
fix: update version, use AbortController
1 parent e5b3119 commit 0eb06be

File tree

4 files changed

+17
-19
lines changed

4 files changed

+17
-19
lines changed

package-lock.json

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/logging/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"node": ">=14.15.1"
1818
},
1919
"dependencies": {
20-
"@mongodb-js/device-id": "^0.2.0",
20+
"@mongodb-js/device-id": "^0.2.1",
2121
"@mongodb-js/devtools-connect": "^3.4.1",
2222
"@mongosh/errors": "2.4.0",
2323
"@mongosh/history": "2.4.6",

packages/logging/src/logging-and-telemetry.spec.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@ describe('MongoshLoggingAndTelemetry', function () {
255255
});
256256

257257
it('automatically sets up device ID for telemetry', async function () {
258+
const abortController = new AbortController();
258259
const loggingAndTelemetry = setupLoggingAndTelemetry({
259260
...testLoggingArguments,
260261
bus,
@@ -267,8 +268,8 @@ describe('MongoshLoggingAndTelemetry', function () {
267268

268269
const deviceId = await getDeviceId({
269270
getMachineId: () => getMachineId({ raw: true }),
270-
isNodeMachineId: false,
271-
}).value;
271+
abortSignal: abortController.signal,
272+
});
272273

273274
await (loggingAndTelemetry as LoggingAndTelemetry).setupTelemetryPromise;
274275

packages/logging/src/logging-and-telemetry.ts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,7 @@ export class LoggingAndTelemetry implements MongoshLoggingAndTelemetry {
9595
/** @internal */
9696
public setupTelemetryPromise: Promise<void> = Promise.resolve();
9797

98-
// eslint-disable-next-line @typescript-eslint/no-empty-function
99-
private resolveDeviceId: (value: string) => void = () => {};
98+
private readonly abortController: AbortController = new AbortController();
10099

101100
constructor({
102101
bus,
@@ -133,21 +132,19 @@ export class LoggingAndTelemetry implements MongoshLoggingAndTelemetry {
133132
// Run any other pending events with the set or dummy log for telemetry purposes.
134133
this.runAndClearPendingBusEvents();
135134

136-
this.resolveDeviceId('unknown');
135+
this.abortController.abort();
137136
}
138137

139138
private async setupTelemetry(): Promise<void> {
140139
if (!this.deviceId) {
141140
// eslint-disable-next-line @typescript-eslint/no-var-requires
142141
const getMachineId = require('native-machine-id').getMachineId;
143-
const { value: deviceId, resolve: resolveDeviceId } = getDeviceId({
142+
this.deviceId = await getDeviceId({
144143
getMachineId: () => getMachineId({ raw: true }),
145-
isNodeMachineId: false,
146-
onError: (error) => this.bus.emit('mongosh:error', error, 'telemetry'),
144+
onError: (_, error) =>
145+
this.bus.emit('mongosh:error', error, 'telemetry'),
146+
abortSignal: this.abortController.signal,
147147
});
148-
149-
this.resolveDeviceId = resolveDeviceId;
150-
this.deviceId = await deviceId;
151148
}
152149

153150
this.runAndClearPendingTelemetryEvents();

0 commit comments

Comments
 (0)