Two iOS devices from same iCloud restore can't co-exist in history sync |
|||||||||
Issue descriptionVersion 51.0.2704.103 (64-bit) Platform 8172.56.0 (Official Build) stable-channel samus Firmware Google_Samus.6300.174.0 What steps will reproduce the problem? (1) Have 2 iOS devices on Chrome sync (2) Load some pages on an iOS device (3) Look at history on desktop Chrome What is the expected output? The header in the history page shows the correct name for the device. What do you see instead? The other device is shown.
,
Jul 5 2016
This might be the same as issue 572951 since I set up this new device from an iCloud backup of the old one.
,
Jul 5 2016
Nope, it's worse than this. The two devices stomp over each other's history. I can only see one of the sets of open tabs on my desktop Chrome history page. How to reproduce: 1. Provision iOS device from an iCloud backup of another one. 2. Use both Chrome on both iOS devices at the same time. 3. Synchronized history is only present for whichever iOS device last pushes its history state out.
,
Jul 6 2016
agoode@: Could you capture screenshots of about:sync on both devices and post them here? I'm interested if both devices have the same Sync Client ID.
,
Jul 8 2016
,
Jul 8 2016
This is a known issue, and also exists with Android (via adb restore). The restore is restoring everything within the profile I believe, including the sync client GUID. We don't have a way to detect when we're running from a restore, vs not, and attempting to detect this via conflicting writes from another device would introduce a fair amount of complexity than I think is worth. I wouldn't be surprised if there are GUIDs for other services being restored as well that create confusing behavior if used on two devices. Does anyone on the IOS side know if there's a way to only restore certain settings via icloud's restore? On Android, one thing we're doing is specifying which settings to backup, such that the GUID doesn't get backed up, but the fact that the user is signed in and syncing does.
,
Jul 9 2016
Here are the sync client ids: iPhone Identity Sync Client ID KTXArCh4L2sun7CUzTZvKA== Invalidator Client ID XSSwTUL1cjB4yxEVM/OJmQ== iPad Identity Sync Client ID Imr0b09EUSwC3ZIjnAlDdQ== Invalidator Client ID U8f2SMi1iZ8pBytfhwJtvQ==
,
Jul 11 2016
Strange. Although we do have a separate preference that stores the session sync guid (which can be different from the sync client id in certain scenarios). It's possible the session sync guid was duplicated, while the client id wasn't. What account are you using to sync with? Do I have your permission to check the sync server logs for that account?
,
Jul 12 2016
You have my permission to check the server logs for my account, agoode@gmail.com.
,
Jul 12 2016
Looks like the session sync id being used is 79B99AEA-021D-D5DB-51D4-CD558F32D78D. It's not clear where that's coming from though. That's a strange id, typically they're a base64 encoded string (like the sync client id), but in this case it appears to be some hex string. Gonna look into how this id may have been found/generated.
,
Jul 14 2016
+David, does that id format look familiar? Playing around with an ipad and ipod touch, they both sync using a normal base64 format id, so it's not clear to me where that id may have come from.
,
Aug 31 2016
,
Sep 1 2016
This looks like a NSUUID: https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSUUID_Class/index.html#//apple_ref/doc/c_ref/NSUUID I'm not sure how it was generated. There used to be a way to get a global device identifier, which has been replaced by the "identifier for vendor" in recent iOS versions. https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDevice_Class/#//apple_ref/occ/instp/UIDevice/identifierForVendor Maybe we used these at some point as a Sync ID? Can you see how old is this sync ID?
,
Jan 17 2018
Since this is really old one, close for now, feel free to re-open it if this is still an issue. |
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by pnoland@chromium.org
, Jun 29 2016