From b7713673b2f966140e92a4a0b86c5b740eda3172 Mon Sep 17 00:00:00 2001 From: Adhiraj Singh Date: Mon, 21 Mar 2022 23:31:07 +0530 Subject: [PATCH] chore: match reg data --- src/Utils/validate-connection.ts | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/Utils/validate-connection.ts b/src/Utils/validate-connection.ts index b00bd26..4a6d792 100644 --- a/src/Utils/validate-connection.ts +++ b/src/Utils/validate-connection.ts @@ -7,33 +7,37 @@ import { Curve, hmacSign } from './crypto' import { encodeInt } from './generics' import { createSignalIdentity } from './signal' -const getUserAgent = ({ version, browser }: Pick) => ({ +const getUserAgent = ({ version }: Pick): proto.IUserAgent => ({ appVersion: { primary: version[0], secondary: version[1], tertiary: version[2], }, - platform: 14, - releaseChannel: 0, + platform: proto.UserAgent.UserAgentPlatform.WEB, + releaseChannel: proto.UserAgent.UserAgentReleaseChannel.RELEASE, mcc: '000', mnc: '000', - osVersion: browser[2], + osVersion: '0.1', manufacturer: '', - device: browser[1], + device: 'Desktop', osBuildNumber: '0.1.0', localeLanguageIso6391: 'en', localeCountryIso31661Alpha2: 'en', }) +const getWebInfo = (): proto.IWebInfo => ({ + webSubPlatform: proto.WebInfo.WebInfoWebSubPlatform.WEB_BROWSER +}) + export const generateLoginNode = (userJid: string, config: Pick) => { const { user, device } = jidDecode(userJid) - const payload = { + const payload: proto.IClientPayload = { passive: true, - connectType: 1, - connectReason: 1, + connectType: proto.ClientPayload.ClientPayloadConnectType.WIFI_UNKNOWN, + connectReason: proto.ClientPayload.ClientPayloadConnectReason.USER_ACTIVATED, userAgent: getUserAgent(config), - webInfo: { webSubPlatform: 0 }, - username: parseInt(user, 10), + webInfo: getWebInfo(), + username: +user, device: device, } return proto.ClientPayload.encode(payload).finish() @@ -78,9 +82,7 @@ export const generateRegistrationNode = ( eSkeySig: signedPreKey.signature, }, userAgent: getUserAgent(config), - webInfo: { - webSubPlatform: proto.WebInfo.WebInfoWebSubPlatform.WEB_BROWSER, - }, + webInfo: getWebInfo(), } return proto.ClientPayload.encode(registerPayload).finish()