gitea/routers/web/repo
Giteabot b8e6cffd31
Preserve BOM in web editor (#28935) (#28959)
Backport #28935 by @silverwind

The `ToUTF8*` functions were stripping BOM, while BOM is actually valid
in UTF8, so the stripping must be optional depending on use case. This
does:

- Add a options struct to all `ToUTF8*` functions, that by default will
strip BOM to preserve existing behaviour
- Remove `ToUTF8` function, it was dead code
- Rename `ToUTF8WithErr` to `ToUTF8`
- Preserve BOM in Monaco Editor
- Remove a unnecessary newline in the textarea value. Browsers did
ignore it, it seems but it's better not to rely on this behaviour.

Fixes: https://github.com/go-gitea/gitea/issues/28743
Related: https://github.com/go-gitea/gitea/issues/6716 which seems to
have once introduced a mechanism that strips and re-adds the BOM, but
from what I can tell, this mechanism was removed at some point after
that PR.

Co-authored-by: silverwind <me@silverwind.io>
2024-01-27 23:23:31 +01:00
..
actions Only check online runner when detecting matching runners in workflows (#28286) (#28512) 2023-12-19 04:06:31 +00:00
setting Preserve BOM in web editor (#28935) (#28959) 2024-01-27 23:23:31 +01:00
activity.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
attachment.go More refactoring of `db.DefaultContext` (#27083) 2023-09-15 06:13:19 +00:00
blame.go Use information from previous blame parts (#28572) (#28577) 2023-12-22 06:47:34 +08:00
branch.go Also sync DB branches on push if necessary (#28361) (#28403) 2023-12-11 06:16:56 +00:00
cherry_pick.go Sync branches into databases (#22743) 2023-06-29 10:03:20 +00:00
commit.go Preserve BOM in web editor (#28935) (#28959) 2024-01-27 23:23:31 +01:00
compare.go Preserve BOM in web editor (#28935) (#28959) 2024-01-27 23:23:31 +01:00
download.go Less naked returns (#25713) 2023-07-07 05:31:56 +00:00
editor.go Preserve BOM in web editor (#28935) (#28959) 2024-01-27 23:23:31 +01:00
editor_test.go Move web/api context related testing function into a separate package (#26859) 2023-09-01 11:26:07 +00:00
find.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
githttp.go Fix http protocol auth (#27875) (#27876) 2023-11-02 16:34:55 +01:00
githttp_test.go Fix http protocol auth (#27875) (#27876) 2023-11-02 16:34:55 +01:00
helper.go Improve tree not found page (#26570) (#27346) 2023-09-29 18:35:11 +08:00
helper_test.go Make web context initialize correctly for different cases (#26726) 2023-08-25 19:07:42 +08:00
issue.go Rework markup link rendering (#26745) (#28803) 2024-01-16 02:13:29 +00:00
issue_content_history.go Fix missing check (#28406) (#28411) 2023-12-11 09:10:48 +08:00
issue_dependency.go Add context parameter to some database functions (#26055) 2023-07-22 22:14:27 +08:00
issue_label.go Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
issue_label_test.go Move web/api context related testing function into a separate package (#26859) 2023-09-01 11:26:07 +00:00
issue_lock.go Use fetch form action for lock/unlock/pin/unpin on sidebar (#25380) 2023-06-29 04:16:04 +00:00
issue_pin.go Fix missing check (#28406) (#28411) 2023-12-11 09:10:48 +08:00
issue_stopwatch.go Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
issue_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue_timetrack.go Add context parameter to some database functions (#26055) 2023-07-22 22:14:27 +08:00
issue_watch.go Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
main_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
middlewares.go Fix viewing wiki commit on empty repo (#28040) (#28044) 2023-11-14 14:49:12 +01:00
migrate.go Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
milestone.go Rework markup link rendering (#26745) (#28803) 2024-01-16 02:13:29 +00:00
packages.go Fix the display of org level badges (#26504) 2023-09-06 14:38:14 +08:00
patch.go Sync branches into databases (#22743) 2023-06-29 10:03:20 +00:00
projects.go Rework markup link rendering (#26745) (#28803) 2024-01-16 02:13:29 +00:00
projects_test.go Move web/api context related testing function into a separate package (#26859) 2023-09-01 11:26:07 +00:00
pull.go Modernize merge button (#28140) (#28786) 2024-01-15 09:40:52 +08:00
pull_review.go Don't reload timeline page when (un)resolving or replying conversation (#28654) (#28917) 2024-01-24 20:09:48 +01:00
release.go Rework markup link rendering (#26745) (#28803) 2024-01-16 02:13:29 +00:00
release_test.go Move web/api context related testing function into a separate package (#26859) 2023-09-01 11:26:07 +00:00
render.go Preserve BOM in web editor (#28935) (#28959) 2024-01-27 23:23:31 +01:00
repo.go Another round of `db.DefaultContext` refactor (#27103) (#27262) 2023-09-25 19:24:35 +02:00
search.go Refactor indexer (#25174) 2023-06-23 12:37:56 +00:00
topic.go Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
treelist.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
view.go Preserve BOM in web editor (#28935) (#28959) 2024-01-27 23:23:31 +01:00
view_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
wiki.go Rework markup link rendering (#26745) (#28803) 2024-01-16 02:13:29 +00:00
wiki_test.go Move web/api context related testing function into a separate package (#26859) 2023-09-01 11:26:07 +00:00