From 7e0e457334e42436e019c8cbf9e602aedab5e850 Mon Sep 17 00:00:00 2001 From: Lewdcario Date: Wed, 24 Jan 2018 15:09:40 -0600 Subject: [PATCH] fix(ClientUser#setStatus): resetting activity The method would pass in null if no activity was passed, so this takes the current client presence instead of deleting it. --- src/stores/ClientPresenceStore.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/stores/ClientPresenceStore.js b/src/stores/ClientPresenceStore.js index a6eedb7ce..5d6914d12 100644 --- a/src/stores/ClientPresenceStore.js +++ b/src/stores/ClientPresenceStore.js @@ -38,7 +38,7 @@ class ClientPresenceStore extends PresenceStore { since: since != null ? since : null, // eslint-disable-line eqeqeq status: status || this.clientPresence.status, game: activity ? { - type: typeof activity.type === 'number' ? activity.type : ActivityTypes.indexOf(activity.type), + type: activity.type, name: activity.name, url: activity.url, details: activity.details || undefined, @@ -54,9 +54,14 @@ class ClientPresenceStore extends PresenceStore { application_id: applicationID || undefined, secrets: activity.secrets || undefined, instance: activity.instance || undefined, - } : null, + } : this.clientPresence.activity, }; + if (packet.game) { + packet.game.type = typeof packet.game.type === 'number' ? + packet.game.type : ActivityTypes.indexOf(packet.game.type) + } + this.clientPresence.patch(packet); this.client.ws.send({ op: OPCodes.STATUS_UPDATE, d: packet }); return this.clientPresence;