export async function joinBrowserClientHostCommands( handlers: Promise[], timeoutMs: number ): Promise { if (handlers.length === 0) { return true } let timeout: ReturnType | undefined try { return await Promise.race([ Promise.allSettled(handlers).then(() => true), new Promise((resolve) => { timeout = setTimeout(() => resolve(false), timeoutMs) }) ]) } finally { if (timeout) { clearTimeout(timeout) } } }