Details
Created a user with a few devices. Used function from D12586 to call this RPC:
- It failed when called from secondary device
- It failed when deliberately malformed the device list payload or used a different device ID
- It succeeded when called from primary device. Verified DDB:
- Users table item was still there
- Devices table contained the singleton device list. No device data was present
- OTKs and tokens were gone
Diff Detail
- Repository
- rCOMM Comm
- Lint
No Lint Coverage - Unit
No Test Coverage
I thought putting an invariant here was a reasonable trade-off vs. refactoring the types in the fullStateSyncActionType payload (specifically StateSyncFullActionPayload which is derived from ClientFullStateSync which is derived from BaseFullStateSync) which are used across clients and keyserver.
Open to re-exploring if that would be preferred.