Use titleHtml where appropriate
What does this MR do and why?
Closes Emojis in work item titles are not rendered in ... (#597261) — titleHtml is the canonical, safe rendered variant of title for work items and issuables in general, so use it with v-safe-html wherever possible to ensure e.g. emojis are rendered consistently anywhere work item titles are shown.
This became the case as of Use regular non-Markdown single line pipeline f... (!224839 - merged), but as noted in that MR, there are still places where just title was used (occasionally with some hacks to e.g. manually render emoji in an ad-hoc fashion); this MR tries to round up all the stragglers.
Note that titleHtml is only safe for use with v-safe-html because it has been rendered and sanitised by the backend first. Please note that, despite its name, v-safe-html cannot be used safely with plain text, such as title — that's how we get XSS.
Screenshots or screen recordings
I have a work item with the name entered as Henwo :fox:, a task called Henwo task :fox:.
| What | Before | After |
|---|---|---|
| Popover | ![]() |
![]() |
| Linked items | ![]() |
![]() |
| Child items | ![]() |
![]() |
| Parent item in sidebar | ![]() |
![]() |
| Parent metadata in work item list | ![]() |
![]() |
| Ancestor bread crumb trail | ![]() |
![]() |
| Issue board card title* | ![]() |
![]() |
*Per the screenshots, issue board card titles worked before, but only in a hacky way: it manually parsed emoji in the text title. Now we rely on the backend to render them the same everywhere and delete the special-casing in issue boards.
How to set up and validate locally
- Check out the branch.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.













