Skip to content
This repository has been archived by the owner on Feb 16, 2024. It is now read-only.

Scroll further on x during demo drive test #792

Merged
merged 1 commit into from Sep 27, 2022

Conversation

jmagman
Copy link
Member

@jmagman jmagman commented Sep 26, 2022

transitions_perf_test is failing on iPhone 11 in landscape mode. It passed on iPhone 14 in landscape mode.

https://logs.chromium.org/logs/flutter/led/mohsinally_google.com/1a7c2af2bc457cea4bfd5efac70e595c8064a056f3e1652a196692978cb0647c/+/u/run_new_gallery_ios__transition_perf/test_stdout

[new_gallery_ios__transition_perf] [STDOUT] stdout: [+11418 ms] > starter@study
[new_gallery_ios__transition_perf] [STDOUT] stdout: [        ] scrolling to demo
[new_gallery_ios__transition_perf] [STDOUT] stderr: [+10004 ms] VMServiceFlutterDriver: waitFor message is taking a long time to complete...
[new_gallery_ios__transition_perf] [STDOUT] stdout: [   +9 ms] FlutterDriverExtension: Timeout while executing waitFor: TimeoutException after 0:00:10.000000: Future not completed

The scrollUntilVisible on this test was not aggressive enough. Increase x scroll distance from -500 to -800.

Before:

gallery_drive_scroll_fail.mov

After:

gallery_drive_scroll_success.mov

Confirmed this still passes in portrait.

Blocking flutter/flutter#111131

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read the Flutter Style Guide recently, and have followed its advice.
  • I signed the CLA.
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is test-exempt.
  • All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@jmagman jmagman self-assigned this Sep 27, 2022
@jmagman jmagman merged commit 9fd4ee5 into flutter:main Sep 27, 2022
@jmagman jmagman deleted the scroll-demo branch September 27, 2022 16:39
cbracken added a commit that referenced this pull request Nov 2, 2022
The gallery driver test includes logic to scroll through various lists
of demos in order to transition to each one. These lists include the
horizontally-scrolling studies list at the top of the gallery home page,
as well as the vertically-scrolling Material, Cupertino, and Other
demo lists on the same page.

TestDriver.scrollUntilVisible scrolls a parent list widget in increments
of dx and/or dy until the specified list item widget is visible. The
Studies carousel list at the top of the gallery home screen has scroll
physics that snap items to the starting edge of the widget. If the dx
scroll distance is too small, the Studies list doesn't scroll far enough
and snaps back to its original position. Conversely, if it scrolls too
far, it may scroll one widget too far and snap the next widget into
place. Instead, we now scroll 75% of the carousel width (empirically
determined) as an attempt at a value in the Goldilocks Zone.

Related: #792
Related: flutter/flutter#111131

Issue: flutter/flutter#114025
cbracken added a commit that referenced this pull request Nov 2, 2022
The gallery driver test includes logic to scroll through various lists
of demos in order to transition to each one. These lists include the
horizontally-scrolling studies list at the top of the gallery home page,
as well as the vertically-scrolling Material, Cupertino, and Other
demo lists on the same page.

TestDriver.scrollUntilVisible scrolls a parent list widget in increments
of dx and/or dy until the specified list item widget is visible. The
Studies carousel list at the top of the gallery home screen has scroll
physics that snap items to the starting edge of the widget. If the dx
scroll distance is too small, the Studies list doesn't scroll far enough
and snaps back to its original position. Conversely, if it scrolls too
far, it may scroll one widget too far and snap the next widget into
place. Instead, we now scroll 75% of the carousel width (empirically
determined) as an attempt at a value in the Goldilocks Zone.

Related: #792
Related: flutter/flutter#111131

Issue: flutter/flutter#114025
cbracken added a commit that referenced this pull request Nov 2, 2022
The gallery driver test includes logic to scroll through various lists
of demos in order to transition to each one. These lists include the
horizontally-scrolling studies list at the top of the gallery home page,
as well as the vertically-scrolling Material, Cupertino, and Other
demo lists on the same page.

TestDriver.scrollUntilVisible scrolls a parent list widget in increments
of dx and/or dy until the specified list item widget is visible. The
Studies carousel list at the top of the gallery home screen has scroll
physics that snap items to the starting edge of the widget. If the dx
scroll distance is too small, the Studies list doesn't scroll far enough
and snaps back to its original position. Conversely, if it scrolls too
far, it may scroll one widget too far and snap the next widget into
place. Instead, we now scroll 75% of the carousel width (empirically
determined) as an attempt at a value in the Goldilocks Zone.

Related: #792
Related: flutter/flutter#111131

Issue: flutter/flutter#114025
cbracken added a commit that referenced this pull request Nov 2, 2022
The gallery driver test includes logic to scroll through various lists
of demos in order to transition to each one. These lists include the
horizontally-scrolling studies list at the top of the gallery home page,
as well as the vertically-scrolling Material, Cupertino, and Other
demo lists on the same page.

TestDriver.scrollUntilVisible scrolls a parent list widget in increments
of dx and/or dy until the specified list item widget is visible. The
Studies carousel list at the top of the gallery home screen has scroll
physics that snap items to the starting edge of the widget. If the dx
scroll distance is too small, the Studies list doesn't scroll far enough
and snaps back to its original position. Conversely, if it scrolls too
far, it may scroll one widget too far and snap the next widget into
place. Instead, we now scroll 75% of the carousel width (empirically
determined) as an attempt at a value in the Goldilocks Zone.

Related: #792
Related: flutter/flutter#111131

Issue: flutter/flutter#114025
cbracken added a commit that referenced this pull request Nov 2, 2022
The gallery driver test includes logic to scroll through various lists
of demos in order to transition to each one. These lists include the
horizontally-scrolling studies list at the top of the gallery home page,
as well as the vertically-scrolling Material, Cupertino, and Other
demo lists on the same page.

TestDriver.scrollUntilVisible scrolls a parent list widget in increments
of dx and/or dy until the specified list item widget is visible. The
Studies carousel list at the top of the gallery home screen has scroll
physics that snap items to the starting edge of the widget. If the dx
scroll distance is too small, the Studies list doesn't scroll far enough
and snaps back to its original position. Conversely, if it scrolls too
far, it may scroll one widget too far and snap the next widget into
place. Instead, we now scroll 75% of the carousel width (empirically
determined) as an attempt at a value in the Goldilocks Zone.

Related: #792
Related: flutter/flutter#111131

Issue: flutter/flutter#114025
Seven-112 pushed a commit to Seven-112/gallery that referenced this pull request May 16, 2023
The gallery driver test includes logic to scroll through various lists
of demos in order to transition to each one. These lists include the
horizontally-scrolling studies list at the top of the gallery home page,
as well as the vertically-scrolling Material, Cupertino, and Other
demo lists on the same page.

TestDriver.scrollUntilVisible scrolls a parent list widget in increments
of dx and/or dy until the specified list item widget is visible. The
Studies carousel list at the top of the gallery home screen has scroll
physics that snap items to the starting edge of the widget. If the dx
scroll distance is too small, the Studies list doesn't scroll far enough
and snaps back to its original position. Conversely, if it scrolls too
far, it may scroll one widget too far and snap the next widget into
place. Instead, we now scroll 75% of the carousel width (empirically
determined) as an attempt at a value in the Goldilocks Zone.

Related: flutter/gallery#792
Related: flutter/flutter#111131

Issue: flutter/flutter#114025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants