@onekeyfe/hd-core 1.2.0-alpha.133 → 1.2.0-alpha.133-ok59992
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/__tests__/DeviceCommands.test.ts +0 -7
- package/__tests__/device-lifecycle-events.test.ts +2 -91
- package/__tests__/device-settings.test.ts +9 -167
- package/__tests__/protocol-v2.test.ts +1 -34
- package/dist/api/device/DeviceSettings.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts.map +1 -1
- package/dist/core/index.d.ts +1 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/device/Device.d.ts +0 -2
- package/dist/device/Device.d.ts.map +1 -1
- package/dist/device/DeviceCommands.d.ts.map +1 -1
- package/dist/index.d.ts +1 -4
- package/dist/index.js +189 -258
- package/package.json +4 -4
- package/src/api/device/DeviceSettings.ts +16 -2
- package/src/api/protocol-v2/DeviceUploadWallpaper.ts +0 -11
- package/src/core/index.ts +25 -67
- package/src/device/Device.ts +2 -30
- package/src/device/DeviceCommands.ts +1 -14
|
@@ -800,13 +800,7 @@ describe('DeviceCommands cancellation', () => {
|
|
|
800
800
|
try {
|
|
801
801
|
const commands = createCommands();
|
|
802
802
|
commands.disposed = false;
|
|
803
|
-
commands.mainId = 'main-id';
|
|
804
803
|
commands.callPromise = new Promise(() => {});
|
|
805
|
-
const disconnect = jest.fn().mockResolvedValue(undefined);
|
|
806
|
-
commands.transport = {
|
|
807
|
-
name: 'ReactNativeBleTransport',
|
|
808
|
-
disconnect,
|
|
809
|
-
} as any;
|
|
810
804
|
const dispose = jest.fn().mockResolvedValue(undefined);
|
|
811
805
|
commands.dispose = dispose;
|
|
812
806
|
|
|
@@ -816,7 +810,6 @@ describe('DeviceCommands cancellation', () => {
|
|
|
816
810
|
|
|
817
811
|
await expect(cancellation).resolves.toBeUndefined();
|
|
818
812
|
expect(dispose).toHaveBeenCalledWith(true);
|
|
819
|
-
expect(disconnect).toHaveBeenCalledWith('main-id');
|
|
820
813
|
expect(commands.callPromise).toBeUndefined();
|
|
821
814
|
} finally {
|
|
822
815
|
jest.useRealTimers();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { EDeviceType,
|
|
1
|
+
import { EDeviceType, HardwareErrorCode } from '@onekeyfe/hd-shared';
|
|
2
2
|
import { DeviceType, TRANSPORT_EVENT } from '@onekeyfe/hd-transport';
|
|
3
3
|
|
|
4
|
-
import { initConnector, initCore
|
|
4
|
+
import { initConnector, initCore } from '../src/core';
|
|
5
5
|
import { DataManager } from '../src/data-manager';
|
|
6
6
|
import TransportManager from '../src/data-manager/TransportManager';
|
|
7
7
|
import { Device } from '../src/device/Device';
|
|
@@ -82,23 +82,6 @@ describe('public device lifecycle events', () => {
|
|
|
82
82
|
expect(DevicePool.emitter.listenerCount(DEVICE.DISCONNECT)).toBe(1);
|
|
83
83
|
});
|
|
84
84
|
|
|
85
|
-
test('isolates pending cancellation cleanup by connect id', () => {
|
|
86
|
-
core = initCore();
|
|
87
|
-
const context = (core as any).getCoreContext();
|
|
88
|
-
const firstCleanup = createDeferred<void>();
|
|
89
|
-
const replacementCleanup = createDeferred<void>();
|
|
90
|
-
|
|
91
|
-
context.setPrePendingCallPromise('device-a', firstCleanup.promise);
|
|
92
|
-
|
|
93
|
-
expect(context.getPrePendingCallPromise('device-a')).toBe(firstCleanup.promise);
|
|
94
|
-
expect(context.getPrePendingCallPromise('device-b')).toBeUndefined();
|
|
95
|
-
|
|
96
|
-
context.setPrePendingCallPromise('device-a', replacementCleanup.promise);
|
|
97
|
-
context.removePrePendingCallPromise('device-a', firstCleanup.promise);
|
|
98
|
-
|
|
99
|
-
expect(context.getPrePendingCallPromise('device-a')).toBe(replacementCleanup.promise);
|
|
100
|
-
});
|
|
101
|
-
|
|
102
85
|
test('keeps shared device lifecycle listeners across a device cache reset', () => {
|
|
103
86
|
jest.spyOn(DataManager, 'getSettings').mockReturnValue('react-native' as never);
|
|
104
87
|
core = initCore();
|
|
@@ -251,22 +234,6 @@ describe('public device lifecycle events', () => {
|
|
|
251
234
|
expect(device.getProtocol()).toBe('V2');
|
|
252
235
|
});
|
|
253
236
|
|
|
254
|
-
test.each([
|
|
255
|
-
['V2', true],
|
|
256
|
-
['V1', false],
|
|
257
|
-
] as const)(
|
|
258
|
-
'retries a missing detected protocol only for an explicit Protocol %s connection',
|
|
259
|
-
(connectProtocol, expected) => {
|
|
260
|
-
const method = { payload: { connectProtocol } } as never;
|
|
261
|
-
const error = {
|
|
262
|
-
errorCode: HardwareErrorCode.RuntimeError,
|
|
263
|
-
message: 'Device protocol has not been detected for ble-id',
|
|
264
|
-
};
|
|
265
|
-
|
|
266
|
-
expect(isMissingDetectedProtocolV2Error(method, error)).toBe(expected);
|
|
267
|
-
}
|
|
268
|
-
);
|
|
269
|
-
|
|
270
237
|
test('converts an internal transport disconnect into a public KnownDevice snapshot', () => {
|
|
271
238
|
jest.spyOn(DataManager, 'getSettings').mockReturnValue('react-native' as never);
|
|
272
239
|
core = initCore();
|
|
@@ -343,62 +310,6 @@ describe('public device lifecycle events', () => {
|
|
|
343
310
|
}
|
|
344
311
|
);
|
|
345
312
|
|
|
346
|
-
test('sends a fallback Cancel for an acquired Protocol V2 BLE call without a prompt callback', async () => {
|
|
347
|
-
jest.spyOn(DataManager, 'getSettings').mockReturnValue('react-native' as never);
|
|
348
|
-
const device = createInitializedDevice('V2');
|
|
349
|
-
const post = jest.fn().mockResolvedValue(undefined);
|
|
350
|
-
const cancelDevice = jest.fn(() => cancelDeviceInPrompt(device, false));
|
|
351
|
-
const cancel = jest.fn().mockResolvedValue(undefined);
|
|
352
|
-
(device as unknown as { deviceAcquired: boolean }).deviceAcquired = true;
|
|
353
|
-
device.commands = {
|
|
354
|
-
transport: { post },
|
|
355
|
-
cancelDevice,
|
|
356
|
-
cancel,
|
|
357
|
-
} as never;
|
|
358
|
-
|
|
359
|
-
await device.interruptionFromUser();
|
|
360
|
-
|
|
361
|
-
expect(cancelDevice).toHaveBeenCalledTimes(1);
|
|
362
|
-
expect(post).toHaveBeenCalledWith(device.mainId, 'Cancel', {});
|
|
363
|
-
expect(cancel).toHaveBeenCalledTimes(1);
|
|
364
|
-
});
|
|
365
|
-
|
|
366
|
-
test('waits for the canceled run to finish releasing before cancellation completes', async () => {
|
|
367
|
-
jest.spyOn(DataManager, 'getSettings').mockReturnValue('react-native' as never);
|
|
368
|
-
const device = createInitializedDevice('V2');
|
|
369
|
-
const operation = createDeferred<void>();
|
|
370
|
-
const releaseGate = createDeferred<void>();
|
|
371
|
-
const cancelError = ERRORS.TypedError(HardwareErrorCode.DeviceInterruptedFromUser);
|
|
372
|
-
const release = jest.spyOn(device, 'release').mockImplementation(() => releaseGate.promise);
|
|
373
|
-
device.commands = {
|
|
374
|
-
disposed: false,
|
|
375
|
-
cancel: jest.fn(() => {
|
|
376
|
-
operation.reject(cancelError);
|
|
377
|
-
return Promise.resolve();
|
|
378
|
-
}),
|
|
379
|
-
} as never;
|
|
380
|
-
(device as unknown as { deviceAcquired: boolean }).deviceAcquired = true;
|
|
381
|
-
|
|
382
|
-
const runResult = device.run(() => operation.promise).catch(error => error);
|
|
383
|
-
const cancellation = device.interruptionFromUser();
|
|
384
|
-
let cancellationCompleted = false;
|
|
385
|
-
cancellation.then(() => {
|
|
386
|
-
cancellationCompleted = true;
|
|
387
|
-
});
|
|
388
|
-
|
|
389
|
-
await new Promise(resolve => {
|
|
390
|
-
setImmediate(resolve);
|
|
391
|
-
});
|
|
392
|
-
expect(release).toHaveBeenCalledTimes(1);
|
|
393
|
-
expect(cancellationCompleted).toBe(false);
|
|
394
|
-
|
|
395
|
-
releaseGate.resolve();
|
|
396
|
-
await cancellation;
|
|
397
|
-
await expect(runResult).resolves.toMatchObject({
|
|
398
|
-
errorCode: HardwareErrorCode.DeviceInterruptedFromUser,
|
|
399
|
-
});
|
|
400
|
-
});
|
|
401
|
-
|
|
402
313
|
test.each([
|
|
403
314
|
[EDeviceType.Pro2, 'webusb', false, DeviceType.PRO2],
|
|
404
315
|
[EDeviceType.Neo, 'webusb', false, DeviceType.NEO],
|
|
@@ -2,9 +2,6 @@ import { EDeviceType, HardwareErrorCode } from '@onekeyfe/hd-shared';
|
|
|
2
2
|
import { DeviceSettingsPage } from '@onekeyfe/hd-transport';
|
|
3
3
|
|
|
4
4
|
import DeviceSettings from '../src/api/device/DeviceSettings';
|
|
5
|
-
import { Device } from '../src/device/Device';
|
|
6
|
-
import { DEVICE } from '../src/events';
|
|
7
|
-
import { PROTOCOL_V2_DEVICE_STATUS_GET_MESSAGE_TYPE } from '../src/protocols/protocol-v2';
|
|
8
5
|
import { DEVICE_SETTINGS_NEVER_TIMEOUT_MS } from '../src/utils/deviceSettings';
|
|
9
6
|
|
|
10
7
|
import type { Features } from '../src/types';
|
|
@@ -24,9 +21,6 @@ function createDevice({ protocol }: { protocol: 'V1' | 'V2' }) {
|
|
|
24
21
|
const typedCall = jest.fn().mockResolvedValue({ message: { message: 'Success' } });
|
|
25
22
|
const updateState = jest.fn();
|
|
26
23
|
const getDeviceState = jest.fn();
|
|
27
|
-
const refreshProtocolV2SettingsAfterMutation = jest.fn(() =>
|
|
28
|
-
getDeviceState({ refreshSections: ['status', 'settings'] })
|
|
29
|
-
);
|
|
30
24
|
return {
|
|
31
25
|
device: {
|
|
32
26
|
features,
|
|
@@ -35,7 +29,6 @@ function createDevice({ protocol }: { protocol: 'V1' | 'V2' }) {
|
|
|
35
29
|
commands: { typedCall },
|
|
36
30
|
updateState,
|
|
37
31
|
getDeviceState,
|
|
38
|
-
refreshProtocolV2SettingsAfterMutation,
|
|
39
32
|
},
|
|
40
33
|
typedCall,
|
|
41
34
|
updateState,
|
|
@@ -188,98 +181,7 @@ describe('DeviceSettings protocol routing', () => {
|
|
|
188
181
|
expect(updateState).not.toHaveBeenCalled();
|
|
189
182
|
});
|
|
190
183
|
|
|
191
|
-
it('
|
|
192
|
-
const typedCall = jest.fn().mockImplementation((requestType: string) => {
|
|
193
|
-
if (requestType === 'DeviceSettingsSet') {
|
|
194
|
-
return { message: { message: 'Success' } };
|
|
195
|
-
}
|
|
196
|
-
if (requestType === 'DeviceStatusGet') {
|
|
197
|
-
return {
|
|
198
|
-
message: {
|
|
199
|
-
init_states: true,
|
|
200
|
-
unlocked: false,
|
|
201
|
-
passphrase_enabled: false,
|
|
202
|
-
},
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
if (requestType === 'DeviceSettingsGet') {
|
|
206
|
-
return {
|
|
207
|
-
message: {
|
|
208
|
-
label: 'Current Label',
|
|
209
|
-
brightness: 80,
|
|
210
|
-
passphrase_enable: false,
|
|
211
|
-
},
|
|
212
|
-
};
|
|
213
|
-
}
|
|
214
|
-
throw new Error(`Unexpected request: ${requestType}`);
|
|
215
|
-
});
|
|
216
|
-
const device = Device.fromDescriptor({
|
|
217
|
-
id: 'pro2',
|
|
218
|
-
path: 'pro2',
|
|
219
|
-
protocolType: 'V2',
|
|
220
|
-
} as never);
|
|
221
|
-
(device as any).commands = { typedCall };
|
|
222
|
-
device.updateState(
|
|
223
|
-
{
|
|
224
|
-
protocol: 'V2',
|
|
225
|
-
identity: {
|
|
226
|
-
deviceType: EDeviceType.Pro2,
|
|
227
|
-
label: 'Stale Label',
|
|
228
|
-
},
|
|
229
|
-
status: {
|
|
230
|
-
mode: 'normal',
|
|
231
|
-
unlocked: false,
|
|
232
|
-
passphraseProtection: true,
|
|
233
|
-
},
|
|
234
|
-
settings: { brightness: 20 },
|
|
235
|
-
raw: {
|
|
236
|
-
protocolV2ProtocolInfo: {
|
|
237
|
-
version: 1,
|
|
238
|
-
build_fingerprint: 'application__5.0.0__abcdef0__PROD__RELEASE',
|
|
239
|
-
supported_messages: [PROTOCOL_V2_DEVICE_STATUS_GET_MESSAGE_TYPE],
|
|
240
|
-
},
|
|
241
|
-
},
|
|
242
|
-
},
|
|
243
|
-
'initialize'
|
|
244
|
-
);
|
|
245
|
-
const onState = jest.fn();
|
|
246
|
-
device.on(DEVICE.STATE, onState);
|
|
247
|
-
const method = new DeviceSettings({
|
|
248
|
-
id: 3,
|
|
249
|
-
payload: {
|
|
250
|
-
method: 'deviceSettings',
|
|
251
|
-
brightness: 80,
|
|
252
|
-
},
|
|
253
|
-
});
|
|
254
|
-
method.init();
|
|
255
|
-
(method as any).device = device;
|
|
256
|
-
|
|
257
|
-
await expect(method.run()).resolves.toEqual({ message: 'Success' });
|
|
258
|
-
|
|
259
|
-
expect(typedCall.mock.calls.map(call => call[0])).toEqual([
|
|
260
|
-
'DeviceSettingsSet',
|
|
261
|
-
'DeviceStatusGet',
|
|
262
|
-
'DeviceSettingsGet',
|
|
263
|
-
]);
|
|
264
|
-
expect(device.state).toMatchObject({
|
|
265
|
-
identity: { label: 'Current Label' },
|
|
266
|
-
status: { passphraseProtection: false },
|
|
267
|
-
settings: { brightness: 80 },
|
|
268
|
-
});
|
|
269
|
-
expect(onState).toHaveBeenLastCalledWith(
|
|
270
|
-
device,
|
|
271
|
-
expect.objectContaining({
|
|
272
|
-
source: 'settings-read',
|
|
273
|
-
state: expect.objectContaining({
|
|
274
|
-
identity: expect.objectContaining({ label: 'Current Label' }),
|
|
275
|
-
status: expect.objectContaining({ passphraseProtection: false }),
|
|
276
|
-
settings: expect.objectContaining({ brightness: 80 }),
|
|
277
|
-
}),
|
|
278
|
-
})
|
|
279
|
-
);
|
|
280
|
-
});
|
|
281
|
-
|
|
282
|
-
it('uses the Pro2 passphrase page and refreshes device state after the toggle', async () => {
|
|
184
|
+
it('uses the Pro2 passphrase page as a device-side toggle and verifies the target state', async () => {
|
|
283
185
|
const { device, typedCall, getDeviceState } = createDevice({ protocol: 'V2' });
|
|
284
186
|
getDeviceState
|
|
285
187
|
.mockResolvedValueOnce({
|
|
@@ -361,8 +263,8 @@ describe('DeviceSettings protocol routing', () => {
|
|
|
361
263
|
expect(getDeviceState).toHaveBeenCalledWith({ refreshSections: ['settings'] });
|
|
362
264
|
});
|
|
363
265
|
|
|
364
|
-
it('
|
|
365
|
-
const { device, getDeviceState
|
|
266
|
+
it('rejects a successful Pro2 page response when the hardware did not reach the target', async () => {
|
|
267
|
+
const { device, getDeviceState } = createDevice({ protocol: 'V2' });
|
|
366
268
|
getDeviceState.mockResolvedValue({
|
|
367
269
|
status: { passphraseProtection: false },
|
|
368
270
|
});
|
|
@@ -376,12 +278,14 @@ describe('DeviceSettings protocol routing', () => {
|
|
|
376
278
|
method.init();
|
|
377
279
|
(method as any).device = device;
|
|
378
280
|
|
|
379
|
-
await expect(method.run()).
|
|
380
|
-
|
|
281
|
+
await expect(method.run()).rejects.toMatchObject({
|
|
282
|
+
errorCode: HardwareErrorCode.RuntimeError,
|
|
283
|
+
message: 'Protocol V2 passphrase setting did not reach the requested value.',
|
|
284
|
+
});
|
|
381
285
|
});
|
|
382
286
|
|
|
383
|
-
it('
|
|
384
|
-
const { device, getDeviceState
|
|
287
|
+
it('accepts a locked Pro2 as confirmation after disabling passphrase', async () => {
|
|
288
|
+
const { device, getDeviceState } = createDevice({ protocol: 'V2' });
|
|
385
289
|
getDeviceState
|
|
386
290
|
.mockResolvedValueOnce({
|
|
387
291
|
status: { unlocked: true, passphraseProtection: true },
|
|
@@ -400,68 +304,6 @@ describe('DeviceSettings protocol routing', () => {
|
|
|
400
304
|
(method as any).device = device;
|
|
401
305
|
|
|
402
306
|
await expect(method.run()).resolves.toEqual({ message: 'Success' });
|
|
403
|
-
expect(updateState).not.toHaveBeenCalled();
|
|
404
|
-
});
|
|
405
|
-
|
|
406
|
-
it('preserves confirmed Pro2 passphrase state when the post-toggle status is locked', async () => {
|
|
407
|
-
let statusReadCount = 0;
|
|
408
|
-
const typedCall = jest.fn().mockImplementation((requestType: string) => {
|
|
409
|
-
if (requestType === 'DeviceStatusGet') {
|
|
410
|
-
statusReadCount += 1;
|
|
411
|
-
return {
|
|
412
|
-
message:
|
|
413
|
-
statusReadCount === 1
|
|
414
|
-
? { init_states: true, unlocked: true, passphrase_enabled: true }
|
|
415
|
-
: { init_states: true, unlocked: false, passphrase_enabled: false },
|
|
416
|
-
};
|
|
417
|
-
}
|
|
418
|
-
if (requestType === 'DeviceSettingsPageShow') {
|
|
419
|
-
return { message: { message: 'Success' } };
|
|
420
|
-
}
|
|
421
|
-
if (requestType === 'DeviceSettingsGet') {
|
|
422
|
-
return { message: { label: 'Pro 2' } };
|
|
423
|
-
}
|
|
424
|
-
throw new Error(`Unexpected request: ${requestType}`);
|
|
425
|
-
});
|
|
426
|
-
const device = Device.fromDescriptor({
|
|
427
|
-
id: 'pro2-passphrase',
|
|
428
|
-
path: 'pro2-passphrase',
|
|
429
|
-
protocolType: 'V2',
|
|
430
|
-
} as never);
|
|
431
|
-
(device as any).commands = { typedCall };
|
|
432
|
-
device.updateState(
|
|
433
|
-
{
|
|
434
|
-
protocol: 'V2',
|
|
435
|
-
identity: { deviceType: EDeviceType.Pro2 },
|
|
436
|
-
status: {
|
|
437
|
-
mode: 'normal',
|
|
438
|
-
unlocked: true,
|
|
439
|
-
passphraseProtection: true,
|
|
440
|
-
},
|
|
441
|
-
raw: {
|
|
442
|
-
protocolV2ProtocolInfo: {
|
|
443
|
-
version: 1,
|
|
444
|
-
supported_messages: [PROTOCOL_V2_DEVICE_STATUS_GET_MESSAGE_TYPE],
|
|
445
|
-
},
|
|
446
|
-
},
|
|
447
|
-
},
|
|
448
|
-
'initialize'
|
|
449
|
-
);
|
|
450
|
-
const method = new DeviceSettings({
|
|
451
|
-
id: 6,
|
|
452
|
-
payload: {
|
|
453
|
-
method: 'deviceSettings',
|
|
454
|
-
usePassphrase: false,
|
|
455
|
-
},
|
|
456
|
-
});
|
|
457
|
-
method.init();
|
|
458
|
-
(method as any).device = device;
|
|
459
|
-
|
|
460
|
-
await expect(method.run()).resolves.toEqual({ message: 'Success' });
|
|
461
|
-
expect(device.state?.status).toMatchObject({
|
|
462
|
-
unlocked: false,
|
|
463
|
-
passphraseProtection: true,
|
|
464
|
-
});
|
|
465
307
|
});
|
|
466
308
|
|
|
467
309
|
it('keeps Protocol V1 passphrase settings on ApplySettings', async () => {
|
|
@@ -183,7 +183,6 @@ describe('DeviceUploadWallpaper', () => {
|
|
|
183
183
|
stubDevice({
|
|
184
184
|
...device,
|
|
185
185
|
ensureProtocolV2RuntimeContext: jest.fn().mockResolvedValue(wallpaperProtocolInfo),
|
|
186
|
-
refreshProtocolV2SettingsAfterMutation: jest.fn().mockResolvedValue({}),
|
|
187
186
|
});
|
|
188
187
|
|
|
189
188
|
test('encodes, uploads and applies a Pro2 wallpaper', async () => {
|
|
@@ -205,8 +204,7 @@ describe('DeviceUploadWallpaper', () => {
|
|
|
205
204
|
jpegBase64: createJpegBase64(604, 1024),
|
|
206
205
|
},
|
|
207
206
|
});
|
|
208
|
-
|
|
209
|
-
(method as any).device = device;
|
|
207
|
+
(method as any).device = stubWallpaperDevice({ commands: { typedCall } });
|
|
210
208
|
method.postMessage = jest.fn();
|
|
211
209
|
|
|
212
210
|
method.init();
|
|
@@ -226,7 +224,6 @@ describe('DeviceUploadWallpaper', () => {
|
|
|
226
224
|
expect(typedCall).toHaveBeenLastCalledWith('DeviceSettingsSet', 'Success', {
|
|
227
225
|
settings: { wallpaper_path: result.path },
|
|
228
226
|
});
|
|
229
|
-
expect(device.refreshProtocolV2SettingsAfterMutation).toHaveBeenCalledTimes(1);
|
|
230
227
|
expect(typedCall.mock.calls.some(call => call[0] === 'SetWallpaper')).toBe(false);
|
|
231
228
|
expect(result).toMatchObject({ colorFormat: 'RGB565', message: 'wallpaper applied' });
|
|
232
229
|
const fileWriteCallCount = typedCall.mock.calls.filter(
|
|
@@ -265,36 +262,6 @@ describe('DeviceUploadWallpaper', () => {
|
|
|
265
262
|
expect(typedCall.mock.calls.some(call => call[0] === 'DeviceSettingsSet')).toBe(false);
|
|
266
263
|
});
|
|
267
264
|
|
|
268
|
-
test('returns success when wallpaper read-back fails after apply', async () => {
|
|
269
|
-
const typedCall = jest.fn().mockImplementation((request, _response, params) => {
|
|
270
|
-
if (request === 'FilesystemDirMake') return { message: {} };
|
|
271
|
-
if (request === 'FilesystemFileWrite') {
|
|
272
|
-
const file = params.file as { data: Uint8Array; offset: number };
|
|
273
|
-
return { message: { processed_byte: file.offset + file.data.byteLength } };
|
|
274
|
-
}
|
|
275
|
-
if (request === 'DeviceSettingsSet') {
|
|
276
|
-
return { message: { message: 'wallpaper applied' } };
|
|
277
|
-
}
|
|
278
|
-
throw new Error(`Unexpected request: ${request}`);
|
|
279
|
-
});
|
|
280
|
-
const method = new DeviceUploadWallpaper({
|
|
281
|
-
id: 1,
|
|
282
|
-
payload: {
|
|
283
|
-
method: 'deviceUploadWallpaper',
|
|
284
|
-
jpegBase64: createJpegBase64(604, 1024),
|
|
285
|
-
},
|
|
286
|
-
});
|
|
287
|
-
const device = stubWallpaperDevice({ commands: { typedCall } });
|
|
288
|
-
device.refreshProtocolV2SettingsAfterMutation.mockRejectedValueOnce(
|
|
289
|
-
new Error('settings read-back failed')
|
|
290
|
-
);
|
|
291
|
-
(method as any).device = device;
|
|
292
|
-
method.init();
|
|
293
|
-
|
|
294
|
-
await expect(method.run()).resolves.toMatchObject({ message: 'wallpaper applied' });
|
|
295
|
-
expect(device.refreshProtocolV2SettingsAfterMutation).toHaveBeenCalledTimes(1);
|
|
296
|
-
});
|
|
297
|
-
|
|
298
265
|
test('rejects unsafe filenames before device communication', () => {
|
|
299
266
|
const method = new DeviceUploadWallpaper({
|
|
300
267
|
id: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceSettings.d.ts","sourceRoot":"","sources":["../../../src/api/device/DeviceSettings.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAgB3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA0D5D,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,UAAU,CAAC,aAAa,CAAC;IACnE,qBAAqB;IAIrB,IAAI;IA0EJ,eAAe;;;;;;;IAWT,GAAG;
|
|
1
|
+
{"version":3,"file":"DeviceSettings.d.ts","sourceRoot":"","sources":["../../../src/api/device/DeviceSettings.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAgB3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA0D5D,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,UAAU,CAAC,aAAa,CAAC;IACnE,qBAAqB;IAIrB,IAAI;IA0EJ,eAAe;;;;;;;IAWT,GAAG;CAyIV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceUploadWallpaper.d.ts","sourceRoot":"","sources":["../../../src/api/protocol-v2/DeviceUploadWallpaper.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"DeviceUploadWallpaper.d.ts","sourceRoot":"","sources":["../../../src/api/protocol-v2/DeviceUploadWallpaper.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C,OAAO,EAGL,KAAK,wBAAwB,EAE9B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,wBAAwB,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAkBF,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,UAAU,CAAC,2BAA2B,CAAC;IACxF,qBAAqB;IAIrB,OAAO,CAAC,OAAO,CAAC,CAA8D;IAE9E,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,IAAI,CAAM;IAElB,IAAI;YAwBU,kBAAkB;YAgBlB,eAAe;YAaf,MAAM;IAwBd,GAAG,IAAI,OAAO,CAAC,6BAA6B,CAAC;CAgBpD"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -5,10 +5,8 @@ import DeviceConnector from '../device/DeviceConnector';
|
|
|
5
5
|
import type { ConnectSettings } from '../types';
|
|
6
6
|
import type { CoreMessage } from '../events';
|
|
7
7
|
import type { LowlevelTransportSharedPlugin } from '@onekeyfe/hd-transport';
|
|
8
|
-
import type { BaseMethod } from '../api/BaseMethod';
|
|
9
8
|
export type CoreContext = ReturnType<Core['getCoreContext']>;
|
|
10
9
|
export declare const callAPI: (context: CoreContext, message: CoreMessage) => Promise<any>;
|
|
11
|
-
export declare function isMissingDetectedProtocolV2Error(method: BaseMethod, error: unknown): boolean;
|
|
12
10
|
export declare const cancel: (context: CoreContext, connectId?: string) => void;
|
|
13
11
|
export declare const onDeviceButtonHandler: (__0_0: Device, __0_1: import("../events").DeviceButtonRequestPayload) => void;
|
|
14
12
|
export default class Core extends EventEmitter {
|
|
@@ -16,7 +14,7 @@ export default class Core extends EventEmitter {
|
|
|
16
14
|
readonly sdkInstanceId: string;
|
|
17
15
|
private requestQueue;
|
|
18
16
|
private disposePromise?;
|
|
19
|
-
private
|
|
17
|
+
private prePendingCallPromise;
|
|
20
18
|
private methodSynchronize;
|
|
21
19
|
constructor();
|
|
22
20
|
private getCoreContext;
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAoClC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAsB1C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAYxD,OAAO,KAAK,EAAE,eAAe,EAAyB,MAAM,UAAU,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAmD,MAAM,WAAW,CAAC;AAI9F,OAAO,KAAK,EACV,6BAA6B,EAG9B,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAoClC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAsB1C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAYxD,OAAO,KAAK,EAAE,eAAe,EAAyB,MAAM,UAAU,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAmD,MAAM,WAAW,CAAC;AAI9F,OAAO,KAAK,EACV,6BAA6B,EAG9B,MAAM,wBAAwB,CAAC;AAWhC,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAmE7D,eAAO,MAAM,OAAO,YAAmB,WAAW,WAAW,WAAW,iBAoFvE,CAAC;AA44BF,eAAO,MAAM,MAAM,YAAa,WAAW,cAAc,MAAM,SAkF9D,CAAC;AAmGF,eAAO,MAAM,qBAAqB,gFAejC,CAAC;AAiLF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,YAAY;IAC5C,OAAO,CAAC,cAAc,CAAoB;IAE1C,SAAgB,aAAa,EAAE,MAAM,CAAC;IAEtC,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,cAAc,CAAC,CAAgB;IAGvC,OAAO,CAAC,qBAAqB,CAA4B;IAEzD,OAAO,CAAC,iBAAiB,CAAoB;;IAS7C,OAAO,CAAC,cAAc;IAoBhB,aAAa,CAAC,OAAO,EAAE,WAAW;IAuExC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAOV,gBAAgB;CAiC/B;AAED,eAAO,MAAM,QAAQ,YAIpB,CAAC;AAEF,eAAO,MAAM,aAAa,uBAYzB,CAAC;AAMF,eAAO,MAAM,IAAI,aACL,eAAe,aACd,GAAG,WACL,6BAA6B,8BAiBvC,CAAC;AAEF,eAAO,MAAM,eAAe;SAKrB,eAAe,CAAC,KAAK,CAAC;eAChB,GAAG;;UASf,CAAC"}
|
package/dist/device/Device.d.ts
CHANGED
|
@@ -80,7 +80,6 @@ export declare class Device extends EventEmitter {
|
|
|
80
80
|
get features(): Features | undefined;
|
|
81
81
|
set features(features: Features | undefined);
|
|
82
82
|
runPromise?: Deferred<void> | null;
|
|
83
|
-
private runCleanupPromise?;
|
|
84
83
|
externalState: string[];
|
|
85
84
|
unavailableCapabilities: UnavailableCapabilities;
|
|
86
85
|
instance: number;
|
|
@@ -149,7 +148,6 @@ export declare class Device extends EventEmitter {
|
|
|
149
148
|
private _initializeProtocolV2;
|
|
150
149
|
getFeatures(): Promise<Features | undefined>;
|
|
151
150
|
getDeviceState(params?: DeviceStateReadOptions): Promise<import("../types").DeviceState>;
|
|
152
|
-
refreshProtocolV2SettingsAfterMutation(): Promise<import("../types").DeviceState>;
|
|
153
151
|
_updateFeatures(protoFeatures: PROTO.Features | Features, initSession?: boolean): void;
|
|
154
152
|
updateState(patch: DeviceStatePatch, source: DeviceStateUpdateSource): import("../types").DeviceState & {
|
|
155
153
|
raw?: import("../types").DeviceFeaturesRaw | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../src/device/Device.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../src/device/Device.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceCommands.d.ts","sourceRoot":"","sources":["../../src/device/DeviceCommands.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,oBAAoB,EAG1B,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAAU,KAAK,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAQlE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,KAAK,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;AACxC,KAAK,UAAU,GAAG,OAAO,CAAC,MAAM,WAAW,EAAE,MAAM,CAAC,CAAC;AACrD,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,UAAU,IAAI;IACvD,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CACzB,CAAC;AACF,KAAK,oBAAoB,GAAG;KACzB,CAAC,IAAI,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC;CAC3C,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;AA8DtE,eAAO,MAAM,oBAAoB,WAAY,MAAM;;;;;;;;;;;;;;;;;;EA0ClD,CAAC;AAEF,eAAO,MAAM,0BAA0B,WAAY,MAAM;;;;;;;;;;;;;;;;;;EAgCxD,CAAC;AASF,qBAAa,cAAc;IACzB,UAAU,EAAE,MAAM,CAAC;IAEnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,MAAM,EAAE,MAAM,CAAC;IAEf,SAAS,EAAE,SAAS,CAAC;IAErB,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,OAAO,CAAC;IAElB,WAAW,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;gBAElC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAUpC,OAAO,CAAC,cAAc,EAAE,OAAO;IAKrC,aAAa;IAOP,0BAA0B;;;;;;;;;;;;;;;;;;;IAkB1B,YAAY;;;;;;;;;;;;;;;;;;;IAkBZ,MAAM;
|
|
1
|
+
{"version":3,"file":"DeviceCommands.d.ts","sourceRoot":"","sources":["../../src/device/DeviceCommands.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -833,8 +833,6 @@ declare class Device extends EventEmitter {
|
|
|
833
833
|
get features(): Features | undefined;
|
|
834
834
|
set features(features: Features | undefined);
|
|
835
835
|
runPromise?: Deferred<void> | null;
|
|
836
|
-
/** Resolves only after the active run has completed its release path. */
|
|
837
|
-
private runCleanupPromise?;
|
|
838
836
|
externalState: string[];
|
|
839
837
|
unavailableCapabilities: UnavailableCapabilities;
|
|
840
838
|
instance: number;
|
|
@@ -929,7 +927,6 @@ declare class Device extends EventEmitter {
|
|
|
929
927
|
private _initializeProtocolV2;
|
|
930
928
|
getFeatures(): Promise<Features | undefined>;
|
|
931
929
|
getDeviceState(params?: DeviceStateReadOptions): Promise<DeviceState>;
|
|
932
|
-
refreshProtocolV2SettingsAfterMutation(): Promise<DeviceState>;
|
|
933
930
|
_updateFeatures(protoFeatures: Messages.Features | Features, initSession?: boolean): void;
|
|
934
931
|
updateState(patch: DeviceStatePatch, source: DeviceStateUpdateSource): DeviceState & {
|
|
935
932
|
raw?: DeviceFeaturesRaw | undefined;
|
|
@@ -1093,7 +1090,7 @@ declare class Core extends EventEmitter {
|
|
|
1093
1090
|
readonly sdkInstanceId: string;
|
|
1094
1091
|
private requestQueue;
|
|
1095
1092
|
private disposePromise?;
|
|
1096
|
-
private
|
|
1093
|
+
private prePendingCallPromise;
|
|
1097
1094
|
private methodSynchronize;
|
|
1098
1095
|
constructor();
|
|
1099
1096
|
private getCoreContext;
|