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

Issue 916839 link

Starred by 3 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: 2019-01-22
OS: Linux , Windows , Chrome , Mac
Pri: 2
Type: Bug



Sign in to add a comment

Do not load a synced background which is not available

Project Member Reported by yyushkina@chromium.org, Dec 20

Issue description

If a user is syncing and has a background set on one device, then sets the background to a local image on another, we wipe the first NTP to white (since we can't load the local image). Instead we should never write the local image path to the pref.
 
Labels: -Pri-3 Pri-2
I think this was discussed in an IM thread while I was OOO; apologies if the points below repeat some of that. 

As I understand it, the issue here is that sync doesn't apply to locally uploaded images, but does apply to Chrome backgrounds, causing an inconsistent experience. 

If we want to offer consistency, the alternatives are:
1. Sync local images too. This'll require saving the image to some aspect of the profile (and users may not want a local image synced). The image size may be considerably larger than anything currently synced. While Themes can contain images, Theme sync may pull from the original source (needs investigation).
2. Don't sync any backgrounds, including Chrome backgrounds. This reverts a feature introduced in M70, and would mean we lose one of the key benefits of customization - that your version of the NTP is available whenever you log in.

If we forego consistency (ie only Chrome backgrounds are syncable), we need to decide what the best experience is when users customize things differently on one or more devices.

Situation A: Chrome background is set, user uploads local image on device D1. 
 A.1.1 D2 background is reset to default (current behavior).
 A.1.2 D2 background is retained as the original Chrome background (behavior proposed in bug description). Effectively, all devices except D1 would get this Chrome background.

What's the expected behavior for each of these next steps (depending on whether A.1.1 or A.1.2 is in effect):
 A.2.1 Restore default background on D1. Does D1 restore to the Chrome background (if A.1.2 is in effect) or reset to default? 
 A.2.2 Change to a different Chrome background on D2 (if A.1.2 is in effect).
 A.2.3 Upload a different local image on D2 (if A.1.1 is in effect). ie D1 and D2 have different local images.
 A.2.4 Set a Chrome background on D1 (if A.1.2 is in effect). Does this new image become the one synced across devices?

Situation B: Local image is set on D1, user sets Chrome background D2. 
 B.1.1 D1 background is set to the Chrome Background (current behavior).
 B.1.1 D1 background is unchanged (I don't think anyone is proposing this, so it may be less interesting to discuss alternatives here).



Proposed next steps:
1. Evaluate whether it's worth offering syncability of local images.
@yyushkina: is this ok product-wise, given that it's a local image?
@kmilka: where could this go, and would it be too large for a sync pref?

2. If local images can't be synced, decide on best options for A.2.* (and other scenarios I've missed). It's probably best for the 3 of us to discuss these in person, as I think there are some product tradeoffs.
  
I think syncing local images makes sense, especially since we've positioned the feature as "Upload an image" which connotes that the image is being stored somewhere (even though it's not). Discussing in person makes sense. I added time for us 3 on Wednesday.
NextAction: 2019-01-22
Labels: zine-triaged
We're leaning toward not syncing the local background due to the large amount of work required (integrating a new service to store the image, the necessity to get approval from user) for a small user base.

If a user has a local image set as their background we won't write the value to the sync-able pref.


Description: Show this description
A summary of what should happen in each of the next steps from #2, based on today's discussion:

Situation A: Go with A.1.2 (retain Chrome background on other devices)

 A.2.1 Restore default background on D1. Does D1 restore to the Chrome background (if A.1.2 is in effect) or reset to default? 
Reset background on all devices

 A.2.2 Change to a different Chrome background on D2 (if A.1.2 is in effect).
Sets the background on all devices, including D1

 A.2.3 Upload a different local image on D2 (if A.1.1 is in effect). ie D1 and D2 have different local images.
This is fine, and if D3-Dn had a Chrome background, that would be retained (as in A.1.2)

 A.2.4 Set a Chrome background on D1 (if A.1.2 is in effect). Does this new image become the one synced across devices?
Yes, sync this new background across all devices.

Situation B: Go with B.1.1 (D1 background is set to the Chrome Background)

Comment 9 by kmilka@chromium.org, Jan 17 (5 days ago)

Status: Started (was: Assigned)

Comment 10 by monor...@bugs.chromium.org, Today (18 hours ago)

The NextAction date has arrived: 2019-01-22

Sign in to add a comment