brave / brave-browser

Brave browser for Android, iOS, Linux, macOS, Windows.
https://brave.com
Mozilla Public License 2.0
18k stars 2.36k forks source link

Some users cannot scroll on the tabs bar on iOS #41562

Open Brave-Matt opened 1 month ago

Brave-Matt commented 1 month ago

Description

Users are reporting that when trying to swipe/scroll using the tab strip (not tab picker) on iOS devices does not work. When attempting to do so, the strip will jump back to the tab currently in focus and prevent you from seeing tabs further down the strip.

A Community user has shared a video of the behavior: https://youtu.be/0B4T7qCwWZ8

The user who originally wrote the report states that this has been happening for some number of months for them.

Steps to reproduce

  1. Launch Brave on iOS
  2. Open several tabs such that you need to scroll down the strip to view them all
  3. Observe the tab strip jumping back to the in-focus tabs position

Actual result

Tab strip will not properly scroll down the line of tabs

Expected result

Tab strip should scroll responsively to the position the user desires.

Reproduces how often

Easily reproduced

Brave version

Version 1.69.1 (171)

Device/iOS version

iPadOS 18+ Reported devices: iPhone 13 iPad mini 5

Affected browser versions

Reproducibility

Miscellaneous information

Original user report: https://community.brave.com/t/scrolling-through-tabs-is-broken/571045

kylehickinson commented 1 week ago

Noticed this locally and the reason was that BrowserViewController.viewDidLayoutSubviews is being called while scrolling the tabs bar, which then re-scrolls to the active tab due to a call here. This must be a new change in iOS 18 though because this change has been around for over a year (https://github.com/brave/brave-ios/pull/8032)

After a few relaunches though it stopped happening