mirror of
https://github.com/FranP-code/Baileys.git
synced 2025-10-13 00:32:22 +00:00
fix: socket options
This commit is contained in:
@@ -12,7 +12,10 @@ export class MobileSocket extends Socket {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override connect() {
|
override connect() {
|
||||||
return super.connect(MOBILE_PORT, MOBILE_ENDPOINT, () => {
|
return super.connect({
|
||||||
|
host: MOBILE_ENDPOINT,
|
||||||
|
port: MOBILE_PORT,
|
||||||
|
}, () => {
|
||||||
this.emit('open')
|
this.emit('open')
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -38,6 +41,6 @@ export class MobileSocket extends Socket {
|
|||||||
}
|
}
|
||||||
|
|
||||||
send(data: unknown, cb?: ((err?: Error | undefined) => void) | undefined) {
|
send(data: unknown, cb?: ((err?: Error | undefined) => void) | undefined) {
|
||||||
return super.write(data as Uint8Array | string, cb as ((err?: Error | undefined) => void))
|
return super.write(data as Uint8Array | string, undefined, cb as ((err?: Error | undefined) => void))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -32,7 +32,7 @@ export const makeSocket = (config: SocketConfig) => {
|
|||||||
|
|
||||||
config.mobile = config.mobile || config.auth.creds.registered
|
config.mobile = config.mobile || config.auth.creds.registered
|
||||||
const ws = new MobileSocket(config)
|
const ws = new MobileSocket(config)
|
||||||
ws.setMaxListeners(0)
|
ws.setMaxListeners?.(0)
|
||||||
|
|
||||||
// if not mobile or already registered -> auto connect
|
// if not mobile or already registered -> auto connect
|
||||||
if(!config.mobile || config.auth.creds.registered) {
|
if(!config.mobile || config.auth.creds.registered) {
|
||||||
@@ -188,6 +188,9 @@ export const makeSocket = (config: SocketConfig) => {
|
|||||||
let helloMsg: proto.IHandshakeMessage = {
|
let helloMsg: proto.IHandshakeMessage = {
|
||||||
clientHello: { ephemeral: ephemeralKeyPair.public }
|
clientHello: { ephemeral: ephemeralKeyPair.public }
|
||||||
}
|
}
|
||||||
|
console.log(helloMsg)
|
||||||
|
console.log(Buffer.from(ephemeralKeyPair.public).toString('base64'))
|
||||||
|
console.log(ephemeralKeyPair.public.length)
|
||||||
helloMsg = proto.HandshakeMessage.fromObject(helloMsg)
|
helloMsg = proto.HandshakeMessage.fromObject(helloMsg)
|
||||||
|
|
||||||
logger.info({ browser, helloMsg }, 'connected to WA')
|
logger.info({ browser, helloMsg }, 'connected to WA')
|
||||||
@@ -627,7 +630,7 @@ function mapWebSocketError(handler: (err: Error) => void) {
|
|||||||
return (error: Error) => {
|
return (error: Error) => {
|
||||||
handler(
|
handler(
|
||||||
new Boom(
|
new Boom(
|
||||||
`WebSocket Error (${error.message})`,
|
`WebSocket Error (${error?.message})`,
|
||||||
{ statusCode: getCodeFromWSError(error), data: error }
|
{ statusCode: getCodeFromWSError(error), data: error }
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -355,13 +355,13 @@ const UNEXPECTED_SERVER_CODE_TEXT = 'Unexpected server response: '
|
|||||||
|
|
||||||
export const getCodeFromWSError = (error: Error) => {
|
export const getCodeFromWSError = (error: Error) => {
|
||||||
let statusCode = 500
|
let statusCode = 500
|
||||||
if(error.message.includes(UNEXPECTED_SERVER_CODE_TEXT)) {
|
if(error?.message?.includes(UNEXPECTED_SERVER_CODE_TEXT)) {
|
||||||
const code = +error.message.slice(UNEXPECTED_SERVER_CODE_TEXT.length)
|
const code = +error?.message.slice(UNEXPECTED_SERVER_CODE_TEXT.length)
|
||||||
if(!Number.isNaN(code) && code >= 400) {
|
if(!Number.isNaN(code) && code >= 400) {
|
||||||
statusCode = code
|
statusCode = code
|
||||||
}
|
}
|
||||||
} else if(
|
} else if(
|
||||||
(error as any).code?.startsWith('E')
|
(error as any)?.code?.startsWith('E')
|
||||||
|| error?.message?.includes('timed out')
|
|| error?.message?.includes('timed out')
|
||||||
) { // handle ETIMEOUT, ENOTFOUND etc
|
) { // handle ETIMEOUT, ENOTFOUND etc
|
||||||
statusCode = 408
|
statusCode = 408
|
||||||
|
|||||||
@@ -88,17 +88,10 @@ export const generateRegistrationNode = (
|
|||||||
const appVersionBuf = createHash('md5')
|
const appVersionBuf = createHash('md5')
|
||||||
.update(config.version.join('.')) // join as string
|
.update(config.version.join('.')) // join as string
|
||||||
.digest()
|
.digest()
|
||||||
const browserVersion = config.browser[2].split('.')
|
|
||||||
|
|
||||||
const companion: proto.IDeviceProps = {
|
const companion: proto.IDeviceProps = {
|
||||||
os: config.browser[0],
|
os: config.browser[0],
|
||||||
version: {
|
platformType: proto.DeviceProps.PlatformType.DESKTOP,
|
||||||
primary: +(browserVersion[0] || 0),
|
|
||||||
secondary: +(browserVersion[1] || 1),
|
|
||||||
tertiary: +(browserVersion[2] || 0),
|
|
||||||
},
|
|
||||||
platformType: proto.DeviceProps.PlatformType[config.browser[1].toUpperCase()]
|
|
||||||
|| proto.DeviceProps.PlatformType.UNKNOWN,
|
|
||||||
requireFullSync: config.syncFullHistory,
|
requireFullSync: config.syncFullHistory,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user