From 66fc99e602253256ce9a5cd531ac02cf5309c64b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Cie=C5=9Blak?= Date: Thu, 13 Jul 2023 10:45:07 +0200 Subject: [PATCH 1/3] resolveNetworkAddress: Listen for `close` instead of `exit` --- .../src/mainProcess/resolveNetworkAddress.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/web/packages/teleterm/src/mainProcess/resolveNetworkAddress.ts b/web/packages/teleterm/src/mainProcess/resolveNetworkAddress.ts index db4c806fd7972..7c5cc03c576bb 100644 --- a/web/packages/teleterm/src/mainProcess/resolveNetworkAddress.ts +++ b/web/packages/teleterm/src/mainProcess/resolveNetworkAddress.ts @@ -79,7 +79,7 @@ function waitForMatchInStdout( const removeListeners = () => { process.stdout.off('data', findAddressInChunk); process.off('error', rejectOnError); - process.off('exit', rejectOnExit); + process.off('close', rejectOnClose); clearTimeout(timeout); }; @@ -97,14 +97,14 @@ function waitForMatchInStdout( removeListeners(); }; - const rejectOnExit = (code: number, signal: NodeJS.Signals) => { + const rejectOnClose = (code: number, signal: NodeJS.Signals) => { const codeOrSignal = [ // code can be 0, so we cannot just check it the same way as the signal. code != null && `code ${code}`, signal && `signal ${signal}`, ] .filter(Boolean) - .join(' and '); + .join(' '); const details = codeOrSignal ? ` with ${codeOrSignal}` : ''; rejectOnError( new ResolveError( @@ -117,7 +117,11 @@ function waitForMatchInStdout( process.stdout.on('data', findAddressInChunk); process.on('error', rejectOnError); - process.on('exit', rejectOnExit); + // Listen for close instead of exit. This doesn't make much difference in prod usage, but it's + // meaningful in tests. testProcess.mjs exits soon after printing to stdout, so we have to make + // sure that stdio streams are closed to avoid process.on('exit') being processed before + // stdout.on('data'). + process.on('close', rejectOnClose); }); } From 14299212e94bb2d8f5830f311b8511b220a15994 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Cie=C5=9Blak?= Date: Thu, 13 Jul 2023 11:16:37 +0200 Subject: [PATCH 2/3] Fix defaultProps of Card --- web/packages/design/src/Card/Card.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/packages/design/src/Card/Card.jsx b/web/packages/design/src/Card/Card.jsx index 95dc3f2224a94..f991499de6a62 100644 --- a/web/packages/design/src/Card/Card.jsx +++ b/web/packages/design/src/Card/Card.jsx @@ -26,7 +26,7 @@ const Card = styled(Box)` `; Card.defaultProps = { - theme: { darkTheme }, + theme: darkTheme, }; Card.displayName = 'Card'; From 49d5745a1ab66c83f77e16ba6e8a24f48f59b596 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Cie=C5=9Blak?= Date: Thu, 13 Jul 2023 11:16:50 +0200 Subject: [PATCH 3/3] Add theme to FailedApp --- web/packages/teleterm/src/ui/App.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/web/packages/teleterm/src/ui/App.tsx b/web/packages/teleterm/src/ui/App.tsx index c96f35c28f72c..25889987f293a 100644 --- a/web/packages/teleterm/src/ui/App.tsx +++ b/web/packages/teleterm/src/ui/App.tsx @@ -26,7 +26,8 @@ import { AppInitializer } from 'teleterm/ui/AppInitializer'; import CatchError from './components/CatchError'; import AppContextProvider from './appContextProvider'; import AppContext from './appContext'; -import { ThemeProvider } from './ThemeProvider'; +import { StaticThemeProvider, ThemeProvider } from './ThemeProvider'; +import { darkTheme } from './ThemeProvider/theme'; export const App: React.FC<{ ctx: AppContext }> = ({ ctx }) => { return ( @@ -47,7 +48,9 @@ export const App: React.FC<{ ctx: AppContext }> = ({ ctx }) => { export const FailedApp = (props: { message: string }) => { return ( - + + + ); };