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}}