Skip to content

Replace top-level await with then() in browser.js#2053

Merged
samhed merged 3 commits into
novnc:masterfrom
zk-wz:master
May 23, 2026
Merged

Replace top-level await with then() in browser.js#2053
samhed merged 3 commits into
novnc:masterfrom
zk-wz:master

Conversation

@zk-wz
Copy link
Copy Markdown
Contributor

@zk-wz zk-wz commented May 18, 2026

On certain Android Chromium browsers, Decoder.flush() may hang indefinitely. As a result, the associated promise remains in a pending state, preventing the page from loading because the top‑level await blocks module evaluation.

@samhed samhed linked an issue May 22, 2026 that may be closed by this pull request
Copy link
Copy Markdown
Member

@samhed samhed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! This fixes #2034 for me. But since this is quite a strange change, we should mention the reason in a FIXME comment in the code. It does look like a Chromium bug after all.

@samhed samhed merged commit 7834e66 into novnc:master May 23, 2026
10 of 11 checks passed
@samhed samhed added this to the v1.8.0 milestone May 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Endless loading screen on Android 16 with Chromium browsers

2 participants