@@ -4,7 +4,7 @@ import * as semver from 'semver';
44import { RUNNING_IN_WORKER } from '../util' ;
55import { lazyObservablePromise } from "../util/observable" ;
66import { getServerVersion , waitUntilServerReady } from "./server-api" ;
7- import { getDesktopInjectedValue } from "./desktop-api" ;
7+ import { DesktopApi , getDesktopInjectedValue } from "./desktop-api" ;
88
99export const UI_VERSION = process . env . UI_VERSION || "Unknown" ;
1010
@@ -88,4 +88,30 @@ export const SERVER_SEND_API_SUPPORTED = '^1.13.0';
8888export const ADVANCED_PATCH_TRANSFORMS = '^1.18.0' ;
8989export const WILDCARD_CLIENT_CERTS = '^1.22.0' ;
9090export const KEY_LOG_FILE_SUPPORTED = '^1.23.0' ;
91- export const WEBHOOK_AND_DELAY_RULES = '^1.23.0' ;
91+ export const WEBHOOK_AND_DELAY_RULES = '^1.23.0' ;
92+
93+ // Report component versions to the desktop app menu, when available:
94+ if ( DesktopApi . setComponentVersions ) {
95+ let desktop : string | undefined ;
96+ let server : string | undefined ;
97+
98+ const buildVersions = ( ) => {
99+ const versions : Record < string , string > = { } ;
100+ if ( desktop ) versions [ "Desktop" ] = desktop ;
101+ if ( server ) versions [ "Server" ] = server ;
102+ versions [ "UI" ] = UI_VERSION ;
103+ return versions ;
104+ } ;
105+
106+ DesktopApi . setComponentVersions ( buildVersions ( ) ) ;
107+
108+ desktopVersion . then ( ( v ) => {
109+ desktop = v ;
110+ DesktopApi . setComponentVersions ! ( buildVersions ( ) ) ;
111+ } ) . catch ( ( ) => { } ) ;
112+
113+ serverVersion . then ( ( v ) => {
114+ server = v ;
115+ DesktopApi . setComponentVersions ! ( buildVersions ( ) ) ;
116+ } ) . catch ( ( ) => { } ) ;
117+ }
0 commit comments