Fenix: [Meta] Pull to refresh issues

Created on 7 Apr 2020  ·  28Comments  ·  Source: mozilla-mobile/fenix

After enabling "pull to refresh" in https://github.com/mozilla-mobile/fenix/issues/3262 a number of issues were discovered.

Most of the issues relate to the following:

 
~As such we will disable pull to refresh until all of the above issues are resolved.~
~- [x] https://github.com/mozilla-mobile/fenix/issues/9770~

 
With most of the issues fixed this is ready for nightly but should not get into Beta / Release until all issues are fixed.

Gesture S1 meta 🐞 bug

Most helpful comment

https://bugzilla.mozilla.org/show_bug.cgi?id=1633322 is merged in AC and looks to have resolve the same underlying issue for the dynamic bottom toolbar. 🥳

All 28 comments

Hi, below you can find all the related bugs to the Pull to refresh feature.
| Website | Bug ID | Reproducible? | Comments |
| :--: | :--: | :--: | :--: |
| https://bing.com/covid | 9724 | ✔️ | |
| Phonearena.com | 9720 | ✔️ | |
| twitter | 9718 | ✔️ | |
| GitHub | 9708 | ✔️ | |
| uBlock Origin settings | 9715 | ✔️ | |
| Bugzilla | 9715 | ✔️ | Bugzilla bug 1415628|

Please also consider disabling pull to refresh after the user has started to fill out a form:

  1. Open https://www.caresteouvert.fr/@48.861687,2.333530,17.81/place/n4246099576
  2. Select "Report a change"
  3. "Select "No"
  4. Type in some text
  5. (Accidentally) pull down
  6. Page refreshes

Hi, @caugner thank you for the notice!
Note that I already verified the issue on the latest build you can find it here https://github.com/mozilla-mobile/fenix/issues/9770#issuecomment-610916270.
The Nightly from the Play Store will update soon and you will be able to see the change too.
I verified the issue following your steps and I couldn't reproduce it as the feature was disabled.

Maybe off-topic, but would be possible to link the feature to a about:config flag?

See also #9799 - that should be fixed too before re-enabling, and doesn't seem to be covered by the existing issues on this ticket.

The Nightly from the Play Store will update soon and you will be able to see the change too.

My Nightly still pulls to refresh, despite being on the latest Play Store version. This is really frustrating, because I keep losing form input (e.g. on Twitter and in Mattermost).

Play Store updates are paused due to https://bugzilla.mozilla.org/show_bug.cgi?id=1628413.

@Mugurell it looks like the GV bug has been fixed, so it should be in Fenix Nightly. I can't tell if the other issue is a GV bug, but if all the fixes are ready, is this something your team could prioritize in a sprint? It will be important for PWAs to be able to refresh #204 .

@liuche PWAs can currently be refreshed via the site control notification.

Sorry for off-topic but please consider making pull to refresh optional.

That is really irritating for some people with accessibility problems like me.

Thank you for all your hard working.

Stay safe.
Regards.

Thank you for this suggestion @3j9fkyahunqoxwqu, note that I will add a feature request regarding this.

@Mugurell looks like the GV fix is about to land. Once it does, is there anything we need to change on the AC/Fenix side or will we get these benefits for free?

@Mugurell looks like the GV fix is about to land. Once it does, is there anything we need to change on the AC/Fenix side or will we get these benefits for free?

I think we'll see an improvement based on that merge right away. Yay!

Updated now the top comment with the latest status.
The biggest issue atm, for both pull to refresh and the dynamic urlBar seems to be (based on https://bugzilla.mozilla.org/show_bug.cgi?id=1633322) that certain websites, big ones, have root element scroll listeners which will prevent us from correctly animating pull to refresh / urlBar.

Checked again the current status of this.

  • https://bugzilla.mozilla.org/show_bug.cgi?id=1633322 is still blocking. But it affects the pull to refresh in the same way it currently affects the bottom dynamic toolbar. On some sites the toolbar is not animated / pull to refresh won't be available.
  • #10241 is ready to work on, we know what should be done.
  • #9799 needs some investigations about the best solution. Requires ac/gv.
  • #10240 is ready to work on pending strings from UX.

With the above fixed I think pull to refresh would be good for nightly.

Adding this issue to GV High Priority list for https://bugzilla.mozilla.org/show_bug.cgi?id=1633322 (and also affects bottom dynamic toolbar)

https://bugzilla.mozilla.org/show_bug.cgi?id=1633322 is merged in AC and looks to have resolve the same underlying issue for the dynamic bottom toolbar. 🥳

Can this not be added as a toggle in Secret Settings?

@opusforlife2 Why do you want a secret setting? There will be an option in the customization settings, see #10240.

Secret settings are for _unfinished_ features. This is at 3/5 related bugs fixed.

The setting won't appear if the feature is not available.
Pull to refresh is not live yet because there are still issues to be resolved.
The plan is to have the setting waiting to show up when pull to refresh will be enabled.

Isn't that what secret settings are for? The first paint feature is behind a toggle, and it still has bugs to be resolved.

It's not the same. There was a need for a setting for the "first paint feature" because user feedback was needed. For the "pull to refresh feature" the issues seems to be well known. If you really like to try it out now you only have to change the feature flag to true in the code and press the green button in Android Studio.

Very nice feature, love it!
Sometimes there is an unintended refresh when I try pinch to zoom, but it is working great so far!

I am trying to build a website with a canvas to draw on. This requires me to prevent the pull-to-refresh. I took a look at this stackoverflow post and tried the following, simultaneously:

  • give the canvas the CSS directive touch-action: none;
  • call preventDefault() on the touchmove event
  • give the canvas and the body the CSS directive overscroll-behavior: contain;

Firefox nightly still performed the pull-to-refresh gesture. On Chrome adding the touch-action: none; directive to the canvas was sufficient to prevent the pull-to-refresh gesture.

* call `preventDefault()` on the touchmove event

Firefox nightly still performed the pull-to-refresh gesture.

As a module owner of DOM Events, I can say this is obviously a bug of Fenix because touchmove must be cancelable event.
https://w3c.github.io/touch-events/#list-of-touchevent-types

I've filed #16574, https://github.com/mozilla-mobile/android-components/issues/9043 and #16576 on the webcompat issues enumerated in the previous comments. @Mugurell, could you please add those to the list?
I've also filed #16577 which is not strictly a webcompat issue but should help reduce accidental triggers.

Was this page helpful?
0 / 5 - 0 ratings