Unfortunately, there’s no good way to force the native “pull-to-refresh” spinner on mobile browsers when your entire app is rendered as a single canvas (the way Flutter Web does). The browser can only trigger its built-in pull-to-refresh UI if it detects a “page-level” scroll, whereas Flutter intercepts all touch events inside the canvas.
The bottom line is that because Flutter Web handles rendering and scrolling internally, it is not possible to trigger the browser’s native pull-to-refresh spinner. You either need to:
Allow the page itself to scroll at least partially outside Flutter (which is often not desirable), or Implement a custom pull-to-refresh widget in Flutter (which does not show the browser’s spinner, but can still give users a “drag to refresh” gesture).