[Sync v2] device list update #10198
Labels
feature/sync
OS/Android
Fixes related to Android browser functionality
OS/Desktop
QA Pass - Android ARM
QA Pass - Android Tab
QA Pass-Linux
QA Pass-macOS
QA Pass-Win64
QA/Test-Plan-Specified
QA/Yes
release-notes/exclude
Milestone
When a device leaves sync chain, other devices on the sync chain will still see the leaving device listed.
In order to solve this issue,
Server needs to:
Listen toSyncDisabledEvent
on/event
endpoint (components/sync/protocol/sync.proto)1.1.
Client sends this event insyncer::SyncStoppedReporter
(components/sync/driver/sync_stopped_reporter.cc)PrepareSyncEntity
with sameid_string
orclient_defined_unique_tag
as the client who sendsSyncDisabledEvent
for other clients on sync chain to fetch2.1.
leaveDeviceInfoSpecifics
empty because client doesn't access it when applying deleted update (seeProcessUpdate
incomponents/sync/engine_impl/syncer_util.cc
). Also when client creates deletedSyncEntity
commit, it sends empty specificKeep track device number of sync chain, when there is no devices on sync chain, delete all the dataClient needs to:
Sendserver_id
instead ofcache_guid
inSyncDisabledEvent
so that server can update dbcheck if itself is the last client who is about to leave the sync chain, if yes, warning user this action will clear all the data on server and ask whether to continue.OR
Client makes sure it commits delete self device info record. This method can also allow us to delete other devices on device list
cc @bridiver @jsecretan @yrliou
The text was updated successfully, but these errors were encountered: