From 5d9ed7e953d5a4ec3a1d6b4b238cfa7d0a9e9a13 Mon Sep 17 00:00:00 2001 From: Aaron Liu Date: Mon, 21 Apr 2025 20:04:27 +0800 Subject: [PATCH] fix(share): music player not working for single shared files --- src/redux/thunks/viewer.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/redux/thunks/viewer.ts b/src/redux/thunks/viewer.ts index c5e9e65..0864752 100644 --- a/src/redux/thunks/viewer.ts +++ b/src/redux/thunks/viewer.ts @@ -114,6 +114,8 @@ export function openViewer(file: FileResponse, viewer: Viewer, size: number, pre } const isSharedFile = file.metadata?.[Metadata.share_redirect] ?? false; + const originalFileId = file.id; + if (isSharedFile) { file = await dispatch(refreshSingleFileSymbolicLinks(file)); } @@ -128,7 +130,7 @@ export function openViewer(file: FileResponse, viewer: Viewer, size: number, pre case builtInViewers.image: { // open image viewer const fm = getState().fileManager[FileManagerIndex.main]; - const fileIndex = fm.list?.files?.findIndex((f) => f.id == file.id); + const fileIndex = fm.list?.files?.findIndex((f) => f.id == originalFileId); dispatch(setSearchPopup(false)); dispatch( setImageViewer({ @@ -215,8 +217,9 @@ export function openViewer(file: FileResponse, viewer: Viewer, size: number, pre files = [file]; } else { fm.list?.files?.forEach((f) => { - if (f.id == file.id) { + if (f.id == originalFileId) { fileIndex = files.length; + f = {...file} } if (viewer.exts.indexOf(fileExtension(f.name) ?? "") > -1) {