Closed Bug 1350959 Opened 7 years ago Closed 7 years ago

Implement bookmark repair strategy with desktop client for iOS

Categories

(Firefox for iOS :: Sync, enhancement, P1)

Other
iOS
enhancement

Tracking

()

RESOLVED FIXED

People

(Reporter: sleroux, Assigned: eoger)

References

Details

(Whiteboard: [Q2 OKR])

Attachments

(1 file, 1 obsolete file)

After a sync operation but before we release the sync lock, 

1. Run validation on the bookmarks buffer on iOS to collect all of the structure/record IDs which are problematic. Rules for what constitutes a problematic record can be found here [1].

2. Choose a connected desktop Firefox client that is => 54 and is the one that most recently synced.

3. Send repairRequest command with problematic IDs, selected client, and flow ID.

To handle the monitoring of states between requests, we should create a state machine that keeps track of the repair's progress as it moves through the different clients. In addition to repairing, we'll also be threading telemetry events through each state transition which will be added the Sync Ping.

[1] http://searchfox.org/mozilla-central/rev/0079c7adf3b329bff579d3bbe6ac7ba2f6218a19/services/sync/modules/bookmark_repair.js#116-119,124-131,136-140,145-149,154-159,164-173
See Also: → 1350961
(In reply to Stephan Leroux [:sleroux] from comment #0)
> After a sync operation but before we release the sync lock, 
> 
> 1. Run validation on the bookmarks buffer on iOS to collect all of the
> structure/record IDs which are problematic. Rules for what constitutes a
> problematic record can be found here [1].

> [1]
> http://searchfox.org/mozilla-central/rev/
> 0079c7adf3b329bff579d3bbe6ac7ba2f6218a19/services/sync/modules/
> bookmark_repair.js#116-119,124-131,136-140,145-149,154-159,164-173

[1] is actually desktop's best-guess for what an iOS "can't enable bi-di sync" problem looks like. I think this is better described as something like "identify the IDs of bookmarks missing from the server which we believe will allow iOS to fully sync"

> 2. Choose a connected desktop Firefox client that is => 54 and is the one
> that most recently synced.
... and which hasn't previously been asked to perform this repair.

> 
> 3. Send repairRequest command with problematic IDs, selected client, and
> flow ID.

And: 4. Repeat from (2.) until we have no more clients to try.
Whiteboard: [Q2 OKR]
Attached file mozilla-mobile/firefox-ios#2702 (obsolete) —
Assignee: nobody → eoger
Status: NEW → ASSIGNED
Priority: -- → P1
Attachment #8864657 - Attachment is obsolete: true
master 1d2e055107902727ad88c1b6602d8948b9c4fb76

Currently disabled behind the merging bookmarks flag until we can get some event telemetry around this.
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: