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() {
|
||||
return super.connect(MOBILE_PORT, MOBILE_ENDPOINT, () => {
|
||||
return super.connect({
|
||||
host: MOBILE_ENDPOINT,
|
||||
port: MOBILE_PORT,
|
||||
}, () => {
|
||||
this.emit('open')
|
||||
})
|
||||
}
|
||||
@@ -38,6 +41,6 @@ export class MobileSocket extends Socket {
|
||||
}
|
||||
|
||||
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
|
||||
const ws = new MobileSocket(config)
|
||||
ws.setMaxListeners(0)
|
||||
ws.setMaxListeners?.(0)
|
||||
|
||||
// if not mobile or already registered -> auto connect
|
||||
if(!config.mobile || config.auth.creds.registered) {
|
||||
@@ -188,6 +188,9 @@ export const makeSocket = (config: SocketConfig) => {
|
||||
let helloMsg: proto.IHandshakeMessage = {
|
||||
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)
|
||||
|
||||
logger.info({ browser, helloMsg }, 'connected to WA')
|
||||
@@ -627,7 +630,7 @@ function mapWebSocketError(handler: (err: Error) => void) {
|
||||
return (error: Error) => {
|
||||
handler(
|
||||
new Boom(
|
||||
`WebSocket Error (${error.message})`,
|
||||
`WebSocket Error (${error?.message})`,
|
||||
{ statusCode: getCodeFromWSError(error), data: error }
|
||||
)
|
||||
)
|
||||
|
||||
@@ -355,13 +355,13 @@ const UNEXPECTED_SERVER_CODE_TEXT = 'Unexpected server response: '
|
||||
|
||||
export const getCodeFromWSError = (error: Error) => {
|
||||
let statusCode = 500
|
||||
if(error.message.includes(UNEXPECTED_SERVER_CODE_TEXT)) {
|
||||
const code = +error.message.slice(UNEXPECTED_SERVER_CODE_TEXT.length)
|
||||
if(error?.message?.includes(UNEXPECTED_SERVER_CODE_TEXT)) {
|
||||
const code = +error?.message.slice(UNEXPECTED_SERVER_CODE_TEXT.length)
|
||||
if(!Number.isNaN(code) && code >= 400) {
|
||||
statusCode = code
|
||||
}
|
||||
} else if(
|
||||
(error as any).code?.startsWith('E')
|
||||
(error as any)?.code?.startsWith('E')
|
||||
|| error?.message?.includes('timed out')
|
||||
) { // handle ETIMEOUT, ENOTFOUND etc
|
||||
statusCode = 408
|
||||
|
||||
@@ -88,17 +88,10 @@ export const generateRegistrationNode = (
|
||||
const appVersionBuf = createHash('md5')
|
||||
.update(config.version.join('.')) // join as string
|
||||
.digest()
|
||||
const browserVersion = config.browser[2].split('.')
|
||||
|
||||
const companion: proto.IDeviceProps = {
|
||||
os: config.browser[0],
|
||||
version: {
|
||||
primary: +(browserVersion[0] || 0),
|
||||
secondary: +(browserVersion[1] || 1),
|
||||
tertiary: +(browserVersion[2] || 0),
|
||||
},
|
||||
platformType: proto.DeviceProps.PlatformType[config.browser[1].toUpperCase()]
|
||||
|| proto.DeviceProps.PlatformType.UNKNOWN,
|
||||
platformType: proto.DeviceProps.PlatformType.DESKTOP,
|
||||
requireFullSync: config.syncFullHistory,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user