Bug 311569

Summary: White brief full-screen flash after cold start, despite dark background_color / early document background
Product: WebKit Reporter: andreisovidiu
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: NEW    
Severity: Normal CC: bfulgham, formularsumo, simon.fraser, thorton, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: Safari 26   
Hardware: iPhone / iPad   
OS: iOS 26   
See Also: https://bugs.webkit.org/show_bug.cgi?id=300249
https://bugs.webkit.org/show_bug.cgi?id=45640

andreisovidiu
Reported 2026-04-06 10:14:18 PDT
When opening an installed PWA on iOS 26 and iOS 17 from a cold start (e.g. after force-quit), there is often a very short full-viewport white flash after the system/launch splash. The visible sequence: 1. Dark - native splash / theme-aligned frame 2. White - one or a few frames 3. Dark - first meaningful web paint (shell or content) The flash is transient but highly noticeable and hurts perceived quality for dark-themed apps. The flash is not perceived if the OS is set to light and not dark but only when the OS is dark and the app dark (when OS is set to light, there is a smooth transition from light to dark theme of the app) - We have tried web-side mitigations verified in production HTML, including: - Manifest background_color / theme_color aligned with the app - Inline background-color on <html> and <body> from the root document - Critical CSS in <head> (html, body { background-color: …; color-scheme: dark }) - Global CSS on html after stylesheet load None of these eliminated the white frame on iOS standalone cold start. Android (installed PWA) does not show a comparable flash with the same deployment.
Attachments
andreisovidiu
Comment 1 2026-04-06 10:20:35 PDT
Expected result: The viewport should remain continuously dark from the launch through first web paint, matching manifest and document background, with no full-screen white frame. Actual result: A brief white full-screen flash appears between splash and first dark web paint on iOS standalone PWA cold start. Android Chrome installed PWA: not reproduced with the same site. Stack (for context only): Next.js 15, React 19, Firebase Auth on client; issue reproduced on production builds, not only dev server. To reproduce add to home screen the following app and cold start multiple times. https://gympulsed.vercel.app/
Alexey Proskuryakov
Comment 2 2026-04-06 13:49:44 PDT
Thank you for the report! Possibly a dupe of the bugs I'm relating, but leaving it to the experts to decide.
andreisovidiu
Comment 3 2026-04-06 23:25:56 PDT
(In reply to Alexey Proskuryakov from comment #2) > Thank you for the report! Possibly a dupe of the bugs I'm relating, but > leaving it to the experts to decide. Thank you Alexey, can you please share the link to your bug report?
andreisovidiu
Comment 4 2026-04-11 10:55:15 PDT
Any update on the bug?
Radar WebKit Bug Importer
Comment 5 2026-04-13 10:15:14 PDT
Note You need to log in before you can comment on or make changes to this bug.