diff --git a/web/grpc/interceptor.js b/web/grpc/interceptor.js index 0469458e5..3757c6a1a 100644 --- a/web/grpc/interceptor.js +++ b/web/grpc/interceptor.js @@ -1,58 +1,68 @@ // @flow import * as grpcWeb from 'grpc-web'; import type { PlatformDetails } from 'lib/types/device-types.js'; class VersionInterceptor { platformDetails: PlatformDetails; constructor(platformDetails: PlatformDetails) { this.platformDetails = platformDetails; } intercept( request: grpcWeb.Request, invoker: ( request: grpcWeb.Request, ) => Promise>, ): Promise> { const metadata = request.getMetadata(); - const codeVersion = this.platformDetails.codeVersion; - const deviceType = this.platformDetails.platform; + const { + codeVersion, + stateVersion, + majorDesktopVersion, + platform: deviceType, + } = this.platformDetails; if (codeVersion) { metadata['code_version'] = codeVersion.toString(); } + if (stateVersion) { + metadata['state_version'] = stateVersion.toString(); + } + if (majorDesktopVersion) { + metadata['major_desktop_version'] = majorDesktopVersion.toString(); + } metadata['device_type'] = deviceType; return invoker(request); } } class AuthInterceptor { userID: string; deviceID: string; accessToken: string; constructor(userID: string, deviceID: string, accessToken: string) { this.userID = userID; this.deviceID = deviceID; this.accessToken = accessToken; } intercept( request: grpcWeb.Request, invoker: ( request: grpcWeb.Request, ) => Promise>, ): Promise> { const metadata = request.getMetadata(); metadata['user_id'] = this.userID; metadata['device_id'] = this.deviceID; metadata['access_token'] = this.accessToken; return invoker(request); } } export { VersionInterceptor, AuthInterceptor };