From 6a5276820b7d1bfeefc43df4c06b0d4ccf63e56a Mon Sep 17 00:00:00 2001 From: Buster Neece Date: Wed, 28 Dec 2022 09:49:12 -0600 Subject: [PATCH] Fixes #4721 -- Base elapsed time in players on server time, not client time. --- config/events.php | 1 + frontend/vue/components/Public/History.vue | 2 +- frontend/vue/components/Public/Player.vue | 107 +++++++----------- frontend/vue/components/Public/playerProps.js | 2 +- frontend/vue/functions/useNowPlaying.js | 75 ++++++++++-- .../Frontend/PublicPages/HistoryAction.php | 20 +--- .../Frontend/PublicPages/PlayerAction.php | 29 +---- src/Service/Centrifugo.php | 40 +++++-- src/Sync/Task/SendTimeOnSocketTask.php | 34 ++++++ src/VueComponent/NowPlayingComponent.php | 53 +++++++++ util/docker/web/centrifugo/config.yaml.tmpl | 7 ++ 11 files changed, 241 insertions(+), 129 deletions(-) create mode 100644 src/Sync/Task/SendTimeOnSocketTask.php create mode 100644 src/VueComponent/NowPlayingComponent.php diff --git a/config/events.php b/config/events.php index aaa4f50c4..f1e7dd4fb 100644 --- a/config/events.php +++ b/config/events.php @@ -142,6 +142,7 @@ return static function (CallableEventDispatcherInterface $dispatcher) { App\Sync\Task\RotateLogsTask::class, App\Sync\Task\RunAnalyticsTask::class, App\Sync\Task\RunBackupTask::class, + App\Sync\Task\SendTimeOnSocketTask::class, App\Sync\Task\UpdateGeoLiteTask::class, App\Sync\Task\UpdateStorageLocationSizesTask::class, ]); diff --git a/frontend/vue/components/Public/History.vue b/frontend/vue/components/Public/History.vue index b4e916781..9be40ed1d 100644 --- a/frontend/vue/components/Public/History.vue +++ b/frontend/vue/components/Public/History.vue @@ -17,7 +17,7 @@ const props = defineProps({ }, }); -const np = useNowPlaying(props); +const {np} = useNowPlaying(props); const history = computed(() => { return np.value.song_history ?? []; diff --git a/frontend/vue/components/Public/Player.vue b/frontend/vue/components/Public/Player.vue index 854ba0910..ace64c87b 100644 --- a/frontend/vue/components/Public/Player.vue +++ b/frontend/vue/components/Public/Player.vue @@ -28,18 +28,18 @@

{{ np.now_playing.song.text }}

-
+
- {{ time_display_played }} + {{ currentTimeElapsedDisplay }}
+ :style="{ width: currentTrackPercent+'%' }">
- {{ time_display_total }} + {{ currentTimeTotalDisplay }}
@@ -48,14 +48,14 @@
- +