From 1274d1af664ccd8ee1f378162552e1157ba678ae Mon Sep 17 00:00:00 2001 From: Paul Adenot Date: Thu, 6 Aug 2026 16:04:55 +0200 Subject: [PATCH 1/2] Run install() downloads in parallel instead of blocking the main thread. Step 6 queued a task on the relevant global object's task queue that then waited for the language pack downloads to complete, which stalls script on the main thread. Move the download initiation and the wait into an [=in parallel=] block, and queue a task only to resolve the promise. Fixes #199 --- index.bs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/index.bs b/index.bs index 5d3b1a2..cdda7a4 100644 --- a/index.bs +++ b/index.bs @@ -423,12 +423,14 @@ See Note: The false resolution of the Promise does not indicate the specific cause of failure. User agents are encouraged to provide more detailed information about the failure in developer tools console messages. However, this detailed error information is not exposed to the script.

From c377cb730555e906aebcb210172796840ced08ab Mon Sep 17 00:00:00 2001 From: Paul Adenot Date: Thu, 6 Aug 2026 16:05:55 +0200 Subject: [PATCH 2/2] Resolve install() with false for an empty langs sequence. The prose already states the promise resolves to false if options.langs is empty, but no step implemented it: an empty sequence vacuously passes the unsupported-language check and then trivially succeeds with no downloads, resolving to true. Add an explicit step, matching how the availability algorithm treats an empty sequence as unavailable. --- index.bs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.bs b/index.bs index cdda7a4..fb37066 100644 --- a/index.bs +++ b/index.bs @@ -422,7 +422,8 @@ See