@@ -257,7 +258,9 @@ export default {
tab: null,
inLibrary: this.$root.track.library ? true:false,
playlistPopup: false,
- downloadDialog: false
+ downloadDialog: false,
+ //For reloading queue
+ showQueue: true,
}
},
methods: {
@@ -310,15 +313,6 @@ export default {
}
this.$root.repeat += 1;
},
- shuffle() {
- //Shuffle
- for (let i=this.$root.queue.data.length - 1; i > 0; i--) {
- const j = Math.floor(Math.random() * (i + 1));
- [this.$root.queue.data[i], this.$root.queue.data[j]] = [this.$root.queue.data[j], this.$root.queue.data[i]];
- }
- //Update index
- this.$root.queue.index = this.$root.queue.data.findIndex(t => t.id == this.$root.track.id);
- },
//Copy link
share() {
let copyElem = document.createElement('input');
@@ -347,6 +341,11 @@ export default {
this.position = this.$root.position / 1000;
}
},
+ //Force update queue
+ '$root.shuffled'() {
+ this.showQueue = false;
+ this.showQueue = true;
+ }
}
};
diff --git a/app/client/src/views/Library.vue b/app/client/src/views/Library.vue
index f6072c9..4274baa 100644
--- a/app/client/src/views/Library.vue
+++ b/app/client/src/views/Library.vue
@@ -23,7 +23,7 @@
-
+
diff --git a/app/client/src/views/PlaylistPage.vue b/app/client/src/views/PlaylistPage.vue
index b1af73f..3e020da 100644
--- a/app/client/src/views/PlaylistPage.vue
+++ b/app/client/src/views/PlaylistPage.vue
@@ -265,7 +265,7 @@ export default {
if (this.playlist.tracks.length < this.playlist.trackCount)
await this.sort(0);
this.isReversed = !this.isReversed;
- this.tracks.reverse();
+ this.playlist.tracks.reverse();
},
},
mounted() {
diff --git a/app/package-lock.json b/app/package-lock.json
index c2fae6d..78bc73c 100644
--- a/app/package-lock.json
+++ b/app/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "freezer",
- "version": "1.1.7",
+ "version": "1.1.9",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -437,6 +437,11 @@
"resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz",
"integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow=="
},
+ "compare-versions": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz",
+ "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA=="
+ },
"component-bind": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
diff --git a/app/package.json b/app/package.json
index b11e579..3d61e49 100644
--- a/app/package.json
+++ b/app/package.json
@@ -1,7 +1,7 @@
{
"name": "freezer",
"private": true,
- "version": "1.1.7",
+ "version": "1.1.10",
"description": "",
"main": "background.js",
"scripts": {
@@ -14,6 +14,7 @@
"axios": "^0.19.2",
"browser-id3-writer": "^4.4.0",
"chalk": "^4.1.0",
+ "compare-versions": "^3.6.0",
"discord-rpc": "^3.1.4",
"express": "^4.17.1",
"lastfmapi": "^0.1.1",
diff --git a/app/src/server.js b/app/src/server.js
index fac883c..fc92a33 100644
--- a/app/src/server.js
+++ b/app/src/server.js
@@ -2,6 +2,7 @@ const express = require('express');
const path = require('path');
const packageJson = require('../package.json');
const fs = require('fs');
+const compareVersions = require('compare-versions');
const axios = require('axios').default;
const logger = require('./winston');
const {DeezerAPI, DeezerStream} = require('./deezer');
@@ -477,6 +478,21 @@ app.get('/about', async (req, res) => {
});
});
+app.get('/updates', async (req, res) => {
+ try {
+ let response = await axios.get('https://freezer.life/api/versions');
+ //New version
+ if (compareVersions(response.data.pc.latest, packageJson.version) >= 1) {
+ res.send(response.data.pc.versions[0]);
+ return;
+ }
+ res.status(404).end();
+ return;
+ } catch (e) {
+ res.status(500).end();
+ }
+});
+
//Redirect to index on unknown path
app.all('*', (req, res) => {
res.redirect('/');
diff --git a/freezerpc.tar b/freezerpc.tar
deleted file mode 100644
index 9df6499..0000000
Binary files a/freezerpc.tar and /dev/null differ
diff --git a/package.json b/package.json
index a41949a..4f254dc 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "freezer",
"private": true,
- "version": "1.1.7",
+ "version": "1.1.10",
"description": "",
"scripts": {
"pack": "electron-builder --dir",