From 0102ff6043d1881239326acd83eb14851ca1daab Mon Sep 17 00:00:00 2001 From: yp05327 <576951401@qq.com> Date: Thu, 24 Oct 2024 00:39:10 +0900 Subject: [PATCH 1/2] Fix broken image when editing comment with non-image attachments (#32319) Fix #32316 --- web_src/js/features/repo-issue-edit.js | 5 ++++- web_src/js/utils/image.js | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/web_src/js/features/repo-issue-edit.js b/web_src/js/features/repo-issue-edit.js index 919daa9c503d9..a00c34bf4a495 100644 --- a/web_src/js/features/repo-issue-edit.js +++ b/web_src/js/features/repo-issue-edit.js @@ -4,6 +4,7 @@ import {getComboMarkdownEditor, initComboMarkdownEditor} from './comp/ComboMarkd import {createDropzone} from './dropzone.js'; import {GET, POST} from '../modules/fetch.js'; import {hideElem, showElem} from '../utils/dom.js'; +import {isImageFile} from '../utils/image.js'; import {attachRefIssueContextPopup} from './contextpopup.js'; import {initCommentContent, initMarkupContent} from '../markup/content.js'; @@ -84,7 +85,9 @@ async function onEditContent(event) { for (const attachment of data) { const imgSrc = `${dropzone.getAttribute('data-link-url')}/${attachment.uuid}`; dz.emit('addedfile', attachment); - dz.emit('thumbnail', attachment, imgSrc); + if (isImageFile(attachment.name)) { + dz.emit('thumbnail', attachment, imgSrc); + } dz.emit('complete', attachment); fileUuidDict[attachment.uuid] = {submitted: true}; dropzone.querySelector(`img[src='${imgSrc}']`).style.maxWidth = '100%'; diff --git a/web_src/js/utils/image.js b/web_src/js/utils/image.js index ed5d98e35ad0b..3333ad3e541a4 100644 --- a/web_src/js/utils/image.js +++ b/web_src/js/utils/image.js @@ -45,3 +45,7 @@ export async function imageInfo(blob) { return {width, dppx}; } + +export function isImageFile(name) { + return /\.(jpe?g|png|gif|webp|svg|heic)$/i.test(name); +} From 2642daf6aae6deef7a093ecb70361a216c82f0d9 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 29 Oct 2024 23:12:06 -0700 Subject: [PATCH 2/2] Fix bug --- web_src/js/features/repo-issue-edit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_src/js/features/repo-issue-edit.js b/web_src/js/features/repo-issue-edit.js index a00c34bf4a495..5396a51788dec 100644 --- a/web_src/js/features/repo-issue-edit.js +++ b/web_src/js/features/repo-issue-edit.js @@ -87,10 +87,10 @@ async function onEditContent(event) { dz.emit('addedfile', attachment); if (isImageFile(attachment.name)) { dz.emit('thumbnail', attachment, imgSrc); + dropzone.querySelector(`img[src='${imgSrc}']`).style.maxWidth = '100%'; } dz.emit('complete', attachment); fileUuidDict[attachment.uuid] = {submitted: true}; - dropzone.querySelector(`img[src='${imgSrc}']`).style.maxWidth = '100%'; const input = document.createElement('input'); input.id = attachment.uuid; input.name = 'files';