Issue metadata
Sign in to add a comment
|
Ash preferences users need awareness of pref service syncing changes |
||||||||||||||||||||||
Issue descriptionAsh preferences users need awareness of pref service syncing changes There are a number of Ash features that rely on knowing when preference syncing has completed. For example, shelf alignment & auto-hide prefs are init with synced values the first time a user signs in. (Users have per-device shelf prefs, but new devices start with the latest values synced from other devices) This is implemented by initializing the local values with synced values the first time sync occurs. (See ChromeLauncherPrefsObserver or ChromeLauncherController::OnIsSyncingChanged.) Ash PrefService instances are currently not PrefServiceSyncable, so Ash can't observe OnIsSyncingChanged. (See SessionObserver::OnActiveUserPrefServiceChanged and SessionController::Get*PrefService*) Chrome-side init is problematic, because Ash's foreign prefs may not be registered before OnIsSyncingChanged. Moving these Ash-owned prefs to Chrome is possible, but seems like a bad pattern and causes other fallout. This might affect other areas soon, OnIsSyncingChanged is used by other chrome/browser/chromeos features. Advice/help/triage is appreciated. I have a WIP CL to try to make shelf prefs init more reliable: https://chromium-review.googlesource.com/c/chromium/src/+/717476
,
Nov 15 2017
Is this still in need of further attention?
,
Nov 15 2017
Yes, my CL above only made the shelf pref init problems less likely to occur. Remote mojo PrefService users should be notified when pref syncing has started. See my first comment that explains the issue in more detail. Help from someone that knows prefs/sync well is appreciated!
,
Nov 27 2017
,
Jan 17 2018
,
Apr 13 2018
,
Apr 19 2018
,
May 30 2018
,
Jun 18 2018
The mojo PrefService's client has the concept of a local write-through cache as part of the client. https://docs.google.com/document/d/1JU8QUWxMEXWMqgkvFUumKSxr7Z-nfq0YvreSJTkMVmU/edit#heading=h.h4s95ei8yxde Is there anything missing from the sync side to support those use cases?
,
Jun 20 2018
This bug is specifically about mojo apps knowing when pref values have been obtained from sync. ie. on first sign-in, local shelf prefs are initialized from synced values; Ash should do that, not Chrome. See the original comment for additional details, any help here would be much appreciated.
,
Jun 21 2018
I'm not familiar enough with the mojo PrefService design. But if that's a valid use case, then exposing functionality like PrefServiceSyncable::IsPrioritySyncing() or PrefServiceSyncable::IsPrefSynced() sounds like a solution. I'm unassigning myself as this looks like a prefservice feature request and less of a sync feature request (if it's correct that PrefServiceSyncable has the required functionality).
,
Aug 6
sync-triage ping: this issue in quite old and doesn't have an owner, maybe it should be P3?
,
Aug 15
FWIW, it's still relevant and would be nice to fix.
,
Aug 16
about Comment12: I don't think this is a sync service issue (sync-triage shouldn't apply here). Removing Services > Sync component.
,
Oct 26
,
Dec 8
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by bugdroid1@chromium.org
, Oct 16 2017