diff --git a/src/client/websocket/WebSocketShard.js b/src/client/websocket/WebSocketShard.js index 9663052c6..f77635b0f 100644 --- a/src/client/websocket/WebSocketShard.js +++ b/src/client/websocket/WebSocketShard.js @@ -2,19 +2,24 @@ const EventEmitter = require('events'); const WebSocket = require('../../WebSocket'); -const { Status, Events, ShardEvents, OPCodes, WSEvents } = require('../../util/Constants'); +const { browser, Status, Events, ShardEvents, OPCodes, WSEvents } = require('../../util/Constants'); let zstd; let zlib; -try { - zstd = require('zucc'); -} catch (e) { +if (browser) { + zlib = require('pako'); +} else { try { - zlib = require('zlib-sync'); - if (!zlib.Inflate) zlib = require('pako'); - } catch (err) { - zlib = require('pako'); + zstd = require('zucc'); + if (!zstd.DecompressStream) zstd = null; + } catch (e) { + try { + zlib = require('zlib-sync'); + if (!zlib.Inflate) zlib = require('pako'); + } catch (err) { + zlib = require('pako'); + } } }