Closed Bug 1196239 Opened 9 years ago Closed 9 years ago

Sync engine for sync app

Categories

(Firefox OS Graveyard :: Sync, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(feature-b2g:2.5+)

RESOLVED FIXED
FxOS-S7 (18Sep)
feature-b2g 2.5+

People

(Reporter: mbdejong, Assigned: mbdejong)

References

Details

(Whiteboard: [partner-cherry-picked<2015/11/10>])

Attachments

(1 file, 1 obsolete file)

The main sync cycle loop of the Synchronizer app (bug 1195647), that calls kinto to fetch data, then calls the adapters to update, then calls kinto again to push data.
Assignee: nobody → mbdejong
Blocks: 1195647
Target Milestone: --- → FxOS-S6 (04Sep)
Depends on: 1198637
Summary: Sync engine for synchronizer app → Sync engine for sync app
Attachment #8657304 - Flags: review?(ferjmoreno)
I would like to test history adapter based on the demo code in Paris WW with your latest sync engine and crypto library. So it won't be blocked until all codes are landed.

Here are the files should be updated:
* sync engine - syncengine.js
* crypto library - fxsyncwebcrypto.js, keyderivation.js ,stringconversion.js
* kinto.js - kinto.dev.js (https://github.com/Kinto/kinto.js/blob/master/dist/kinto.dev.js)
* syncto in mozilla-services (https://github.com/mozilla-services/syncto @ branch implement_history_handling)

Could you help to check the list? Thank you. :)
Flags: needinfo?(mbdejong)
(In reply to Sean Lee [:seanlee] from comment #3)
> I would like to test history adapter based on the demo code in Paris WW with
> your latest sync engine and crypto library. So it won't be blocked until all
> codes are landed.
> 
> Here are the files should be updated:
> * sync engine - syncengine.js
> * crypto library - fxsyncwebcrypto.js, keyderivation.js ,stringconversion.js
> * kinto.js - kinto.dev.js
> (https://github.com/Kinto/kinto.js/blob/master/dist/kinto.dev.js)
> * syncto in mozilla-services (https://github.com/mozilla-services/syncto @
> branch implement_history_handling)
> 
> Could you help to check the list? Thank you. :)

I have bug 1200539 for 'putting it all together'. The branch is michielbdejong/1200539-sync-app-integration-tests. Make sure to hard-code an assertion in https://github.com/michielbdejong/gaia/blob/1200539-sync-app-integration-tests/apps/sync/js/sync-credentials/sync-credentials-mock.js since the SyncCredentials part is not working yet.
Flags: needinfo?(mbdejong)
feature-b2g: --- → 2.5+
Target Milestone: FxOS-S6 (04Sep) → FxOS-S7 (18Sep)
Right, and as I said on irc, the other thing is that you currently need to run the 6-original-ids branch of syncto on http://localhost:8000/v1/ for this to work.
Blocks: 1202627
Comment on attachment 8657304 [details] [review]
[gaia] michielbdejong:1196239-sync-engine > mozilla-b2g:master

Excellent work as usual :)

I left a few comments on the PR. I'd like to see them applied or discussed before looking into the tests.

Thank you!
Attachment #8657304 - Flags: review?(ferjmoreno) → feedback+
@ferjm thanks a lot for the useful comments! I now made it so that you can do:

    let syncEngine = new SyncEngine(options);
    syncEngine.syncNow([ 'history' ]);

I fixed all your comments, except where I responded otherwise.
Flags: needinfo?(ferjmoreno)
Thanks a lot for Michiel's integration branch, so I can base on the latest SyncEngine to develop History Adapter.
The one issue is that the new history records updated by Desktop won't be synced to the history collection at FxOS side when 'sync' button is clicked couple times.

If we do 'make clean && make' to rebuild gaia, the new records will be in the history collection. But it's only at the first time sync. Any following sync request from clicking 'sync' button won't change the history collection.

Michiel and I have some discussion about this on IRC already. We can have the solution discussion here as well.
(In reply to Sean Lee [:seanlee] from comment #8)
> the new history records updated by Desktop won't be
> synced to the history collection at FxOS side when 'sync' button is clicked
> couple times.

This is now fixed, you can either use the work-around in current https://github.com/michielbdejong/gaia/tree/1200539-sync-app-integration-tests (which simply leaves out the ?_since= header), or by cherrypicking Natim's timestamps patch from Friday on top of the 6-original-ids branch of Syncto. It will also work without workarounds and with Syncto master soon (probably this week).
Comment on attachment 8657304 [details] [review]
[gaia] michielbdejong:1196239-sync-engine > mozilla-b2g:master

Thank you Michiel. I left some comments in the PR, but I think this is good to land. We can work on polishing it in follow up bugs once we start integrating all the parts.
Flags: needinfo?(ferjmoreno)
Attachment #8657304 - Flags: review+
BTW, in the future, use the review flag instead of needinfo, please. I have different email filters for that :) Thanks!
Fixed the else-after-return-or-throw thing, and replied on github to your other comments.
Attachment #8661165 - Flags: review?(ferjmoreno)
Rebased and squashed.
https://github.com/mozilla-b2g/gaia/commit/994ff1537c2d7ca4d1658806c50f3ceba1053f9b
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Attachment #8661165 - Attachment is obsolete: true
Attachment #8661165 - Flags: review?(ferjmoreno)
Whiteboard: partner-cherry-pick
Whiteboard: partner-cherry-pick
Whiteboard: [partner-cherry-pick]
Whiteboard: [partner-cherry-pick] → [partner-cherry-picked<2015/11/10>]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: