Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upSAVE_INIT_DATA should pass seed when recovering from sync words #221
Comments
|
the seed doesn't actually get sent to the server, btw (otherwise the server would be able to decrypt records). it is only sent between the sync client and the sync webview process. |
|
gotcha, I updated the issue description |
|
@darkdh the reason seed is empty in the 2nd case is because Device B already has the seed (it is sent to the sync webview in does this cause problems? |
|
the impact of https://github.com/brave/sync/pull/222/files#diff-6ce8437e6c27185736d22013ce441e15R71 is that clients like browser-laptop would end up saving the seed twice |
|
yes, we have problem saving those value in brave-core after dynamic loading sync extension So the solution from brave-core for this would be caching sync words and calling to our extension handler of sending |
|
ok, i'm not 100% sure but i think that wouldn't cause a problem for any of the existing implementations |
Create a new sync device:
webview->{GET_INIT_DATA}->deviceA->{GOT_INIT_DATA: {seed: null}}->webview->{SAVE_INIT_DATA: {seed: seed_ABCD}}
Add a new sync device:
deviceA generate sync words from seed_ABCD
Paste sync words into device B for recovery
webview->{GET_INIT_DATA}->deviceB->{GOT_INIT_DATA: {seed: seed_ABCD}}->webview->{SAVE_INIT_DATA: {seed: null}}
webview should NOT give us null seed