TelegramMessenger / Telegram-iOS

Telegram-iOS
6.25k stars 1.64k forks source link

Mini App Webview not rendering properly #1548

Open badalya1 opened 4 weeks ago

badalya1 commented 4 weeks ago

Checklist

Description

The webview height is not calculated correctly on some devices.

After running window.Telegram.WebApp.expand(); there is a bar in the bottom that covers the webview. The actual visible area looks like it matches the size of the app if its not expanded. After "pinching out" or "zooming out" everything goes away.

Expected Behavior

The inital load of the app should calculate the webview sizes correctly. It should display the whole all.

Actual Behavior

On initial load, only part of the webview is visible. (although all content under it is interactive, buttons work, input forms work). The bug is present even when not using .expand(), after expanding manually.

Steps to Reproduce

  1. Create a webapp with 100vh (or equivalent)
  2. Set the background color to something visible
  3. Open the app through menu button(don't touch anything else)
  4. Observe

Screenshots and Videos

Here are 2 examples on Iphone 11 Pro Max

https://github.com/user-attachments/assets/74e8beb7-a440-4e50-866b-35256cacbc94

https://github.com/user-attachments/assets/3d569933-b8e3-447e-bd41-c780d9b849be

And here are 2 working examples on Iphone 15 pro max

https://github.com/user-attachments/assets/62a1c502-7986-4018-b545-51195992d643

https://github.com/user-attachments/assets/81d2c6e0-e344-4b86-9164-85d6e731badc

Environment

Device: IPhone 11 Pro Max

Workd well on IPhone 15 Pro Max

iOS version: 17.2.1

App version: 11.1 (29584)

badalya1 commented 2 weeks ago

Same issue here

No idea yet

an-parubets commented 22 hours ago

I had the same problem on iPhone X. I found solution for my application.

html {
    position: fixed;
    height: auto !important;
}