@nordicsemiconductor/pc-nrfconnect-shared 149.0.0 → 151.0.0
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 +45 -1
- package/ipc/infrastructure/mainToRenderer.ts +4 -0
- package/main/index.ts +4 -1
- package/nrfutil/sandbox.ts +10 -6
- package/package.json +2 -2
- package/src/App/App.test.tsx +11 -2
- package/src/App/App.tsx +3 -3
- package/src/Device/DeviceSelector/DeviceSelector.test.tsx +13 -0
- package/src/Device/DeviceSelector/DeviceSelector.tsx +6 -6
- package/src/Device/deviceLister.ts +4 -4
- package/src/ErrorBoundary/ErrorBoundary.test.tsx +5 -5
- package/src/ErrorBoundary/ErrorBoundary.tsx +14 -13
- package/src/Overlay/overlay.scss +6 -7
- package/src/Parsers/shellParser.ts +3 -3
- package/src/index.ts +2 -2
- package/src/telemetry/TelemetryMetadata.ts +9 -0
- package/src/telemetry/TelemetrySender.ts +80 -0
- package/src/telemetry/TelemetrySenderInMain.ts +80 -0
- package/src/telemetry/TelemetrySenderInRenderer.ts +86 -0
- package/src/telemetry/flatObject.test.ts +37 -0
- package/src/telemetry/flatObject.ts +19 -0
- package/src/telemetry/simplifyDevice.ts +20 -0
- package/src/telemetry/telemetry.ts +97 -0
- package/src/utils/persistentStore.ts +7 -7
- package/src/utils/systemReport.ts +1 -1
- package/src/utils/useHotKey.ts +2 -2
- package/typings/generated/ipc/infrastructure/mainToRenderer.d.ts +1 -0
- package/typings/generated/ipc/infrastructure/mainToRenderer.d.ts.map +1 -1
- package/typings/generated/main/index.d.ts +1 -1
- package/typings/generated/main/index.d.ts.map +1 -1
- package/typings/generated/nrfutil/sandbox.d.ts.map +1 -1
- package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts +1 -1
- package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts.map +1 -1
- package/typings/generated/src/index.d.ts +2 -2
- package/typings/generated/src/index.d.ts.map +1 -1
- package/typings/generated/src/telemetry/TelemetryMetadata.d.ts +4 -0
- package/typings/generated/src/telemetry/TelemetryMetadata.d.ts.map +1 -0
- package/typings/generated/src/telemetry/TelemetrySender.d.ts +24 -0
- package/typings/generated/src/telemetry/TelemetrySender.d.ts.map +1 -0
- package/typings/generated/src/telemetry/TelemetrySenderInMain.d.ts +15 -0
- package/typings/generated/src/telemetry/TelemetrySenderInMain.d.ts.map +1 -0
- package/typings/generated/src/telemetry/TelemetrySenderInRenderer.d.ts +15 -0
- package/typings/generated/src/telemetry/TelemetrySenderInRenderer.d.ts.map +1 -0
- package/typings/generated/src/telemetry/flatObject.d.ts +4 -0
- package/typings/generated/src/telemetry/flatObject.d.ts.map +1 -0
- package/typings/generated/src/telemetry/flatObject.test.d.ts +2 -0
- package/typings/generated/src/telemetry/flatObject.test.d.ts.map +1 -0
- package/typings/generated/src/{utils/usageDataCommon.d.ts → telemetry/simplifyDevice.d.ts} +2 -14
- package/typings/generated/src/telemetry/simplifyDevice.d.ts.map +1 -0
- package/typings/generated/src/telemetry/telemetry.d.ts +16 -0
- package/typings/generated/src/telemetry/telemetry.d.ts.map +1 -0
- package/typings/generated/src/utils/persistentStore.d.ts +4 -4
- package/typings/generated/src/utils/persistentStore.d.ts.map +1 -1
- package/src/utils/usageData.ts +0 -117
- package/src/utils/usageDataCommon.ts +0 -59
- package/src/utils/usageDataMain.ts +0 -119
- package/src/utils/usageDataRenderer.ts +0 -137
- package/typings/generated/src/utils/usageData.d.ts +0 -16
- package/typings/generated/src/utils/usageData.d.ts.map +0 -1
- package/typings/generated/src/utils/usageDataCommon.d.ts.map +0 -1
- package/typings/generated/src/utils/usageDataMain.d.ts +0 -10
- package/typings/generated/src/utils/usageDataMain.d.ts.map +0 -1
- package/typings/generated/src/utils/usageDataRenderer.d.ts +0 -10
- package/typings/generated/src/utils/usageDataRenderer.d.ts.map +0 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023 Nordic Semiconductor ASA
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { ApplicationInsights } from '@microsoft/applicationinsights-web';
|
|
8
|
+
|
|
9
|
+
import appDetails from '../utils/appDetails';
|
|
10
|
+
import { isDevelopment } from '../utils/environment';
|
|
11
|
+
import { isLauncher, packageJson } from '../utils/packageJson';
|
|
12
|
+
import { getTelemetryClientId } from '../utils/persistentStore';
|
|
13
|
+
import TelemetryMetadata from './TelemetryMetadata';
|
|
14
|
+
import TelemetrySender from './TelemetrySender';
|
|
15
|
+
|
|
16
|
+
export default class TelemetrySenderInRenderer extends TelemetrySender {
|
|
17
|
+
client?: ApplicationInsights;
|
|
18
|
+
|
|
19
|
+
async initClient() {
|
|
20
|
+
const source = isLauncher() ? undefined : (await appDetails()).source;
|
|
21
|
+
|
|
22
|
+
const applicationName = packageJson().name;
|
|
23
|
+
const applicationVersion = packageJson().version;
|
|
24
|
+
|
|
25
|
+
const accountId = getTelemetryClientId();
|
|
26
|
+
|
|
27
|
+
this.client = new ApplicationInsights({
|
|
28
|
+
config: {
|
|
29
|
+
instrumentationKey: this.INSTRUMENTATION_KEY,
|
|
30
|
+
accountId, // to hide with removeAllMetadata
|
|
31
|
+
isStorageUseDisabled: true, // fix issue with duplicate events being sent https://github.com/microsoft/ApplicationInsights-JS/issues/796
|
|
32
|
+
namePrefix: applicationName, // fix issue with duplicate events being sent https://github.com/microsoft/ApplicationInsights-JS/issues/796
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
this.client.loadAppInsights();
|
|
37
|
+
|
|
38
|
+
// Add app name and version to every event
|
|
39
|
+
this.client.addTelemetryInitializer(envelope => {
|
|
40
|
+
if (envelope.data?.removeAllMetadata) {
|
|
41
|
+
envelope.data = {};
|
|
42
|
+
envelope.baseData = { name: envelope.baseData?.name };
|
|
43
|
+
envelope.ext = {};
|
|
44
|
+
envelope.tags = [];
|
|
45
|
+
} else {
|
|
46
|
+
const trace = {
|
|
47
|
+
...(envelope.ext?.trace ?? {}),
|
|
48
|
+
name: applicationName,
|
|
49
|
+
};
|
|
50
|
+
envelope.ext = { ...envelope.ext, trace };
|
|
51
|
+
envelope.data = {
|
|
52
|
+
...envelope.data,
|
|
53
|
+
applicationName,
|
|
54
|
+
applicationVersion,
|
|
55
|
+
isDevelopment,
|
|
56
|
+
source,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
return this.client;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
getClient = () => this.client ?? this.initClient();
|
|
65
|
+
|
|
66
|
+
sendEvent = async (action: string, metadata?: TelemetryMetadata) => {
|
|
67
|
+
(await this.getClient()).trackEvent({ name: action }, metadata);
|
|
68
|
+
this.logger?.debug(`Sending event ${JSON.stringify(action)}`);
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
sendPageView = async (pageName: string) =>
|
|
72
|
+
(await this.getClient()).trackPageView({ name: pageName });
|
|
73
|
+
|
|
74
|
+
sendMetric = async (name: string, average: number) =>
|
|
75
|
+
(await this.getClient()).trackMetric({ name, average });
|
|
76
|
+
|
|
77
|
+
sendTrace = async (message: string) =>
|
|
78
|
+
(await this.getClient()).trackTrace({ message });
|
|
79
|
+
|
|
80
|
+
sendErrorReport = async (error: Error) => {
|
|
81
|
+
(await this.getClient()).trackException({ exception: error });
|
|
82
|
+
this.logger?.error(error);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
flush = async () => (await this.getClient()).flush();
|
|
86
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023 Nordic Semiconductor ASA
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import flatObject from './flatObject';
|
|
8
|
+
|
|
9
|
+
describe('flatObject', () => {
|
|
10
|
+
it('is an empty object for nullish input', () => {
|
|
11
|
+
expect(flatObject(null)).toEqual({});
|
|
12
|
+
expect(flatObject(undefined)).toEqual({});
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it('is an empty object for primitives', () => {
|
|
16
|
+
expect(flatObject(true)).toEqual({});
|
|
17
|
+
expect(flatObject(false)).toEqual({});
|
|
18
|
+
expect(flatObject(0)).toEqual({});
|
|
19
|
+
expect(flatObject(1)).toEqual({});
|
|
20
|
+
expect(flatObject(NaN)).toEqual({});
|
|
21
|
+
expect(flatObject(Symbol(''))).toEqual({});
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
it('flattens typical objects', () => {
|
|
25
|
+
expect(
|
|
26
|
+
flatObject({
|
|
27
|
+
top: true,
|
|
28
|
+
nested: { once: 1 },
|
|
29
|
+
and: { nested: { by: { multiple: 'levels' } } },
|
|
30
|
+
})
|
|
31
|
+
).toEqual({
|
|
32
|
+
top: true,
|
|
33
|
+
'nested.once': 1,
|
|
34
|
+
'and.nested.by.multiple': 'levels',
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023 Nordic Semiconductor ASA
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
|
|
5
|
+
*/
|
|
6
|
+
import TelemetryMetadata from './TelemetryMetadata';
|
|
7
|
+
|
|
8
|
+
const flatObject = (obj?: unknown, parentKey?: string): TelemetryMetadata =>
|
|
9
|
+
Object.entries(obj ?? {}).reduce((acc, [key, value]) => {
|
|
10
|
+
const newKey = parentKey ? `${parentKey}.${key}` : key;
|
|
11
|
+
return {
|
|
12
|
+
...acc,
|
|
13
|
+
...(typeof value === 'object'
|
|
14
|
+
? flatObject(value, newKey)
|
|
15
|
+
: { [newKey]: value }),
|
|
16
|
+
};
|
|
17
|
+
}, {});
|
|
18
|
+
|
|
19
|
+
export default flatObject;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023 Nordic Semiconductor ASA
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { type Device } from '../Device/deviceSlice';
|
|
8
|
+
|
|
9
|
+
export default (device: Device) => ({
|
|
10
|
+
devkit: device.devkit,
|
|
11
|
+
serialPorts: device.serialPorts,
|
|
12
|
+
traits: device.traits,
|
|
13
|
+
serialNumber: device.serialNumber,
|
|
14
|
+
enumerationID: device.id,
|
|
15
|
+
usb: {
|
|
16
|
+
product: device.usb?.product,
|
|
17
|
+
manufacturer: device.usb?.manufacturer,
|
|
18
|
+
deviceDescriptor: device.usb?.device.descriptor,
|
|
19
|
+
},
|
|
20
|
+
});
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023 Nordic Semiconductor ASA
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Logger } from 'winston';
|
|
8
|
+
|
|
9
|
+
import { packageJson } from '../utils/packageJson';
|
|
10
|
+
import flatObject from './flatObject';
|
|
11
|
+
import TelemetryMetadata from './TelemetryMetadata';
|
|
12
|
+
import TelemetrySender from './TelemetrySender';
|
|
13
|
+
import TelemetrySenderInMain from './TelemetrySenderInMain';
|
|
14
|
+
import TelemetrySenderInRenderer from './TelemetrySenderInRenderer';
|
|
15
|
+
|
|
16
|
+
const isRenderer = process && process.type === 'renderer';
|
|
17
|
+
|
|
18
|
+
let cachedSender: TelemetrySender | undefined;
|
|
19
|
+
|
|
20
|
+
const newTelemetrySender = () => {
|
|
21
|
+
cachedSender = isRenderer
|
|
22
|
+
? new TelemetrySenderInRenderer()
|
|
23
|
+
: new TelemetrySenderInMain();
|
|
24
|
+
|
|
25
|
+
return cachedSender;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
// We experienced that apps sometimes freeze when closing the window
|
|
29
|
+
// until the telemetry events are sent. But as far as we observed so
|
|
30
|
+
// far this only happens in the renderer processes
|
|
31
|
+
if (isRenderer) {
|
|
32
|
+
globalThis.addEventListener('beforeunload', () => cachedSender?.flush());
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const getTelemetrySenderUnconditionally = () =>
|
|
36
|
+
cachedSender ?? newTelemetrySender();
|
|
37
|
+
|
|
38
|
+
const getTelemetrySenderIfEnabled = () => {
|
|
39
|
+
const sender = getTelemetrySenderUnconditionally();
|
|
40
|
+
|
|
41
|
+
if (sender.getIsSendingTelemetry()) return sender;
|
|
42
|
+
|
|
43
|
+
return undefined;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
// Functions which can always be called
|
|
47
|
+
|
|
48
|
+
const setLogger = (logger: Logger) =>
|
|
49
|
+
getTelemetrySenderUnconditionally().setLogger(logger);
|
|
50
|
+
const setUsersAgreedToTelemetry = (hasAgreed: boolean) =>
|
|
51
|
+
getTelemetrySenderUnconditionally().setUsersAgreedToTelemetry(hasAgreed);
|
|
52
|
+
const getIsSendingTelemetry = () =>
|
|
53
|
+
getTelemetrySenderUnconditionally().getIsSendingTelemetry();
|
|
54
|
+
const setUsersWithdrewTelemetryAgreement = () =>
|
|
55
|
+
getTelemetrySenderUnconditionally().setUsersWithdrewTelemetryAgreement();
|
|
56
|
+
const enableTelemetry = () =>
|
|
57
|
+
getTelemetrySenderUnconditionally().allowTelemetryForCurrentApp();
|
|
58
|
+
|
|
59
|
+
// Functions which will be no-ops if telemetry is disabled for some reason
|
|
60
|
+
|
|
61
|
+
const getFriendlyAppName = () =>
|
|
62
|
+
packageJson().name.replace('pc-nrfconnect-', '');
|
|
63
|
+
|
|
64
|
+
const sendEvent = (action: string, metadata?: TelemetryMetadata) =>
|
|
65
|
+
getTelemetrySenderIfEnabled()?.sendEvent(
|
|
66
|
+
`${getFriendlyAppName()}: ${action}`,
|
|
67
|
+
flatObject(metadata)
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
const sendPageView = (pageName: string) =>
|
|
71
|
+
getTelemetrySenderIfEnabled()?.sendPageView(
|
|
72
|
+
`${getFriendlyAppName()} - ${pageName}`
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
const sendMetric = (name: string, average: number) =>
|
|
76
|
+
getTelemetrySenderIfEnabled()?.sendMetric(name, average);
|
|
77
|
+
|
|
78
|
+
const sendTrace = (message: string) =>
|
|
79
|
+
getTelemetrySenderIfEnabled()?.sendTrace(message);
|
|
80
|
+
|
|
81
|
+
const sendErrorReport = (error: string | Error) =>
|
|
82
|
+
getTelemetrySenderIfEnabled()?.sendErrorReport(
|
|
83
|
+
typeof error === 'string' ? new Error(error) : error
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
export default {
|
|
87
|
+
setLogger,
|
|
88
|
+
setUsersAgreedToTelemetry,
|
|
89
|
+
setUsersWithdrewTelemetryAgreement,
|
|
90
|
+
getIsSendingTelemetry,
|
|
91
|
+
sendErrorReport,
|
|
92
|
+
sendEvent,
|
|
93
|
+
sendPageView,
|
|
94
|
+
sendMetric,
|
|
95
|
+
sendTrace,
|
|
96
|
+
enableTelemetry,
|
|
97
|
+
};
|
|
@@ -115,22 +115,22 @@ export const getPersistedTerminalSettings = (
|
|
|
115
115
|
return undefined;
|
|
116
116
|
};
|
|
117
117
|
|
|
118
|
-
export const
|
|
118
|
+
export const persistHasUserAgreedToTelemetry = (value: boolean) =>
|
|
119
119
|
sharedStore.set('isSendingTelemetry', value);
|
|
120
|
-
export const
|
|
120
|
+
export const getHasUserAgreedToTelemetry = () =>
|
|
121
121
|
sharedStore.get('isSendingTelemetry', undefined) as boolean | undefined;
|
|
122
|
-
export const
|
|
122
|
+
export const deleteHasUserAgreedToTelemetry = () =>
|
|
123
123
|
sharedStore.delete('isSendingTelemetry');
|
|
124
124
|
|
|
125
|
-
const
|
|
126
|
-
const
|
|
125
|
+
const existingTelemetryClientId = () => sharedStore.get('clientId');
|
|
126
|
+
const newTelemetryClientId = () => {
|
|
127
127
|
const clientId = uuid();
|
|
128
128
|
sharedStore.set('clientId', clientId);
|
|
129
129
|
|
|
130
130
|
return clientId;
|
|
131
131
|
};
|
|
132
|
-
export const
|
|
133
|
-
|
|
132
|
+
export const getTelemetryClientId = () =>
|
|
133
|
+
existingTelemetryClientId() ?? newTelemetryClientId();
|
|
134
134
|
|
|
135
135
|
// This one must be initialised lazily, because the package.json is not read yet when this module is initialised.
|
|
136
136
|
// This can probably be changed when we bundle shared with the apps.
|
package/src/utils/useHotKey.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { useDispatch } from 'react-redux';
|
|
|
9
9
|
import Mousetrap from 'mousetrap';
|
|
10
10
|
|
|
11
11
|
import { addShortcut, removeShortcut, Shortcut } from '../About/shortcutSlice';
|
|
12
|
-
import
|
|
12
|
+
import telemetry from '../telemetry/telemetry';
|
|
13
13
|
|
|
14
14
|
const useNewHotKey = (shortcut: Shortcut, deps: DependencyList = []) => {
|
|
15
15
|
const dispatch = useDispatch();
|
|
@@ -18,7 +18,7 @@ const useNewHotKey = (shortcut: Shortcut, deps: DependencyList = []) => {
|
|
|
18
18
|
|
|
19
19
|
Mousetrap.bind(shortcut.hotKey, (_e, combo) => {
|
|
20
20
|
shortcut.action();
|
|
21
|
-
|
|
21
|
+
telemetry.sendEvent('pressed hotkey', { combo });
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
return () => {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BrowserWindow, WebContents } from 'electron';
|
|
2
2
|
export declare const registerLauncherWindowFromMain: (window: BrowserWindow) => void;
|
|
3
|
+
export declare const removeLauncherWindowFromMain: () => void;
|
|
3
4
|
export declare const send: <T extends (...args: never[]) => void>(channel: string) => (...args: Parameters<T>) => void | undefined;
|
|
4
5
|
export declare const on: <T extends (...args: never[]) => void>(channel: string) => (handler: T) => Electron.IpcRenderer;
|
|
5
6
|
export declare const broadcast: <T extends (...args: never[]) => void>(channel: string) => (subChannel: string, targets?: Pick<WebContents, 'send'>[], ...args: Parameters<T>) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mainToRenderer.d.ts","sourceRoot":"","sources":["../../../../ipc/infrastructure/mainToRenderer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAe,WAAW,EAAE,MAAM,UAAU,CAAC;AAInE,eAAO,MAAM,8BAA8B,WAAY,aAAa,SAEnE,CAAC;AAEF,eAAO,MAAM,IAAI,uBACQ,KAAK,EAAE,KAAK,IAAI,WAAW,MAAM,iDAEA,CAAC;AAE3D,eAAO,MAAM,EAAE,uBACU,KAAK,EAAE,KAAK,IAAI,WAAW,MAAM,yCAIjD,CAAC;AAIV,eAAO,MAAM,SAAS,uBACG,KAAK,EAAE,KAAK,IAAI,WAAW,MAAM,kBAEtC,MAAM,YACT,KAAK,WAAW,EAAE,MAAM,CAAC,EAAE,iCAKlC,CAAC;AAEX,eAAO,MAAM,aAAa,uBACD,KAAK,EAAE,KAAK,IAAI,WACxB,MAAM,cACH,MAAM,yCAMjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"mainToRenderer.d.ts","sourceRoot":"","sources":["../../../../ipc/infrastructure/mainToRenderer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAe,WAAW,EAAE,MAAM,UAAU,CAAC;AAInE,eAAO,MAAM,8BAA8B,WAAY,aAAa,SAEnE,CAAC;AAEF,eAAO,MAAM,4BAA4B,YAExC,CAAC;AAEF,eAAO,MAAM,IAAI,uBACQ,KAAK,EAAE,KAAK,IAAI,WAAW,MAAM,iDAEA,CAAC;AAE3D,eAAO,MAAM,EAAE,uBACU,KAAK,EAAE,KAAK,IAAI,WAAW,MAAM,yCAIjD,CAAC;AAIV,eAAO,MAAM,SAAS,uBACG,KAAK,EAAE,KAAK,IAAI,WAAW,MAAM,kBAEtC,MAAM,YACT,KAAK,WAAW,EAAE,MAAM,CAAC,EAAE,iCAKlC,CAAC;AAEX,eAAO,MAAM,aAAa,uBACD,KAAK,EAAE,KAAK,IAAI,WACxB,MAAM,cACH,MAAM,yCAMjB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
export { registerLauncherWindowFromMain } from '../ipc/infrastructure/mainToRenderer';
|
|
2
|
+
export { registerLauncherWindowFromMain, removeLauncherWindowFromMain, } from '../ipc/infrastructure/mainToRenderer';
|
|
3
3
|
export declare const appDetails: {
|
|
4
4
|
forRenderer: {
|
|
5
5
|
registerGetAppDetails: (onGetAppDetails: (webContents: Electron.WebContents) => import("../ipc/appDetails").AppDetailsFromLauncher) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../main/index.ts"],"names":[],"mappings":";AAiBA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../main/index.ts"],"names":[],"mappings":";AAiBA,OAAO,EACH,8BAA8B,EAC9B,4BAA4B,GAC/B,MAAM,sCAAsC,CAAC;AAE9C,eAAO,MAAM,UAAU;;;;CAAyC,CAAC;AACjE,eAAO,MAAM,IAAI;;;;;;;;;;;;;CAAmC,CAAC;AACrD,eAAO,MAAM,cAAc;;;;CAA6C,CAAC;AACzE,eAAO,MAAM,UAAU;;;;;CAAyC,CAAC;AACjE,eAAO,MAAM,YAAY;;;;;CAA2C,CAAC;AACrE,eAAO,MAAM,WAAW;;;;;;CAEvB,CAAC;AACF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;CAGtB,CAAC;AAEF,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,aAAa,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,yBAAyB,EACzB,mBAAmB,GACtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACH,0BAA0B,EAC1B,wBAAwB,GAC3B,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../nrfutil/sandbox.ts"],"names":[],"mappings":";AAiBA,OAAO,EACH,cAAc,EACd,QAAQ,EACR,UAAU,EACV,aAAa,EAGb,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,EACV,MAAM,gBAAgB,CAAC;AAcxB,QAAA,MAAM,UAAU,YAAa,MAAM,UAAU,MAAM,WAAW,MAAM;;;;;;;;;;;CAqBnE,CAAC;AAiDF,qBAAa,cAAc;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,EAAE,CAAM;IACxE,QAAQ,EAAE,QAAQ,CAAmC;IACrD,GAAG,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAQ5D,OAAO,CAAC,kBAAkB,CASxB;IAEK,gBAAgB,+BAUrB;IAEK,kBAAkB,yBAmBvB;IAEK,cAAc,4BACO,QAAQ,SAAS,IAAI,KAAK,IAAI,gCAmBxD;IAEK,iBAAiB,eAA4C;IAE7D,sBAAsB,oBAChB,MAAM,QACT,MAAM,EAAE,2BACU,QAAQ,SAAS,IAAI,KAAK,IAAI,0CAC5B,SAAS,KAAK,IAAI,0DACF,IAAI,4BACjC,eAAe,mBACZ,OAAO,UAAU,KAAK,OAAO,UAAU;;;OAUrD;IAEN,OAAO,CAAC,mBAAmB,CAsBrB;IAEN,OAAO,CAAC,YAAY,CAmFlB;IAEK,YAAY,YACN,MAAM,QACT,MAAM,EAAE,iBACC,MAAM,QAAQ,MAAM,KAAK,MAAM,GAAG,SAAS,qBACvC,MAAM,QAAQ,MAAM,KAAK,IAAI,eACnC,eAAe,kBACb,OAAO,UAAU,KAAK,OAAO,UAAU,
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../nrfutil/sandbox.ts"],"names":[],"mappings":";AAiBA,OAAO,EACH,cAAc,EACd,QAAQ,EACR,UAAU,EACV,aAAa,EAGb,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,EACV,MAAM,gBAAgB,CAAC;AAcxB,QAAA,MAAM,UAAU,YAAa,MAAM,UAAU,MAAM,WAAW,MAAM;;;;;;;;;;;CAqBnE,CAAC;AAiDF,qBAAa,cAAc;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,EAAE,CAAM;IACxE,QAAQ,EAAE,QAAQ,CAAmC;IACrD,GAAG,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAQ5D,OAAO,CAAC,kBAAkB,CASxB;IAEK,gBAAgB,+BAUrB;IAEK,kBAAkB,yBAmBvB;IAEK,cAAc,4BACO,QAAQ,SAAS,IAAI,KAAK,IAAI,gCAmBxD;IAEK,iBAAiB,eAA4C;IAE7D,sBAAsB,oBAChB,MAAM,QACT,MAAM,EAAE,2BACU,QAAQ,SAAS,IAAI,KAAK,IAAI,0CAC5B,SAAS,KAAK,IAAI,0DACF,IAAI,4BACjC,eAAe,mBACZ,OAAO,UAAU,KAAK,OAAO,UAAU;;;OAUrD;IAEN,OAAO,CAAC,mBAAmB,CAsBrB;IAEN,OAAO,CAAC,YAAY,CAmFlB;IAEK,YAAY,YACN,MAAM,QACT,MAAM,EAAE,iBACC,MAAM,QAAQ,MAAM,KAAK,MAAM,GAAG,SAAS,qBACvC,MAAM,QAAQ,MAAM,KAAK,IAAI,eACnC,eAAe,kBACb,OAAO,UAAU,KAAK,OAAO,UAAU,mBAqEnD;IAEA,qBAAqB,oBACf,MAAM,QACT,MAAM,EAAE,2BACU,QAAQ,SAAS,IAAI,KAAK,IAAI,0CAC5B,SAAS,KAAK,IAAI,0DACF,IAAI,4BACjC,eAAe,mBACZ,OAAO,UAAU,KAAK,OAAO,UAAU;;;OAUrD;IAEN,OAAO,CAAC,kBAAkB,CAmFxB;IAEK,WAAW,YACL,MAAM,QACT,MAAM,EAAE,iBACC,MAAM,QAAQ,MAAM,KAAK,IAAI,qBACzB,MAAM,QAAQ,MAAM,KAAK,IAAI,eACnC,eAAe,kBACb,OAAO,UAAU,KAAK,OAAO,UAAU,mBA0DnD;IAEA,yBAAyB,oBACnB,MAAM,QACT,MAAM,EAAE,uDAEE,OAAO,UAAU,KAAK,OAAO,UAAU;yBA4ClC,MAAM,IAAI;;qCAKE,KAAK,KAAK,IAAI,qBA7Cf,KAAK,KAAK,IAAI;MAoDhD;IAEK,8BAA8B,eACxB,MAAM,2BACS,QAAQ,SAAS,IAAI,KAAK,IAAI,4BACzC,eAAe,SACtB,MAAM,EAAE,sCAahB;IAEK,kCAAkC,sBAC5B,MAAM,2BACS,QAAQ,SAAS,IAAI,KAAK,IAAI,4BACzC,eAAe,SACtB,MAAM,EAAE,gBAehB;IAEK,+BAA+B,sBACzB,MAAM,eACF,eAAe,SACtB,MAAM,EAAE,gBAehB;IAEK,SAAS,sBACO,UAAU,QAAQ,MAAM,KAAK,IAAI,sBAlkB1B,UAAU,QAAQ,MAAM,KAAK,IAAI,IA2kB7D;IAEK,WAAW,UAAW,QAAQ,UAEnC;CACL;kCAGY,MAAM,UACP,MAAM,YACJ,MAAM,2BACQ,QAAQ,SAAS,IAAI,KAAK,IAAI;AAJ1D,wBAqBE"}
|
|
@@ -8,7 +8,7 @@ interface Props {
|
|
|
8
8
|
devices?: Device[];
|
|
9
9
|
appName?: string;
|
|
10
10
|
restoreDefaults?: () => void;
|
|
11
|
-
|
|
11
|
+
sendTelemetryEvent?: (message: string) => void;
|
|
12
12
|
}
|
|
13
13
|
declare class ErrorBoundary extends React.Component<Props, {
|
|
14
14
|
hasError: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/ErrorBoundary/ErrorBoundary.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAW/C,OAAO,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/ErrorBoundary/ErrorBoundary.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAW/C,OAAO,uBAAuB,CAAC;AAM/B,UAAU,KAAK;IACX,QAAQ,EAAE,SAAS,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAOD,cAAM,aAAc,SAAQ,KAAK,CAAC,SAAS,CACvC,KAAK,EACL;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAC1E;gBACe,KAAK,EAAE,KAAK;IASxB,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK;;;;IAO5C,iBAAiB,CAAC,KAAK,EAAE,KAAK;IAsB9B,MAAM;CA8FT;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -50,8 +50,8 @@ export { colors } from './utils/colors';
|
|
|
50
50
|
export { getAppDir, getAppFile, getAppDataDir, getAppLogDir, getUserDataDir, } from './utils/appDirs';
|
|
51
51
|
export { openUrl, openFile } from './utils/open';
|
|
52
52
|
export { default as systemReport } from './utils/systemReport';
|
|
53
|
-
export { default as
|
|
54
|
-
export { type
|
|
53
|
+
export { default as telemetry } from './telemetry/telemetry';
|
|
54
|
+
export { type default as TelemetryMetadata } from './telemetry/TelemetryMetadata';
|
|
55
55
|
export { default as classNames } from './utils/classNames';
|
|
56
56
|
export { truncateMiddle } from './utils/truncateMiddle';
|
|
57
57
|
export { default as useHotKey } from './utils/useHotKey';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TelemetryMetadata.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/TelemetryMetadata.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,WAAW,iBAAiB;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Logger } from 'winston';
|
|
2
|
+
import TelemetryMetadata from './TelemetryMetadata';
|
|
3
|
+
type MaybePromise<T> = T | Promise<T>;
|
|
4
|
+
export default abstract class TelemetrySender {
|
|
5
|
+
readonly INSTRUMENTATION_KEY = "4b8b1a39-37c7-479e-a684-d4763c7c647c";
|
|
6
|
+
logger?: Logger;
|
|
7
|
+
setLogger: (logger: Logger) => void;
|
|
8
|
+
isTelemetryAllowedForCurrentApp: boolean;
|
|
9
|
+
allowTelemetryForCurrentApp: () => void;
|
|
10
|
+
getIsSendingTelemetry: () => boolean;
|
|
11
|
+
sendAgreementEvent(): Promise<void>;
|
|
12
|
+
sendDisagreementEvent(): void;
|
|
13
|
+
setUsersAgreedToTelemetry(hasAgreed: boolean): Promise<void>;
|
|
14
|
+
setUsersWithdrewTelemetryAgreement(): void;
|
|
15
|
+
sendMinimalEvent(action: string): void;
|
|
16
|
+
abstract sendEvent(action: string, metadata?: TelemetryMetadata): MaybePromise<void>;
|
|
17
|
+
abstract sendPageView(pageName: string): MaybePromise<void>;
|
|
18
|
+
abstract sendMetric(name: string, average: number): MaybePromise<void>;
|
|
19
|
+
abstract sendTrace(message: string): MaybePromise<void>;
|
|
20
|
+
abstract sendErrorReport(error: Error): MaybePromise<void>;
|
|
21
|
+
abstract flush(): MaybePromise<void>;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=TelemetrySender.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TelemetrySender.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/TelemetrySender.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAOjC,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtC,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,eAAe;IACzC,QAAQ,CAAC,mBAAmB,0CAA0C;IAEtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,WAAY,MAAM,UAEzB;IAEF,+BAA+B,UAAS;IACxC,2BAA2B,aAEzB;IAEF,qBAAqB,gBAEsB;IAErC,kBAAkB;IAOxB,qBAAqB;IAIf,yBAAyB,CAAC,SAAS,EAAE,OAAO;IAclD,kCAAkC;IAMlC,gBAAgB,CAAC,MAAM,EAAE,MAAM;IAI/B,QAAQ,CAAC,SAAS,CACd,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,YAAY,CAAC,IAAI,CAAC;IACrB,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC;IAC3D,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC;IACtE,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC;IACvD,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC;IAC1D,QAAQ,CAAC,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC;CACvC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TelemetryClient } from 'applicationinsights';
|
|
2
|
+
import TelemetryMetadata from './TelemetryMetadata';
|
|
3
|
+
import TelemetrySender from './TelemetrySender';
|
|
4
|
+
export default class TelemetrySenderInMain extends TelemetrySender {
|
|
5
|
+
client?: TelemetryClient;
|
|
6
|
+
initClient(): TelemetryClient;
|
|
7
|
+
getClient: () => TelemetryClient;
|
|
8
|
+
sendEvent: (action: string, metadata?: TelemetryMetadata) => void;
|
|
9
|
+
sendPageView: (pageName: string) => void;
|
|
10
|
+
sendMetric: (name: string, value: number) => void;
|
|
11
|
+
sendTrace: (message: string) => void;
|
|
12
|
+
sendErrorReport: (error: Error) => void;
|
|
13
|
+
flush: () => void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=TelemetrySenderInMain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TelemetrySenderInMain.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/TelemetrySenderInMain.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAItD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,eAAe;IAC9D,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB,UAAU;IA0CV,SAAS,wBAA0C;IAEnD,SAAS,WAAY,MAAM,aAAa,iBAAiB,UAGvD;IAEF,YAAY,aAAc,MAAM,UACuB;IAEvD,UAAU,SAAU,MAAM,SAAS,MAAM,UACS;IAElD,SAAS,YAAa,MAAM,UAA8C;IAE1E,eAAe,UAAW,KAAK,UAG7B;IAEF,KAAK,aAAkC;CAC1C"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ApplicationInsights } from '@microsoft/applicationinsights-web';
|
|
2
|
+
import TelemetryMetadata from './TelemetryMetadata';
|
|
3
|
+
import TelemetrySender from './TelemetrySender';
|
|
4
|
+
export default class TelemetrySenderInRenderer extends TelemetrySender {
|
|
5
|
+
client?: ApplicationInsights;
|
|
6
|
+
initClient(): Promise<ApplicationInsights>;
|
|
7
|
+
getClient: () => ApplicationInsights | Promise<ApplicationInsights>;
|
|
8
|
+
sendEvent: (action: string, metadata?: TelemetryMetadata) => Promise<void>;
|
|
9
|
+
sendPageView: (pageName: string) => Promise<void>;
|
|
10
|
+
sendMetric: (name: string, average: number) => Promise<void>;
|
|
11
|
+
sendTrace: (message: string) => Promise<void>;
|
|
12
|
+
sendErrorReport: (error: Error) => Promise<void>;
|
|
13
|
+
flush: () => Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=TelemetrySenderInRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TelemetrySenderInRenderer.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/TelemetrySenderInRenderer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAMzE,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,eAAe;IAClE,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAEvB,UAAU;IA6ChB,SAAS,2DAA0C;IAEnD,SAAS,WAAkB,MAAM,aAAa,iBAAiB,mBAG7D;IAEF,YAAY,aAAoB,MAAM,mBACyB;IAE/D,UAAU,SAAgB,MAAM,WAAW,MAAM,mBACW;IAE5D,SAAS,YAAmB,MAAM,mBACmB;IAErD,eAAe,UAAiB,KAAK,mBAGnC;IAEF,KAAK,sBAAgD;CACxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flatObject.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/flatObject.ts"],"names":[],"mappings":"AAKA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,QAAA,MAAM,UAAU,SAAU,OAAO,cAAc,MAAM,KAAG,iBAS9C,CAAC;AAEX,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flatObject.test.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/flatObject.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
import winston from 'winston';
|
|
2
1
|
import { type Device } from '../Device/deviceSlice';
|
|
3
|
-
|
|
4
|
-
export interface Metadata {
|
|
5
|
-
[key: string]: unknown;
|
|
6
|
-
}
|
|
7
|
-
export declare const simplifyDeviceForLogging: (device: Device) => {
|
|
2
|
+
declare const _default: (device: Device) => {
|
|
8
3
|
devkit: import("../../nrfutil/device/common").NordicDevKit | undefined;
|
|
9
4
|
serialPorts: import("../../nrfutil/device").DeviceSerialPort[] | undefined;
|
|
10
5
|
traits: import("../../nrfutil/device").DeviceTraits;
|
|
@@ -16,12 +11,5 @@ export declare const simplifyDeviceForLogging: (device: Device) => {
|
|
|
16
11
|
deviceDescriptor: import("../../nrfutil/device/common").USBDeviceDescriptor | undefined;
|
|
17
12
|
};
|
|
18
13
|
};
|
|
19
|
-
declare const _default: {
|
|
20
|
-
setLogger: (log: winston.Logger) => void;
|
|
21
|
-
getLogger: () => winston.Logger | undefined;
|
|
22
|
-
isEnabled: () => boolean | undefined;
|
|
23
|
-
getShouldSendTelemetry: (forceSend?: boolean | undefined) => boolean | undefined;
|
|
24
|
-
enableTelemetry: () => void;
|
|
25
|
-
};
|
|
26
14
|
export default _default;
|
|
27
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=simplifyDevice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simplifyDevice.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/simplifyDevice.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;iCAE5B,MAAM;;;;;;;;;;;;AAA9B,wBAWG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Logger } from 'winston';
|
|
2
|
+
import TelemetryMetadata from './TelemetryMetadata';
|
|
3
|
+
declare const _default: {
|
|
4
|
+
setLogger: (logger: Logger) => void;
|
|
5
|
+
setUsersAgreedToTelemetry: (hasAgreed: boolean) => Promise<void>;
|
|
6
|
+
setUsersWithdrewTelemetryAgreement: () => void;
|
|
7
|
+
getIsSendingTelemetry: () => boolean;
|
|
8
|
+
sendErrorReport: (error: string | Error) => (void | Promise<void>) | undefined;
|
|
9
|
+
sendEvent: (action: string, metadata?: TelemetryMetadata | undefined) => (void | Promise<void>) | undefined;
|
|
10
|
+
sendPageView: (pageName: string) => (void | Promise<void>) | undefined;
|
|
11
|
+
sendMetric: (name: string, average: number) => (void | Promise<void>) | undefined;
|
|
12
|
+
sendTrace: (message: string) => (void | Promise<void>) | undefined;
|
|
13
|
+
enableTelemetry: () => void;
|
|
14
|
+
};
|
|
15
|
+
export default _default;
|
|
16
|
+
//# sourceMappingURL=telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/telemetry.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;;;;;;;;;;;;;AA2EpD,wBAWE"}
|
|
@@ -23,10 +23,10 @@ export declare const persistSerialPortSettings: (serialNumber: string, serialPor
|
|
|
23
23
|
export declare const getPersistedSerialPortSettings: (serialNumber: string) => SerialSettings | undefined;
|
|
24
24
|
export declare const persistTerminalSettings: (device: Device, vComIndex: number, terminalSettings: TerminalSettings) => void;
|
|
25
25
|
export declare const getPersistedTerminalSettings: (device: Device, vComIndex: number) => TerminalSettings | undefined;
|
|
26
|
-
export declare const
|
|
27
|
-
export declare const
|
|
28
|
-
export declare const
|
|
29
|
-
export declare const
|
|
26
|
+
export declare const persistHasUserAgreedToTelemetry: (value: boolean) => void;
|
|
27
|
+
export declare const getHasUserAgreedToTelemetry: () => boolean | undefined;
|
|
28
|
+
export declare const deleteHasUserAgreedToTelemetry: () => void;
|
|
29
|
+
export declare const getTelemetryClientId: () => string;
|
|
30
30
|
interface SharedAppSpecificStoreSchema {
|
|
31
31
|
currentPane?: number;
|
|
32
32
|
isLogVisible?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistentStore.d.ts","sourceRoot":"","sources":["../../../../src/utils/persistentStore.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAInD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIpD,MAAM,WAAW,cAAc;IAC3B,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACxB;AAWD,eAAO,MAAM,eAAe,iBAAkB,MAAM,YAAY,MAAM,SACjB,CAAC;AACtD,eAAO,MAAM,oBAAoB,iBAAkB,MAAM,WACA,CAAC;AAE1D,eAAO,MAAM,iBAAiB,iBAAkB,MAAM,SAAS,OAAO,SACrB,CAAC;AAClD,eAAO,MAAM,sBAAsB,iBAAkB,MAAM,YACC,CAAC;AAE7D,eAAO,MAAM,aAAa,YAAmB,MAAM,UAAU,MAAM,kBAQlE,CAAC;AACF,eAAO,MAAM,kBAAkB,YAAmB,MAAM,oBAcvD,CAAC;AAEF,eAAO,MAAM,yBAAyB,iBACpB,MAAM,sBACA,KAAK,cAAc,EAAE,aAAa,CAAC,SAKrD,CAAC;AACP,eAAO,MAAM,8BAA8B,iBACzB,MAAM,KACrB,cAAc,GAAG,SAMnB,CAAC;AACF,eAAO,MAAM,uBAAuB,WACxB,MAAM,aACH,MAAM,oBACC,gBAAgB,SAQrC,CAAC;AACF,eAAO,MAAM,4BAA4B,WAC7B,MAAM,aACH,MAAM,KAClB,gBAAgB,GAAG,SAUrB,CAAC;AAEF,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"persistentStore.d.ts","sourceRoot":"","sources":["../../../../src/utils/persistentStore.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAInD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIpD,MAAM,WAAW,cAAc;IAC3B,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACxB;AAWD,eAAO,MAAM,eAAe,iBAAkB,MAAM,YAAY,MAAM,SACjB,CAAC;AACtD,eAAO,MAAM,oBAAoB,iBAAkB,MAAM,WACA,CAAC;AAE1D,eAAO,MAAM,iBAAiB,iBAAkB,MAAM,SAAS,OAAO,SACrB,CAAC;AAClD,eAAO,MAAM,sBAAsB,iBAAkB,MAAM,YACC,CAAC;AAE7D,eAAO,MAAM,aAAa,YAAmB,MAAM,UAAU,MAAM,kBAQlE,CAAC;AACF,eAAO,MAAM,kBAAkB,YAAmB,MAAM,oBAcvD,CAAC;AAEF,eAAO,MAAM,yBAAyB,iBACpB,MAAM,sBACA,KAAK,cAAc,EAAE,aAAa,CAAC,SAKrD,CAAC;AACP,eAAO,MAAM,8BAA8B,iBACzB,MAAM,KACrB,cAAc,GAAG,SAMnB,CAAC;AACF,eAAO,MAAM,uBAAuB,WACxB,MAAM,aACH,MAAM,oBACC,gBAAgB,SAQrC,CAAC;AACF,eAAO,MAAM,4BAA4B,WAC7B,MAAM,aACH,MAAM,KAClB,gBAAgB,GAAG,SAUrB,CAAC;AAEF,eAAO,MAAM,+BAA+B,UAAW,OAAO,SACd,CAAC;AACjD,eAAO,MAAM,2BAA2B,2BACmC,CAAC;AAC5E,eAAO,MAAM,8BAA8B,YACC,CAAC;AAS7C,eAAO,MAAM,oBAAoB,cACwB,CAAC;AAM1D,UAAU,4BAA4B;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,mBAAmB,sDAKlB,MAAM,OAAO,CAAC,GAAG,CAAC,sDAe/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,gBAAiB,MAAM,SAIjD,CAAC;AACN,eAAO,MAAM,uBAAuB,0BACsC,CAAC;AAC3E,eAAO,MAAM,iBAAiB,YAAa,OAAO,SAI7C,CAAC;AAEN,eAAO,MAAM,uBAAuB,UAAW,OAAO,SAIjD,CAAC;AACN,eAAO,MAAM,mBAAmB,eAI3B,CAAC;AAIN,eAAO,MAAM,gCAAgC,YAC8B,CAAC;AAE5E,eAAO,MAAM,sBAAsB,2BACwC,CAAC"}
|