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'; 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); }); } 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 ( - + + + ); };