diff --git a/lib/shared/device-list-utils.js b/lib/shared/device-list-utils.js --- a/lib/shared/device-list-utils.js +++ b/lib/shared/device-list-utils.js @@ -141,16 +141,12 @@ deviceListPayload: RawDeviceList, ): Promise { const deviceID = await getContentSigningKey(); - const rawDeviceList = JSON.stringify(deviceListPayload); - - // don't sign device list if current device is not a primary one if (deviceListPayload.devices[0] !== deviceID) { - return { - rawDeviceList, - }; + throw new Error('non-primary device tried to sign device list'); } const { olmAPI } = getConfig(); + const rawDeviceList = JSON.stringify(deviceListPayload); const curPrimarySignature = await olmAPI.signMessage(rawDeviceList); return { rawDeviceList, diff --git a/lib/shared/device-list-utils.test.js b/lib/shared/device-list-utils.test.js --- a/lib/shared/device-list-utils.test.js +++ b/lib/shared/device-list-utils.test.js @@ -169,7 +169,7 @@ describe(addDeviceToDeviceList, () => { it('adds device to device list', async () => { - mockOlmAPISign(); + mockOlmAPISign(defaultOlmAPISignMock, 'D1'); const updates: $ReadOnlyArray = [ createDeviceList({ devices: ['D1'], timestamp: 1 }), @@ -197,7 +197,7 @@ describe(removeDeviceFromDeviceList, () => { it('removes device from device list', async () => { - mockOlmAPISign(); + mockOlmAPISign(defaultOlmAPISignMock, 'D1'); const updates: $ReadOnlyArray = [ createDeviceList({ devices: ['D1', 'D2'], timestamp: 1 }),