Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

History (all sites) isn't synced across all the devices in sync #13293

Closed
GeetaSarvadnya opened this issue Dec 24, 2020 · 22 comments
Closed

History (all sites) isn't synced across all the devices in sync #13293

GeetaSarvadnya opened this issue Dec 24, 2020 · 22 comments

Comments

@GeetaSarvadnya
Copy link

GeetaSarvadnya commented Dec 24, 2020

Devices

Device A: Windows 10x64 - Brave Dev (1.19.66)
Device B: Windows 10 x64 - Brave Nightly (1.20.45)

Steps to Reproduce

1.Establish sync between Device A and Device B
2. In Device A, open 3 unique sites (cnn.com, cnet.com, and ESPN.com)
3. In Device B, open 5 unique sites (buzzfeed.com, theverge.com, twitter.com, nytimes.com, and indiatimes.com)
4. Enable History and Open Tabs from sync data settings from both Devices A, B
5. In Device A, open History and ensured that all the sites from Device A, B are listed in History
6. In Device B, open History all the sites from Device A, B aren't listed in History (espn is missing)
7. Open 2 new unique sites in Device A (orimi.com and fortune.com)
8. Open 2 new unique sites in Device B (Binance.com and bitcoin.com)
9. Reload the History tab in both Devices A, B
10. All the sites from Device A and Device B are not listed in brave://history in Device A, B (waited for enough time)

Note: Sometimes in step 5 and 6, the history is synced across the devices but not in step 10

Actual result:

History (all sites) isn't synced across all the devices in sync

Device A: Binance.com isn't synced in Device A history
image

Device B: ESPN.com isn't synced in Device B history
image

Expected result:

History (all sites) should be synced across all the devices in sync

Reproduces how often:

Easy

Brave version (brave://version info)

Brave 1.19.66 Chromium: 87.0.4280.101 (Official Build) dev (64-bit)
Revision 9407c80213cda69c2b7abcb4fa8e3f74488f4956-refs/branch-heads/4280@{#1807}
OS Windows 10 OS Version 2004 (Build 19041.685)
Brave 1.20.45 Chromium: 88.0.4315.5 (Official Build) nightly (64-bit)
Revision d2abe4588adaeb0d66aa0a0106675be1dff12c64-refs/branch-heads/4315@{#11}
OS Windows 10 OS Version 2004 (Build 19041.685)

Version/Channel Information:

  • Can you reproduce this issue with the current release? Not sure
  • Can you reproduce this issue with the beta channel? Not sure
  • Can you reproduce this issue with the nightly channel? Yes

Other Additional Information:

  • Does the issue resolve itself when disabling Brave Shields? NA
  • Does the issue resolve itself when disabling Brave Rewards? NA
  • Is the issue reproducible on the latest version of Chrome? NA

Miscellaneous Information:

cc: @brave/legacy_qa @AlexeyBarabash @jsecretan @rebron

@GeetaSarvadnya GeetaSarvadnya changed the title History (all sites) aren't synced across all the devices in sync History (all sites) isn't synced across all the devices in sync Dec 24, 2020
@brave brave deleted a comment from MODNXS-cell Jan 15, 2021
@brave brave deleted a comment from MODNXS-cell Jan 15, 2021
@snowbound
Copy link

Seeing the same behavior on the current Beta. Had two existing Windows10 machines in a sync chain. Just added a third computer that never had Brave installed on it at all. The new computer's history only showed a subset of the browsing history for the day of one of the other Windows10 computers.

From the Brave SYnc V2 FAQ

"When History is synced, you are essentially syncing typed URLs entered after both devices are added to the same Sync chain. Let’s say for example you have two devices, both with ~1,000 entries in History. When these two devices are added to the same Sync chain, they will both retain those same 1000 entries -- but any newly typed URLs entered into the address bar will now be added to both devices."

Since this new computer did not have any prior browsing history should the Sync process not show ALL of the browsing history from the other computers?

@snowbound
Copy link

As #11183 has been closed I am posting that as of Version 1.21.65 Chromium: 88.0.4324.182 (Official Build) beta (64-bit) on 3 devices here a Win10 Desktop and 2 Windows10 Laptops. Laptop 1s open tabs CURRENTLY show up on the history on the Desktop. However, Laptop 2 only sees 6 of the 9 open tabs from Laptop 1

@urbenlegend
Copy link

Does this issue cover incomplete open tabs sync as well? #11183 has been closed in favor of this issue, but this issue only mentions history and not tab sync. @snowbound, I and many others have reported that very frequently open tabs do not sync properly between devices, especially if there are more than 2 devices in a sync chain. Just want to make sure all the bases are covered here. Thanks

@snowbound
Copy link

Like @urbenlegend I have seen Open Tabs appear to sync properly from a device and then the next time I check only a portion of the open tabs from other devices are showing up in the device's history list.

@snowbound
Copy link

snowbound commented Feb 27, 2021

History aka Open Tabs from other devices is still unreliable even in Version 1.22.45 Chromium: 89.0.4389.58 (Official Build) beta (64-bit). I have another laptop that can not see the Open Tabs from my desktop. Even after disabling the sync of the Open Tabs on the desktop the laptop still is showing the outdated useless tabs for the desktop!

When I do a brave://sync-internals on the laptop

Status from Last Completed Session
Sync Source PERIODIC
GetKey Step Result UNSET
Download Step Result SYNCER_OK
Commit Step Result UNSET

and on the desktop it shows

Sync Source GU_TRIGGER
GetKey Step Result UNSET
Download Step Result SYNCER_OK
Commit Step Result SERVER_RETURN_TRANSIENT_ERROR

I have multiple desktops and laptops and the Open Tabs sync has been broken since Sync V2 was released back in August 2020!

Update: It took forever, but after disabling Open Tabs due to it being unreliable, all of the computers involved in the sync change eventually disappeared from the History fly-out menu.

@jsecretan
Copy link

@urbenlegend would you mind contacting me at jimmy@brave.com so we can get a screen share going? Thanks for your patience.

@jsecretan
Copy link

@snowbound does it help at all if you go into your sync settings on the affected machine and turn off and back on tab sync and history sync?

@jsecretan
Copy link

Just as an update here, we tried out a server side change to modify how the server deals with this, but still hasn't seemed make a difference. Full-resyncs seem to help but we don't yet understand how it gets into this state.

@snowbound
Copy link

@jsecretan I tried turning off Open Tab Sync waiting 30 secs on the computer whose tabs are not showing up properly on the laptop and then re-enabling Tab Sync and it does nothing to fix the issue. The laptop still sees the same reduced list of tabs. Right now I have Open Tab Sync totally disabled on all computers here. I found when I did that a day or so ago it took several minutes i.e. more than 5 for the disabled computers to disappear from the history flyout.

@AlexeyBarabash
Copy link
Contributor

An update for the part of the issue with the synchronization of history.

Brave inherited all the behavior from Chromium.

Not all the history is synced between devices.

New opened addresses are synced only if:

  1. Are of TypedUrl transition type.

    • on a desktop to make the visit be synced, the url should be typed and then clicked by mouse on the top occurrence in dropdown;

    • if url is typed and then Enter is pressed, the browser consider transition type as reload and the visit will not be synced;

    • if page visit is done by clicking on bookmark, the browser consider transition type as auto_bookmark and the visit will not be synced;

    • similar is for click by link, use autocomplete from history/bookmark/search suggestions

    • on Android to make entry be synchronized, url should be typed or pasted and then Enter must be pressed on the virtual keyboard.

  2. Only first 10 visits for the same url are synced, then only each 10th.

Details on transition types are well described at https://developer.chrome.com/docs/extensions/reference/history/#transition-types .
Decision whether to sync history entry or not is made in TypedURLSyncBridge::ShouldSyncVisit.

So these may be the reasons why some entries are not synchronized and this is expected.

Moving to other part related to open tabs missing after synchronization reported by @snowbound .

@snowbound
Copy link

This behavior certainly is not clearly communicated to your end-users. I have seen posts where users are complaining about Open Tabs between mobile and laptops not functioning as they thought it should. Open Tabs at least to me means that. Tabs that are open on the other device. I rarely hand type a URL by hand. I click on links in articles on one tab.

That does not agree with the behavior I am seeing here. I regularly use the same tabs to start off a browsing session. Reddit, Feedly, two Gmail account, another email service, amazon, and sometimes eBay. These tabs are saved via an extension manager call Session Buddy. If Brave is closed down or reopened I use Session to restore all the previously saved tabs back into Brave. This is the process I follow on my desktop and a laptop. This particular laptop automatically goes into sleep mode during the day and at night is placed into hibernation mode,

I have seen the two Gmail accounts show up in the laptop history of Open Tabs on the desktop of Brave Beta. The next time I check the Open Tabs on the desktop for the laptop one of the Gmail accounts has disappeared from the Open Tabs list for the laptop. In other words, if a tab shows up on the Open Tab list and is still open on the device should those tabs not remain in the Open Tab list under history?

@AlexeyBarabash
Copy link
Contributor

@snowbound,
Issues with Open Tabs and History are different. Above #13293 (comment) I described the cases when History entries are not synchronized.

I still looking for what happens with the Open Tabs - currently if I do several tries, I see that Open Tabs visible in Tabs from other devices sometimes not corresponds to the actual tabs on the other device fully.

@snowbound
Copy link

snowbound commented Mar 2, 2021

@AlexeyBarabash
When you say "similar is for click by link, use autocomplete from history/bookmark/search suggestions" are those also not synced via Open Tabs or are they synced?

It seems that pressing Enter to complete a URL is a no-no if you want the URL to show up in Open Tabs EXCEPT on Android and using the Enter key on the virtual keyboard.

Ok I think I understand. With me, my complaint/issue is strictly with Open Tabs inconsistency since Sync v2 was released. At that time only 4 tabs were showing up and that was a known restriction which again was not clearly communicated to your end-users like myself and others. I have not even looked at or used History on Brave Sync.

@AlexeyBarabash
Copy link
Contributor

AlexeyBarabash commented Mar 2, 2021

@snowbound

are those also not synced via Open Tabs or are they synced?

I am currently investigating. From what I see now, the navigation from auto-complete or bookmark/search suggestion/history click must not be affected for sessions Open Tabs.

For now I can say, that session of tab with only web-uipages like :

  1. Open new tab
  2. Navigate to brave://bookmarks
  3. Navigate to brave://version

Will not be displayed at Tabs from other device section. This is not what you @snowbound are seeing at your devices, but nonetheless. And this is not full list of cases when Open Tabs may not be synced or displayed, also I don't exclude some bug.

@snowbound
Copy link

As I mentioned previously the devices here have had Open Tabs disabled in the Sync option. To me as an end-user that would mean that none of that information should be stored on the chain. Yet when I just re-enabled the Open Tabs on my desktop and went to the History list. the laptop name shows up along with 6 of the tabs that are open on the laptop. The laptop still has the Open Tabs slider turned off!

Why is that information still in the Sync chain? Certainly by now after having the Open Tabs on all the devices turned off that should be removed from the sync chain. On the desktop toggling the Open Tabs slider causes the two laptops to show up and disappear under the History flyout. I thought the Open Tabs slider was to allow or disallow what tabs to be saved in the sync chain. Is the Open Tabs option in Sync simply a means of presenting the synced History in a means that is more understandable by the user?

@AlexeyBarabash
Copy link
Contributor

@snowbound

The laptop still has the Open Tabs slider turned off!

It should not display Tabs from other device if that device has that option turned off. I would suppose your desktop device somehow hadn't received yet update that laptop has Open Tabs category option turned off.

I thought the Open Tabs slider was to allow or disallow what tabs to be saved in the sync chain.
Is the Open Tabs option in Sync simply a means of presenting the synced History in a means that is more understandable by the user?

There are categories History and Open Tabs in UI settings. Each of them requires to have internally both of types TypedUrls and Sessions to be enabled internally. In other words:

  1. If you turned on History and turned on Open Tabs you will have internally TypedUrls:ON, Sessions:ON
  2. If you turned on History and turned off Open Tabs you will have internally TypedUrls:ON, Sessions:ON
  3. If you turned off History and turned on Open Tabs you will have internally TypedUrls:ON, Sessions:ON
  4. If you turned off History and turned off Open Tabs you will have internally TypedUrls:OFF, Sessions:OFF

So if any of History or Open Tabs switch is turned on, then both data from types of TypedUrls and Sessions are sent to cloud. And then depending on which category is turned on, the data is displayed in main history section and on Tabs from other devices section

@snowbound
Copy link

The laptop and desktop both had the Open Tabs option disabled on Sunday and both devices were in use Monday all day long. Today I turned on the Open Tabs on the desktop. The laptop is still showing up under History flyout of the Hamburger menu. The Open Tab on the laptop Sync setting is still disabled.

The history slider is still ENABLED on all these devices and has been for a week or more.

I have not used Chrome for a long time but at one point they had an entry under the Hamburger menu that said Tabs from other Devices has that been deprecated in favor of the History flyout for History on the current device as well as Open Tabs/History from other devices in the sync? I see no "Tabs from Other Devices"menu entry in Brave and never have.

@snowbound
Copy link

snowbound commented Mar 2, 2021

All of my input in this thread since #13293 (comment) is more related to Open Tabs aspect and its seemingly inconsistent behavior from the end-user point of view as mentioned in #11183. This inconsistency was apparently solved per #11183 (comment) yet in Version 1.22.45 Chromium: 89.0.4389.58 (Official Build) beta (64-bit) it quirky behavior still exists from this end-user point of view.

@snowbound
Copy link

snowbound commented Apr 4, 2021

@jsecretan I just check on my laptop. It says there are no Tabs from other devices under the History even though my desktop computer in the same sync chain has been running for 12 hours and has 19 tabs open on it.

[rant mode on]
From this user who had switched to brave back in 2018, I have gotten extremely frustrated with the browser in the last year. It seems non BAT posts in Brave Community go unanswered unlike 3 years ago when it was amazing to see Brave people in the community respond to initial posts as well as to follow-up posts. In my opinion, today that is a miracle if that type of response occurs. I am a vocal user here and on the Brave Community and Reddit re these issues. Brave needs to focus on fixing issues in the browser as it stands today and get the support infrastructure in place to support your users. Stop rolling out new features garnering more users without the infrastructure to support the users you have already. How many less vocal users of Brave have given up on Brave due to support issues and have no interest in BAT and simply want a browser that works and simply went with the competition to find those qualities.

[rant mode off]

This is from the desktop computer:

Sync Source GU_TRIGGER
GetKey Step Result UNSET
Download Step Result SYNCER_OK
Commit Step Result SERVER_RETURN_CONFLICT

image

@jsecretan
Copy link

Hi @snowbound, so this fix is currently available in nightly:
#14681

We are hoping it at least helps resolve that "Commit Step Result" problem. We have also taken some steps server side to reduce some error rates that we believe were contributing to sluggish tab sync.

We hope that these two things together may help address some of these issues with tabs and history.

There is still a problem which we have observed, but can't currently reproduce with tab data actually syncing but not showing up in the UI. My hope is once we can reproduce and solve it, these issues will be resolved comprehensively.

@rebron rebron added the priority/P3 The next thing for us to work on. It'll ride the trains. label Apr 19, 2021
@bsclifton
Copy link
Member

Hi there folks - I'm going to close this issue as wontfix. I recently dug in with the team as we're implementing History sync on iOS and we got a chance to look at internals. @AlexeyBarabash captured the nuances of history sync very well in his post above:
#13293 (comment)

Basically, these history Transition Types are NOT supported by Chromium (on Brave or Chrome):

  • link The user got to this page by clicking a link on another page.
  • auto_bookmark The user got to this page through a suggestion in the UI—for example, through a menu item.
  • auto_subframe Subframe navigation.
  • manual_subframe For subframe navigations that are explicitly requested by the user and generate new navigation entries in the back/forward list.
  • generated The user got to this page by typing in the address bar and selecting an entry that did not look like a URL.
  • auto_toplevel The page was specified in the command line or is the start page.
  • form_submit The user filled out values in a form and submitted it.
  • reload The user reloaded the page, either by clicking the reload button or by pressing Enter in the address bar. Session restore and Reopen closed tab use this transition type, too
  • keyword, keyword_generated The URL was generated from a replaceable keyword other than the default search provider.

This limits history sync quite a bit, unfortunately. The only one supported is typed which is described as:

The user got this page by typing the URL in the address bar. Also used for other explicit navigation actions.

This might make history sync borderline useless for a lot of people, unfortunately. We do have this captured in the Sync FAQ in the Brave Support center:
https://support.brave.com/hc/en-us/articles/360047642371-Sync-FAQ

Why don’t I see all of my browsing History Synced between devices?

When History is synced, you are essentially syncing typed URLs entered after both devices are added to the same Sync chain. Let’s say for example you have two devices, both with ~1,000 entries in History. When these two devices are added to the same Sync chain, they will both retain those same 1000 entries -- but any newly typed URLs entered into the address bar will now be added to both devices.

@bsclifton bsclifton added closed/wontfix and removed priority/P3 The next thing for us to work on. It'll ride the trains. labels May 17, 2021
@pavzagor
Copy link

Maybe it's time to resurrect this?

Here the guy says that a new flag was added that might allow implementing proper sync instead of the current crippled one:
https://community.brave.com/t/sync-v2-doesnt-sync-new-history-across-devices/153818/16

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants