-
{{ user.minutesListened > 0 ? "Has listened for " + $elapsedPrettyExtended(user.minutesListened) : "No listening time" }}
+
+
{{ "Has listened for " + $elapsedPrettyExtended(user.minutesListened) }}
@@ -64,7 +62,7 @@ export default {
},
users() {
if (!this.listeningStats) return []
- return this.listeningStats.filter(c => c.latest)
+ return this.listeningStats.sort(function(a, b) {return b.latest.lastUpdate - a.latest.lastUpdate})
},
userMediaProgress() {
return this.user.mediaProgress || []
@@ -109,7 +107,6 @@ export default {
})
}
}
- console.log('Loaded users shared listening data', listeningStats)
this.listeningStats = listeningStats
},
async getLibraryItem(user) {
@@ -121,8 +118,6 @@ export default {
})
},
changeSharingSetting() {
- console.log('test')
- console.log(String(!this.isSharingActivity))
this.$store.dispatch('user/updateUserSettings', { shareListeningActivity: !this.isSharingActivity })
this.init()
}
diff --git a/server/controllers/MiscController.js b/server/controllers/MiscController.js
index e51e7d12b..adb211973 100644
--- a/server/controllers/MiscController.js
+++ b/server/controllers/MiscController.js
@@ -265,6 +265,10 @@ class MiscController {
}
// GET: api/social
async getSocialStats(req, res) {
+ if (this.db.serverSettings.sharedListeningStats == false) {
+ return res.sendStatus(404)
+ }
+ Logger.error(this.db.serverSettings.sharedListeningStats)
var filteredUsers = this.db.users.filter(c => c.settings.shareListeningActivity == true)
var userData = []
for (let i = 0; i < filteredUsers.length; i++) {
@@ -281,7 +285,9 @@ class MiscController {
minutesListened: listeningStats.totalTime || 0,
daysListened: totalDays| 0,
}
- userData.push(session)
+ if (session.minutesListened && session.latest) {
+ userData.push(session)
+ }
}
res.json(userData)
}
diff --git a/server/objects/settings/ServerSettings.js b/server/objects/settings/ServerSettings.js
index 71c478282..d77f6622a 100644
--- a/server/objects/settings/ServerSettings.js
+++ b/server/objects/settings/ServerSettings.js
@@ -47,6 +47,7 @@ class ServerSettings {
// Misc Flags
this.chromecastEnabled = false
+ this.sharedListeningStats = false
this.enableEReader = false
this.dateFormat = 'MM/dd/yyyy'
@@ -95,6 +96,7 @@ class ServerSettings {
this.sortingIgnorePrefix = !!settings.sortingIgnorePrefix
this.sortingPrefixes = settings.sortingPrefixes || ['the', 'a']
this.chromecastEnabled = !!settings.chromecastEnabled
+ this.sharedListeningStats = !!settings.sharedListeningStats
this.enableEReader = !!settings.enableEReader
this.dateFormat = settings.dateFormat || 'MM/dd/yyyy'
this.logLevel = settings.logLevel || Logger.logLevel
@@ -131,6 +133,7 @@ class ServerSettings {
sortingIgnorePrefix: this.sortingIgnorePrefix,
sortingPrefixes: [...this.sortingPrefixes],
chromecastEnabled: this.chromecastEnabled,
+ sharedListeningStats: this.sharedListeningStats,
enableEReader: this.enableEReader,
dateFormat: this.dateFormat,
logLevel: this.logLevel,