Closed Bug 1506287 Opened 3 years ago Closed 3 years ago

Check changed flags when merging child lists for local and remote nodes

Categories

(Firefox :: Sync, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
Firefox 65
Tracking Status
firefox65 --- fixed

People

(Reporter: lina, Assigned: lina)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

https://searchfox.org/mozilla-central/rev/a3894a4dcfb5d42f2e6eee6cb9faf7141879ef1a/toolkit/components/places/SyncedBookmarksMirror.jsm#3771-3791 currently checks local and remote timestamps to decide which folder to merge first. Unfortunately, it doesn't check the changed flag, so we might pick a folder that's chronologically newer, but hasn't actually changed.

This is causing TPS stage-buffer to fail because we're walking local children first, and relocating orphans to the start of the folder instead of the end.

This fix also makes `mergeChildListsIntoMergedNode` consistent with `checkFor{Remote, Local}StructureChangeOf{Local, Remote}Node` and `resolveTwoWayValueConflict`, which also check these flags in addition to timestamps.

The patch is based on bug 1496878 because that simplifies this function quite a bit.
Pushed by kcambridge@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/575c5e68b8f1
Check changed flags when merging child lists for local and remote nodes. r=tcsc
https://hg.mozilla.org/mozilla-central/rev/575c5e68b8f1
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 65
You need to log in before you can comment on or make changes to this bug.