Closed Bug 1187387 Opened 7 years ago Closed 7 years ago

Syncto client proof of concept

Categories

(Firefox OS Graveyard :: Sync, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
FxOS-S4 (07Aug)

People

(Reporter: ferjm, Assigned: ferjm)

References

Details

We need to proof that the Syncto architecture is valid. This bug is to track the efforts to make that happen.
Assignee: nobody → ferjmoreno
Blocks: fxos-sync
Target Milestone: --- → FxOS-S4 (07Aug)
I have a WIP branch at https://github.com/ferjm/gaia/tree/syncto.poc

With that code I am able to get the list of encrypted history and tabs from other products, but I am currently blocked on the crypto part until bug 1182001 is properly done. And that might take a while...
Depends on: 1182001
Here is a patch for generating x-client-state with web crypto in system app:
https://github.com/ferjm/gaia/pull/11
The proof of concept was completed and a demo was made in Paris. We'll upload a video of it as soon as it is available.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Here is the demo code for Paris WW:
https://github.com/weilonge/gaia/tree/demo_settings

In this demo, we provide the features as following:
* Implement Firefox Sync entry in Settings app for user to login/synchronize data.
* Decrypt the data fetching from Firefox Sync server.
* Import History data to Browser app (Places DataStore) by places.js service.

Improvement:
* (potential issue) The data for one collection is in one XHR. Is there any way to retrieve the partial data of a collection by some filter?
* When the data is retrieved at second time for the new entries, the new entries won't be existed. This is probably the issue of Kinto.js or synccrypto.js. We have to find the root cause.

I would like to merge the code into Fernando's repo. At bug 1182001 comment 5, Michiel thinks that he has to refine the crypto library. Let's wait for his crypto pathc :)

Here is a demo video for Paris WW:
https://youtu.be/zmFInfOt6Ms
You need to log in before you can comment on or make changes to this bug.