Skip to content

Commit 3ca3c65

Browse files
skjnldsvnextcloud-command
authored andcommitted
feat(files): refresh preview on etag change
Signed-off-by: skjnldsv <skjnldsv@protonmail.com> Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
1 parent 474cbda commit 3ca3c65

File tree

10 files changed

+24
-18
lines changed

10 files changed

+24
-18
lines changed

apps/files/src/components/FileEntry/FileEntryPreview.vue

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,11 @@ import NetworkIcon from 'vue-material-design-icons/Network.vue'
7676
import TagIcon from 'vue-material-design-icons/Tag.vue'
7777
import PlayCircleIcon from 'vue-material-design-icons/PlayCircle.vue'
7878
79-
import { useUserConfigStore } from '../../store/userconfig.ts'
8079
import CollectivesIcon from './CollectivesIcon.vue'
8180
import FavoriteIcon from './FavoriteIcon.vue'
81+
8282
import { isLivePhoto } from '../../services/LivePhotos'
83+
import { useUserConfigStore } from '../../store/userconfig.ts'
8384
8485
export default Vue.extend({
8586
name: 'FileEntryPreview',
@@ -162,6 +163,10 @@ export default Vue.extend({
162163
url.searchParams.set('y', this.gridMode ? '128' : '32')
163164
url.searchParams.set('mimeFallback', 'true')
164165
166+
// Etag to force refresh preview on change
167+
const etag = this.source?.attributes?.etag || ''
168+
url.searchParams.set('v', etag.slice(0, 6))
169+
165170
// Handle cropping
166171
url.searchParams.set('a', this.cropPreviews === true ? '0' : '1')
167172
return url.href

apps/files/src/views/Sidebar.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,8 @@ export default {
335335
336336
getPreviewIfAny(fileInfo) {
337337
if (fileInfo?.hasPreview && !this.isFullScreen) {
338-
return generateUrl(`/core/preview?fileId=${fileInfo.id}&x=${screen.width}&y=${screen.height}&a=true`)
338+
const etag = fileInfo?.etag || ''
339+
return generateUrl(`/core/preview?fileId=${fileInfo.id}&x=${screen.width}&y=${screen.height}&a=true&v=${etag.slice(0, 6)}`)
339340
}
340341
return this.getIconUrl(fileInfo)
341342
},

dist/6364-6364.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/6364-6364.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/files-main.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/files-main.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/files-sidebar.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/files-sidebar.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/files_sharing-files_sharing_tab.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/files_sharing-files_sharing_tab.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)