diff --git a/package-lock.json b/package-lock.json index 52cb933d..e03458fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -836,6 +836,35 @@ "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" }, + "compressible": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", + "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", + "requires": { + "mime-db": ">= 1.34.0 < 2" + } + }, + "compression": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", + "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.14", + "debug": "2.6.9", + "on-headers": "~1.0.1", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -3304,6 +3333,11 @@ "version": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" }, + "mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==" + }, "mimic-response": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz", diff --git a/package.json b/package.json index fee5ebdc..52bd36ce 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "bcrypt-nodejs": "0.0.3", "body-parser": "^1.17.1", "color-thief-jimp": "^2.0.2", + "compression": "^1.7.3", "cookie-parser": "^1.4.3", "cors": "^2.8.4", "express": "^4.16.3", diff --git a/server/apps/client.js b/server/apps/client.js index 55fd0f88..ac16996f 100755 --- a/server/apps/client.js +++ b/server/apps/client.js @@ -18,6 +18,7 @@ try { var add = ""; var express = require('express'); var app = express(); +var compression = require('compression'); var exphbs = require('express-handlebars'); var cors = require('cors'); @@ -27,7 +28,17 @@ var hbs = exphbs.create({ partialsDir: publicPath + '/partials' }); var uniqid = require('uniqid'); +app.use(compression({filter: shouldCompress})) +function shouldCompress (req, res) { + if (req.headers['x-no-compression']) { + // don't compress responses with this request header + return false; + } + + // fallback to standard filter function + return compression.filter(req, res); +} app.engine('handlebars', hbs.engine); app.set('view engine', 'handlebars'); diff --git a/server/public/assets/js/player.js b/server/public/assets/js/player.js index c80b0f5e..b0fdadca 100755 --- a/server/public/assets/js/player.js +++ b/server/public/assets/js/player.js @@ -698,7 +698,7 @@ var Player = { try { scPlaying = Player.soundcloud_player.isPlaying(); } catch(e){} - resizePlaylistPlaying(Player.player.getPlayerState() == YT.PlayerState.PLAYING || scPlaying || Player.player.getPlayerState() == YT.PlayerState.BUFFERING); + resizePlaylistPlaying(scPlaying); } Helper.css("#playpause", "visibility", "visible"); diff --git a/server/public/layouts/client/main.handlebars b/server/public/layouts/client/main.handlebars index 6ecf8f92..b1cd5436 100644 --- a/server/public/layouts/client/main.handlebars +++ b/server/public/layouts/client/main.handlebars @@ -83,7 +83,7 @@ {{#unless client}} - + {{/unless}} {{#unless embed}}