From ba0c8c45fc3a57471a8974189808382e8cafac8d Mon Sep 17 00:00:00 2001 From: abalabahaha Date: Sun, 25 Sep 2016 08:30:08 +0900 Subject: [PATCH] Fix potentially long websocket messages --- lib/Client/InternalClient.js | 8 ++++---- src/Client/InternalClient.js | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/Client/InternalClient.js b/lib/Client/InternalClient.js index a88148e9c..2cc959fd1 100644 --- a/lib/Client/InternalClient.js +++ b/lib/Client/InternalClient.js @@ -471,8 +471,8 @@ var InternalClient = (function () { InternalClient.prototype.getGuildMembers = function getGuildMembers(serverID, chunkCount) { this.forceFetchCount[serverID] = chunkCount; - if (this.forceFetchLength + 3 + serverID.length > 4082) { - // 4096 - '{"op":8,"d":[]}'.length + 1 for lazy comma offset + if (this.forceFetchLength + 3 + serverID.length > 4000) { + // 4096 max, '{"op":8,"d":{"guild_id":[],"query":"","limit":0}}'.length = 49 plus some leeway this.requestGuildMembers(this.forceFetchQueue); this.forceFetchQueue = [serverID]; this.forceFetchLength = 1 + serverID.length + 3; @@ -493,8 +493,8 @@ var InternalClient = (function () { }; InternalClient.prototype.syncGuild = function syncGuild(guildID) { - if (this.guildSyncQueueLength + 3 + guildID.length > 4081) { - // 4096 - "{\"op\":12,\"d\":[]}".length + 1 for lazy comma offset + if (this.guildSyncQueueLength + 3 + guildID.length > 4050) { + // 4096 max, '{"op":12,"d":[]}'.length = 16 plus some leeway this.sendWS({ op: 12, d: this.guildSyncQueue }); this.guildSyncQueue = [guildID]; this.guildSyncQueueLength = 1 + guildID.length + 3; diff --git a/src/Client/InternalClient.js b/src/Client/InternalClient.js index 8c762a760..f4ae12bbe 100755 --- a/src/Client/InternalClient.js +++ b/src/Client/InternalClient.js @@ -373,7 +373,7 @@ export default class InternalClient { getGuildMembers(serverID, chunkCount) { this.forceFetchCount[serverID] = chunkCount; - if (this.forceFetchLength + 3 + serverID.length > 4082) { // 4096 - '{"op":8,"d":[]}'.length + 1 for lazy comma offset + if (this.forceFetchLength + 3 + serverID.length > 4000) { // 4096 max, '{"op":8,"d":{"guild_id":[],"query":"","limit":0}}'.length = 49 plus some leeway this.requestGuildMembers(this.forceFetchQueue); this.forceFetchQueue = [serverID]; this.forceFetchLength = 1 + serverID.length + 3; @@ -394,7 +394,7 @@ export default class InternalClient { } syncGuild(guildID) { - if(this.guildSyncQueueLength + 3 + guildID.length > 4081) { // 4096 - "{\"op\":12,\"d\":[]}".length + 1 for lazy comma offset + if(this.guildSyncQueueLength + 3 + guildID.length > 4050) { // 4096 max, '{"op":12,"d":[]}'.length = 16 plus some leeway this.sendWS({op: 12, d: this.guildSyncQueue}); this.guildSyncQueue = [guildID]; this.guildSyncQueueLength = 1 + guildID.length + 3;