Updated LoginUser and RegisterUser DDB calls to double-write new device info to both "legacy" and new device list.
Depends on D10220
Paths
| Differential D10221 Authored by bartek on Dec 7 2023, 12:38 AM.
Details Summary Updated LoginUser and RegisterUser DDB calls to double-write new device info to both "legacy" and new device list. Depends on D10220 Test Plan Used keyserver to first register, then login (after restart). Used awslocal dynamodb scan to inspect both tables - both were updated successfully.
Diff Detail
Event Timelinebartek held this revision as a draft. Herald added subscribers: tomek, ashoat. · View Herald TranscriptDec 7 2023, 12:38 AM2023-12-07 00:38:25 (UTC-8) Comment Actions I know the code is nearly duplicated: both password- and wallet- functions are nearly identical. Harbormaster completed remote builds in B24849: Diff 34371.Dec 7 2023, 2:02 AM2023-12-07 02:02:33 (UTC-8) This revision is now accepted and ready to land.Dec 8 2023, 12:22 PM2023-12-08 12:22:10 (UTC-8) Harbormaster completed remote builds in B24968: Diff 34506.Dec 12 2023, 1:12 AM2023-12-12 01:12:55 (UTC-8) bartek removed a child revision: D10246: [identity] Add function to delete all user devices data.Jan 5 2024, 12:54 AM2024-01-05 00:54:01 (UTC-8) bartek edited parent revisions, added: D10301: [identity] Add GetDeviceListForUser RPC; removed: D10220: [identity] Add function to add new device to the list. bartek edited child revisions, added: D10302: [identity] Make set_prekey() update devices table too; removed: D10303: [identity] Augment get_keys_for_user to use devices table. Closed by commit rCOMMb87de1144e69: [identity] Add devices to the new list after login and register (authored by bartek). · Explain WhyJan 15 2024, 6:53 AM2024-01-15 06:53:36 (UTC-8) This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 34506 services/identity/src/database.rs
|
This logic is a bit confusing.
I guess the reason we decided to store a separate deviceToken per keyserver is because we want to know if we've shared our deviceToken to that keyserver yet, not because we expect to have a different deviceToken per keyserver.
It would probably make more sense if we have a deviceTokenHasBeenUploaded: boolean in KeyserverInfo, and a deviceToken field at the top level of Redux. But we'll likely end up removing deviceTokens from keyservers soon anyways...