You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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).
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:
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.
Reload the page using pull to reload gesture
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)
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:
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