1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Fixed: itemContextMenu opened from bottom media control bar applying operations to the wrong item when items have no image metadata. Can manifest as the wrong song being added to a playlist, deleted, or receiving user supplied metadata, etc.

This commit is contained in:
callum 2022-08-27 13:50:58 +01:00
parent 89ec4f4e8a
commit 072e20b585

View file

@ -24,6 +24,7 @@ import { appRouter } from '../appRouter';
let currentTimeElement;
let nowPlayingImageElement;
let nowPlayingImageUrl;
let nowPlayingTextElement;
let nowPlayingUserData;
let muteButton;
@ -488,7 +489,6 @@ import { appRouter } from '../appRouter';
return null;
}
let currentImgUrl;
function updateNowPlayingInfo(state) {
const nowPlayingItem = state.NowPlayingItem;
@ -524,13 +524,8 @@ import { appRouter } from '../appRouter';
height: imgHeight
})) : null;
let isRefreshing = false;
if (url !== currentImgUrl) {
currentImgUrl = url;
isRefreshing = true;
if (url) {
if (url && url !== nowPlayingImageUrl) {
nowPlayingImageUrl = url;
imageLoader.lazyImage(nowPlayingImageElement, url);
nowPlayingImageElement.style.display = null;
nowPlayingTextElement.style.marginLeft = null;
@ -539,10 +534,8 @@ import { appRouter } from '../appRouter';
nowPlayingImageElement.style.display = 'none';
nowPlayingTextElement.style.marginLeft = '1em';
}
}
if (nowPlayingItem.Id) {
if (isRefreshing) {
const apiClient = ServerConnections.getApiClient(nowPlayingItem.ServerId);
apiClient.getItem(apiClient.getCurrentUserId(), nowPlayingItem.Id).then(function (item) {
const userData = item.UserData || {};
@ -571,7 +564,6 @@ import { appRouter } from '../appRouter';
}
nowPlayingUserData.innerHTML = '<button is="emby-ratingbutton" type="button" class="listItemButton mediaButton paper-icon-button-light" data-id="' + item.Id + '" data-serverid="' + item.ServerId + '" data-itemtype="' + item.Type + '" data-likes="' + likes + '" data-isfavorite="' + (userData.IsFavorite) + '"><span class="material-icons favorite" aria-hidden="true"></span></button>';
});
}
} else {
nowPlayingUserData.innerHTML = '';
}