gitea/routers/web
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
..
admin Forbid removing the last admin user (#28337) (#28793) 2024-01-16 01:51:46 +00:00
auth Avoid cycle-redirecting user/login page (#28636) (#28658) 2023-12-30 20:50:08 +08:00
devtest Make "cancel" buttons have proper type in modal forms (#25618) 2023-07-03 14:04:50 +08:00
events Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
explore Next round of `db.DefaultContext` refactor (#27089) 2023-09-16 14:39:12 +00:00
feed Rework markup link rendering (#26745) (#28803) 2024-01-16 02:13:29 +00:00
healthcheck Remove `db.DefaultContext` in `routers/` and `cmd/` (#26076) 2023-07-23 23:47:27 -04:00
misc Refactor CORS handler (#28587) (#28611) 2023-12-25 21:01:24 +08:00
org Rework markup link rendering (#26745) (#28803) 2024-01-16 02:13:29 +00:00
repo Preserve BOM in web editor (#28935) (#28959) 2024-01-27 23:23:31 +01:00
shared Rework markup link rendering (#26745) (#28803) 2024-01-16 02:13:29 +00:00
user Rework markup link rendering (#26745) (#28803) 2024-01-16 02:13:29 +00:00
base.go Fix panic in storageHandler (#27446) (#27479) 2023-10-06 16:51:26 +02:00
githttp.go Refactor CORS handler (#28587) (#28611) 2023-12-25 21:01:24 +08:00
goget.go Support SSH for go get (#24664) 2023-05-12 09:44:37 +00:00
home.go Reduce usage of `db.DefaultContext` (#27073) 2023-09-14 17:09:32 +00:00
metrics.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
nodeinfo.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
swagger_json.go Start using template context function (#26254) 2023-08-08 01:22:47 +00:00
web.go Refactor CORS handler (#28587) (#28611) 2023-12-25 21:01:24 +08:00
webfinger.go Add a link to OpenID Issuer URL in WebFinger response (#26000) 2023-07-20 16:02:45 +08:00