mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-12 02:24:21 -05:00
[1.22.0] Image Upload becomes broken HTML tag in Chrome and Edge, but working Markdown in Firefox #13235
Closed
opened 2025-11-02 10:35:44 -06:00 by GiteaMirror
·
10 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
No Label
issue/needs-feedback
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#13235
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @FrostKiwi on GitHub (Jul 4, 2024).
Description
Regression after update from
1.21.5to1.22.0.When uploading images via copy paste as a screenshot, the feature is now broken, depending on Browser, see Screenshots below.
On Firefox, when Pasting images, the behavior is the same as
1.21.5: Image gets pasted as Markdown and is visible. No broken links.But on Microsoft Edge, the Links become HTML, not markdown and have broken links, as they they have the slash prefix, which are broken in a subpath context.
(Note: The file upload itself completes, you can fix this by changing it manually to Markdown)
Context: This is a Gitea instance on a subpath (domain.com/git)
There have been multiple issues with subpaths around Gitea from time to time with broken file links appearing in different places, most recent: https://github.com/go-gitea/gitea/issues/31546
Gitea Version
1.22.0
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
Note: (Arc-green theme used, but it is actually 1.22.0)
Edge (and Chrome)
Firefox
Git Version
No response
Operating System
No response
How are you running Gitea?
Installed via Binary
Database
None
@phrl42 commented on GitHub (Jul 4, 2024):
can also confirm that when an issue like this is created, webhooks are not being sent because:
{"ok":false,"error_code":400, "description":"Bad Request: can't parse entities: Unsupported start tag \"img\" at byte offset 270" }this only happens on windows, when copy pasting images in with linux ( tested on manjaro 24.0.2 ), no issues resolve.
@silverwind commented on GitHub (Jul 4, 2024):
The missing subpath in
<img>URL sounds like a definite bug. It is intentional that this is<img>because you are pasting a HiDPI image and those need to be downscaled for display which is only possible with a<img>tag.This sounds a different bug in Markdown validation I think. Suggesting to open a separate bug report.
@FrostKiwi commented on GitHub (Jul 4, 2024):
Huh! That confuses me because the markdown, does not have the subpath, never had in past version and still works. There is some conversion happening not visible to the user I guess?
So the link for the image tag and markdown tag cannot be the same. This issue is more complex than I thought.
Then we have a bug in Firefox, because there is a conversion on Chrome and Edge but not on Firefox.
@silverwind commented on GitHub (Jul 4, 2024):
Ah it could be that we actually should not add the subpath into the markup but instead dynamically append it in backend while rendering. That will allow the backend to later change the subpath at will without breaking the images.
Essentially, subpath in
<img>tags must render the same as![]()style images.@wxiaoguang commented on GitHub (Jul 4, 2024):
You are using sub-path, it has been fixed in 1.22.1
Make pasted "img" tag has the same behavior as markdown image (#31235) #31243
@silverwind commented on GitHub (Jul 4, 2024):
The mechanism is that if the PNG contains HiDPI metadata the image will render as
<img>and this behaviour matches GitHub as well. So likely Firefox is stripping the image metadata for some reason, I would say it should not and that it's a browser bug. I do not observe this problem in Firefox on Mac, so maybe it's a browser bug that only manifests on Windows.@wxiaoguang commented on GitHub (Jul 4, 2024):
Related issue is this: Markdown image paste regressions #31230
@silverwind commented on GitHub (Jul 4, 2024):
Yeah thas was it. So upgrade to 1.22.1 please. As for https://github.com/go-gitea/gitea/issues/31553#issuecomment-2208590947 issue, please file a new issue with steps if still present.
@FrostKiwi commented on GitHub (Jul 5, 2024):
Can confirm it being fixed with
1.22.1.Interestingly, Markdown and HTML image tags have different paths though.
Inserting in Firefox, which inserts as Markdown, the screenshot becomes
With the slash in front. (This is technically wrong in the context of the subpath, but as mentioned by @silverwind in https://github.com/go-gitea/gitea/issues/31553#issuecomment-2208870991 it seems to be adjusted dynamically)
The new behavior of conversion to the HTML IMG tag does not add the slash in front:
<img width="483" alt="image" src="attachments/65a56fc3-1a85-41a0-97d2-470cf9d71de6">@silverwind commented on GitHub (Jul 5, 2024):
I agree we should be consistent with that slash and not having it would be better because paths that start with slash are meant to be "absolute" which these should not be.