diff --git a/src/renderer/components/data-settings/data-settings.js b/src/renderer/components/data-settings/data-settings.js index 2321deb8..2e59dc0f 100644 --- a/src/renderer/components/data-settings/data-settings.js +++ b/src/renderer/components/data-settings/data-settings.js @@ -1145,7 +1145,7 @@ export default Vue.extend({ playlistData.videos.forEach((video) => { let hasAllKeys = true Object.keys(video).forEach((videoKey) => { - if (!requiredVideoKeys.includes(videoKey)) { + if (!Object.keys(video).includes(videoKey)) { hasAllKeys = false } }) diff --git a/src/renderer/views/UserPlaylists/UserPlaylists.js b/src/renderer/views/UserPlaylists/UserPlaylists.js index efd252a2..e925a1d2 100644 --- a/src/renderer/views/UserPlaylists/UserPlaylists.js +++ b/src/renderer/views/UserPlaylists/UserPlaylists.js @@ -44,16 +44,17 @@ export default Vue.extend({ } }, watch: { - // This implementation of loading effect - // causes "scroll to top" side effect which is reported as a bug - // https://github.com/FreeTubeApp/FreeTube/issues/1507 - // - // activeData() { - // this.isLoading = true - // setTimeout(() => { - // this.isLoading = false - // }, 100) - // } + activeData() { + const scrollPos = window.scrollY || window.scrollTop || document.getElementsByTagName('html')[0].scrollTop + this.isLoading = true + setTimeout(() => { + this.isLoading = false + // This is kinda ugly, but should fix a few existing issues + setTimeout(() => { + window.scrollTo(0, scrollPos) + }, 100) + }, 100) + } }, mounted: function () { const limit = sessionStorage.getItem('favoritesLimit')