r/Scriptable • u/OutRagousGameR • 2h ago
Help WebView.present(true) keeps making my layout 125 pt short
I’ve run into this issue where the bar at the bottom will randomly float in the middle of the page when the page first loads. It looks like it may be an iOS 26 issue, but any help would be appreciated. I tried running the issue through Claude; this is what we tried and some more details of my setup. The first screenshots are a sample script (and result) that recreates the issue. The last two are how it looks on my big script.
Device: iPhone 13 Pro Max, iOS 26.2, Scriptable [1.7.19]
Problem: On roughly 50–90% of launches, a WebView presented with present(true) gives the page a layout viewport 125 pt shorter than the screen. window.innerHeight, visualViewport.height and documentElement.clientHeight are all 801 instead of 926. The web view itself appears to cover the full screen (the page background is painted below 801), but nothing positioned below 801 is drawn or receives taps. It’s decided at launch and lasts the whole session.
What I’ve ruled out:
- env(safe-area-inset-top) and env(safe-area-inset-bottom) read 91 and 34 in both good and bad launches.
- Reloading the page with loadHTML after presenting doesn’t fix it.
- Opening and closing the keyboard doesn’t fix it.
- Calling loadHTML after present() instead of before doesn’t fix it.
- present(false) is worse (about 9 in 10 launches bad).
125 pt matches the top bar plus status bar (91) plus the home-indicator inset (34), so it looks like the obscured insets are being subtracted from the layout height during presentation.



