RGJ
(Richard - Communiteq)
February 8, 2026, 12:32pm
1
I reported a UX issue
Moin pointed out to me that it was duplicate
I then closed the topic and made it hidden
Moin liked my post
I saw a Chinese notification and clicked it
The topic title was changed to Chinese
Topic here
Not sure if bullets 2-5 matter but maybe they do so that is why I mention them.
Similar to Another title localization issue
Not sure if it is the same so opening a new bug report.
1 Like
Moin
February 8, 2026, 12:43pm
2
1 Like
nat
(Natalie T)
February 9, 2026, 3:19am
4
Thanks for the report. I’ll have a look.
EDIT: Great. Thanks to logs I can now pinpoint the cause.
4 Likes
nat
(Natalie T)
February 10, 2026, 2:53pm
5
We have a fix here:
main ← fancy-title-write
merged 02:22PM - 10 Feb 26 UTC
Related: https://meta.discourse.org/t/yet-another-title-localization-issue/39546… 9
### bug context
tldr; `Topic#fancy_title` saves a fancy_title to db when the fancy_title is null.
This bug requires a certain incantation to trigger.
- Topic 395465 exists with `title = "Notification level button always says \"tracking\""` and
`fancy_title = NULL` in the DB
- A `TopicLocalization` exists for this topic in `zh_CN`
- `content_localization_enabled` is on
When a crawler hits `GET /t/.../395465?tl=zh_CN`, localization replacement happens on the topic, which writes the title attribute, so the state is now
- `title` = Chinese (modified)
- `fancy_title` = NULL (untouched, still what was loaded from DB)
When serializing via `TopicViewSerializer` which uses `LocalizedFancyTopicTitleMixin`, we call `topic.fancy_title`. The `topic#fancy_title` generates the fancy_title from the title value, then writes the chinese fancy title to db 😢
https://github.com/discourse/discourse/blob/e935ed63b28a30ee7ae6a7783ae05fe33edf3367/app/models/topic.rb#L532-L545
### fix
This PR fixes the issue by ensuring the fancy_title is always written along with the title, preventing the need for invoking the part of `topic#fancy_title` which saves the fancy_title to db.
The added controller tests fail without the fix.
This solution and should technically fix the issue we’ve been seeing. The bigger question I haven’t resolved is why the implicated topic’s fancy_title might be null in the db, since it’s the scenario which would trigger the localization to be saved.
I’ll continue to monitor this here. Will keep this open till the weekend.
2 Likes