New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 623131 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 3
Type: Bug



Sign in to add a comment

Two iOS devices from same iCloud restore can't co-exist in history sync

Project Member Reported by agoode@chromium.org, Jun 24 2016

Issue description

Version 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.

 
Labels: Needs-Feedback
Could you provide screenshots of this bug? Does only one of the devices have open tabs? Which specific iOS devices are you using? 
This might be the same as  issue 572951  since I set up this new device from an iCloud backup of the old one.
Labels: OS-iOS
Summary: Two iOS devices from same iCloud restore can't co-exist in history sync (was: History page shows wrong name for iOS device)
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.
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.

Owner: zea@chromium.org
Status: Assigned (was: Untriaged)

Comment 6 by zea@chromium.org, Jul 8 2016

Owner: ----
Status: Untriaged (was: Assigned)
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.
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==

Comment 9 by zea@chromium.org, Jul 11 2016

Owner: zea@chromium.org
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?
You have my permission to check the server logs for my account, agoode@gmail.com.

Comment 11 by zea@chromium.org, Jul 12 2016

Status: Assigned (was: Untriaged)
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.

Comment 12 by zea@chromium.org, Jul 14 2016

Cc: droger@chromium.org
+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.

Comment 13 by s...@chromium.org, Aug 31 2016

Labels: -Needs-Feedback
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?
Status: WontFix (was: Assigned)
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