Skip to content

Browser issue: Scroll Up Gesture Triggers Page Reload #12

@vadim-kor

Description

@vadim-kor

Inside TonKeeper’s built-in browser, scrolling upward (from the middle or the bottom of the page) often triggers an unintended page reload / pull-to-refresh gesture, or completely blocks upward scrolling.

This makes normal vertical navigation inside the DApp impossible in some layouts (especially when using fixed/sticky headers/footers and inner scroll containers).

I have prepared a demo page, and video demonstration.
Please find them in this repo:
https://github.com/vadim-kor/tonkeeper-browser-issue-android

Steps to reproduce:

  1. Open in TonKeeper’s built-in browser:
    https://vadim-kor.github.io/tonkeeper-browser-issue-android/

    Scroll down. Try to scroll up.
    Initially it may work fine.

  2. Reload the page using pull to reload gesture

  3. Scroll to the end or to the middle of the list.
    (It may work fine in the beginning of the list, so need to scroll to the middle or to the end)

  4. Try to scroll up - instead of scrolling it starts reloading.

Expected behavior

Upward scrolling inside inner containers should behave normally, without triggering a system-level pull-to-refresh gesture.

HTML Structure

The page consists of 3 main flexbox elements:

  • header
  • scrollable content, with visible height about 90% of screen
  • footer
    All 3 elements fit within screen height (no body scrolling).
    No javascript code is used;

It looks like the browser doesnt recognize the scroll within containers other than 'body'.

The following CSS properties seem to be not supported:
overscroll-behavior: none
-webkit-overflow-scrolling

These properties are used to disable the default pull-to-reload behavior, since some apps implement their own custom refresh mechanics.

The issue does not occur in Safari / Chrome / internal Telegram browser.

Test environment

Android 15, 13.

Video

demo-video.mp4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions