mirror of
https://github.com/cheveguerra/whatsapp-web.js.git
synced 2026-04-21 04:59:14 +00:00
fix: emit disconnected event on page navigation
This also addresses an issue due to a change in behavior from WhatsApp Web when the session is logged out from the device.
This commit is contained in:
@@ -259,6 +259,10 @@ client.on('change_battery', (batteryInfo) => {
|
|||||||
console.log(`Battery: ${battery}% - Charging? ${plugged}`);
|
console.log(`Battery: ${battery}% - Charging? ${plugged}`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
client.on('change_state', state => {
|
||||||
|
console.log('CHANGE STATE', state );
|
||||||
|
});
|
||||||
|
|
||||||
client.on('disconnected', (reason) => {
|
client.on('disconnected', (reason) => {
|
||||||
console.log('Client was logged out', reason);
|
console.log('Client was logged out', reason);
|
||||||
});
|
});
|
||||||
|
|||||||
4
index.d.ts
vendored
4
index.d.ts
vendored
@@ -149,8 +149,8 @@ declare namespace WAWebJS {
|
|||||||
|
|
||||||
/** Emitted when the client has been disconnected */
|
/** Emitted when the client has been disconnected */
|
||||||
on(event: 'disconnected', listener: (
|
on(event: 'disconnected', listener: (
|
||||||
/** state that caused the disconnect */
|
/** reason that caused the disconnect */
|
||||||
reason: WAState
|
reason: WAState | "NAVIGATED"
|
||||||
) => void): this
|
) => void): this
|
||||||
|
|
||||||
/** Emitted when a user joins the chat via invite link or is added by an admin */
|
/** Emitted when a user joins the chat via invite link or is added by an admin */
|
||||||
|
|||||||
@@ -335,7 +335,7 @@ class Client extends EventEmitter {
|
|||||||
/**
|
/**
|
||||||
* Emitted when the client has been disconnected
|
* Emitted when the client has been disconnected
|
||||||
* @event Client#disconnected
|
* @event Client#disconnected
|
||||||
* @param {WAState} reason state that caused the disconnect
|
* @param {WAState|"NAVIGATION"} reason reason that caused the disconnect
|
||||||
*/
|
*/
|
||||||
this.emit(Events.DISCONNECTED, state);
|
this.emit(Events.DISCONNECTED, state);
|
||||||
this.destroy();
|
this.destroy();
|
||||||
@@ -373,6 +373,13 @@ class Client extends EventEmitter {
|
|||||||
* @event Client#ready
|
* @event Client#ready
|
||||||
*/
|
*/
|
||||||
this.emit(Events.READY);
|
this.emit(Events.READY);
|
||||||
|
|
||||||
|
// Disconnect when navigating away
|
||||||
|
// Because WhatsApp Web now reloads when logging out from the device, this also covers that case
|
||||||
|
this.pupPage.on('framenavigated', async () => {
|
||||||
|
this.emit(Events.DISCONNECTED, 'NAVIGATION');
|
||||||
|
await this.destroy();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user