I've been continuing work on the sync changes for formautofill. I
chatted with Thom last week and agreed we should clean up the branch, so
please be aware:
* The old branch named "formautofill" is now called "formautofill-old"
* There is a new branch called "formautofill" which has been rebased and
collapsed - https://github.com/mhammond/gecko/tree/formautofill
In particular, this branch has only 5 patches, split somewhat logically
into what might be able to land as they become ready. These patches are:
* Bug 1361965 - already has r+, and is just waiting for one of Luke's
patches to move from autoland to central.
* A trivial patch which changes profileStorage.get() to return null
instead of throwing an exception. I'll put this up for review tomorrow.
* A patch to support "tombstones" in ProfileStorage (while this is
required for sync, the general functionality is independent of sync, so
should be able to land soon). I'll put this up for review tomorrow, but
if the autofill team would like to have a quick look at
https://github.com/mhammond/gecko/commit/d4776be1767080b3fbc23cfc3f3045c8b51fd96b
I'd appreciate it.
* Changes needed to profileStorage for sync (but *not* including
tombstones - see above).
* The sync engine, and some other misc changes to sync itself to support
the engine.
So the outstanding work I see for the sync team is:
1) Land the patch to bug 1361965, and get bugs open and review requested
for both the "tombstone" and "get" patches mentioned above.
2) Self-review the current work on the new sync engine, possibly
splitting into a number of different patches (eg, we've made some
changes to sync itself, which should land separately).
3) Self-review the "sync profileStorage changes" patch and develop some
stand-alone (ie, unrelated to sync) tests, and get that up for review,
and as part of that, ensure that we haven't made changes that aren't
actually used by the Sync engine.
4) Get some basic reconciliation logic in place for Sync - while we
expect the formautofill team to own some of the reconciliation logic
(eg, handling schema updgrades and/or profile merging), we should be
able to get the sync parts of this in-place using simple reconciliation
logic in anticipation of more complex logic being added later. The basis
for this is in the sync patch, but it needs more work (in particular,
see the end of FormAutofillSync.js, and the 1/2-baked tests at the end
of test_sync.js)
5) profit?
I intend doing (1). Thom, I'm hoping that you and I can collaborate on
(2) and (3). Kit expressed some interest in helping out with the
reconciliation logic, so hopefully he can take (4). I'll chat with both
of you tomorrow with more details.
Cheers,
Mark
_______________________________________________
Sync-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/sync-dev