From 72380895e0dcf16913f0af40f28926cde0abcfb2 Mon Sep 17 00:00:00 2001 From: lazerg Date: Sat, 31 Oct 2026 11:01:09 +0500 Subject: [PATCH] Clear Fantom's Metro shutdown timer once the server closes --- .../runner/global-setup/globalTeardown.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/private/react-native-fantom/runner/global-setup/globalTeardown.js b/private/react-native-fantom/runner/global-setup/globalTeardown.js index cea77bda3fb9..45855696d66b 100644 --- a/private/react-native-fantom/runner/global-setup/globalTeardown.js +++ b/private/react-native-fantom/runner/global-setup/globalTeardown.js @@ -55,8 +55,9 @@ async function stopMetroServer(metroServer: MetroServer): Promise { metroServer.closeIdleConnections(); } + let timeoutId; const timeout = new Promise(resolve => { - setTimeout(() => { + timeoutId = setTimeout(() => { // $FlowFixMe[method-unbinding] Node 18.2+ API if (typeof metroServer.closeAllConnections === 'function') { /* $FlowFixMe[incompatible-type] Error exposed after fixing this typing @@ -67,5 +68,9 @@ async function stopMetroServer(metroServer: MetroServer): Promise { }, SHUTDOWN_TIMEOUT_MS); }); - await Promise.race([closed, timeout]); + try { + await Promise.race([closed, timeout]); + } finally { + clearTimeout(timeoutId); + } }