[Bug] Code App iframe uses `100vh` which includes Android nav bar, causing bottom content to be hidden
@madhumach ci sta già lavorando.
Dal 7/7/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Summary
The Power Platform shell sets .player-shell-content { height: calc(100vh) }, which
sizes the iframe to the layout viewport height. On Android Chrome, 100vh includes
the persistent bottom navigation bar (~71px), which physically overlays the WebView.
The iframe is genuinely that tall, but the bottom portion is hidden behind the nav bar
with no way for code inside the iframe to detect it.
Environment
- Device: Android 10, Chrome 148
- screen.height: 780px
- window.outerHeight: 780px
- window.innerHeight: 747px (= 100vh, includes nav bar overlay)
- visualViewport.height: 747px (also reports layout viewport)
- Actual visible height: ~676px (747 − ~71px nav bar)
- devicePixelRatio: 3
Root Cause
.player-shell-content {
height: calc(100vh); /* ← layout viewport, includes Android bottom nav bar */
...
}
On Android Chrome, 100vh = layout viewport = includes the bottom navigation bar.
The browser draws the nav bar on top of the WebView without reducing innerHeight
or visualViewport.height. No JS API inside the iframe reports the true visible height.
The chain:
.player-shell-content { height: 100vh } → 747px
<iframe height="100%"> → 747px (genuinely 747px tall) window.innerHeight → 747px (correct for the iframe) visualViewport.height → 747px (Chrome only adjusts for keyboard) Actual visible area → ~676px (71px hidden behind nav bar)Proposed Fix
Change the shell CSS to use dvh (dynamic viewport height), which is specifically
designed to exclude persistent browser chrome:
.player-shell-content {
height: 100dvh; /* excludes Android nav bar, iOS home indicator, etc. */
}
Workaround (for app developers until fixed)
Developers must hardcode per-device bottom offsets as CSS custom properties seeded
by user-agent heuristics. This is brittle and requires manual updates per device/OS.
- Lingua principale
- TypeScript
- Stelle
- 504
- Fork
- 145
- Merge medio
- 4h 3m
- PR unite (30g)
- 1
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/PowerAppsCodeApps
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
microsoft/PowerAppsCodeApps#465 ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
microsoft/PowerAppsCodeApps#463 ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
microsoft/PowerAppsCodeApps#462 ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
microsoft/PowerAppsCodeApps#461 ·
-
bug
Difficoltà 5/5 Più di una settimana Idoneità per principianti 28/100
microsoft/PowerAppsCodeApps#460 · 2 commenti ·
Tutte le issue di microsoft/PowerAppsCodeApps
Issue simili
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Mend: dependency security vulnerability untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100