Page MenuHomePhabricator

enotif watchlist notification emails include percent-encoded URLs in body for non-ASCII scripts, should use normalized titles instead
Open, LowPublicFeature

Description

Hi,
We receive emails for every change of a article listed in watch list. Here the problem is the article URLs are written in Percent-encoding. So it is not possible to read that and it looks bad in the email body. Sometimes it requires 4/5 lines to show the name of the article.

Along with this there are some formatting issue which exists from the beginning and not resolved for a long time (T58063). The emails i receive form the 'MediaWiki message delivery' system are properly formatted. I am not sure which application is used to format this emails but the default Mediawiki emails have some issues. You can check the screenshot here to get an idea about the problem, https://nimbus.everhelper.me/client/notes/share/74770/w8BbZLSEFp9gVhZZ1GAdrcfL6aG7AvVf/ .

Nasir Khan


Version: 1.24rc
Severity: enhancement
See Also: T65577: Create a "Watching and notifications" tab in MediaWiki core

Details

Reference
bz70245

Event Timeline

bzimport raised the priority of this task from to Low.Nov 22 2014, 3:41 AM
bzimport set Reference to bz70245.
bzimport added a subscriber: Unknown Object (MLST).

Does this refer to emails in plain text, or emails in HTML format?
For plain text, I don't see any way to solve that issue.
If you have one in mind, please elaborate.

Hi Andre Klapper,

thanks for your response and query.

I am facing this problem in the Mediawiki default email system. I am not sure if it is plain text or HTML. But if it is in plain text then is it required to be in 'plain text' and make everyone suffer for this?

I would still prefer to "make everyone suffer" to having broken links in email clients which don't interpret bytes correctly.
Now if that is a real issue or just a theoretical one, I don't know.

Hi Andre,
thanks for expressing your thoughts.

I believe you know that Echo (Notifications) sends email in HTML format, which is way more cleaner, user friendlier and easier to understand then the default emails. The important thing is it can send email in every language Wikipedia supports (including ASCII and non-ASCII scripts).

Can you please tell me why they ignored the email clients which don't interpret bytes correctly?

Echo: I checked the source of the last email message that I received from *Echo* on test2: Echo sends an email in both plain and HTML format ("Content-Type: multipart/alternative").

Watchlist notification emails that I receive only say:

Content-type: text/plain; charset=UTF-8

https://www.mediawiki.org/wiki/Special:Preferences#mw-prefsection-echo has a format setting but that seems to only apply to Echo notifications, not to Watchlist notifications. This is confusing.

I guess what it boils down to here is to also use Echo (and its HTML support) for Watchlist notifications.

Is there any update on this issue?

Changing the watchlist behavior is not on the Echo roadmap right now (see T22541: Watchlist, LiquidThreads and Echo notifications need to be unified).

However, this could still be fixed in core.

@Mattflaschen thanks for looking into the issue. Do you have any idea how this can be resolved?

@Mattflaschen thanks for looking into the issue. Do you have any idea how this can be resolved?

There are a few things that could be looked into:

  • Using non-Latin characters without percent-encoding, but still using plain text (UTF-8?) emails (has anyone tried this recently?)
  • HTML email in core

Most of the time plain text emails can not create links for non-latin ULRs. I think HTML email would be the solution. Is there any pan to do so in future roadmap?

Aklapper renamed this task from Long article URLs in watchlist notification email body due to encoding for non-ASCII scripts to enotif watchlist notification emails include percent-encoded URLs in body for non-ASCII scripts, should use normalized titles instead.Aug 31 2020, 9:48 AM
Aklapper added a subscriber: Nikolay_Komarov.

@Mattflaschen thanks for looking into the issue. Do you have any idea how this can be resolved?

There are a few things that could be looked into:

  • Using non-Latin characters without percent-encoding, but still using plain text (UTF-8?) emails (has anyone tried this recently?)

This option works perfectly, at least for the Russian language. Email clients parse message body and highlight it as a link, on click the browser also follows such a link, no problem with it. See my duplicate for an example: https://phabricator.wikimedia.org/T261611

  • HTML email in core

This will also work.

Main rule here is that URL-encoding is needed not for all the non-ASCI characters but only for forbidden symbols like colons, whitespaces, slashes - to prevent parsing issues.

Aklapper changed the subtype of this task from "Task" to "Feature Request".Feb 4 2022, 11:13 AM
Aklapper removed a subscriber: Mattflaschen-WMF.

Just an example of a typical email notification from a Russian wikipedia page:

Здравствуйте, Nikolay Komarov!

5 сентября 2023 участником Emil.arg была изменена страница проекта «Википедия» с именем «Википедия:Заявки на статус автопатрулируемого», см. текущую версию по ссылке:
https://ru.wikipedia.org/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%97%D0%B0%D1%8F%D0%B2%D0%BA%D0%B8_%D0%BD%D0%B0_%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81_%D0%B0%D0%B2%D1%82%D0%BE%D0%BF%D0%B0%D1%82%D1%80%D1%83%D0%BB%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D0%BE%D0%B3%D0%BE

См.
https://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%97%D0%B0%D1%8F%D0%B2%D0%BA%D0%B8_%D0%BD%D0%B0_%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81_%D0%B0%D0%B2%D1%82%D0%BE%D0%BF%D0%B0%D1%82%D1%80%D1%83%D0%BB%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D0%BE%D0%B3%D0%BE&diff=next&oldid=132756058
для ознакомления с изменением

См.
https://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%97%D0%B0%D1%8F%D0%B2%D0%BA%D0%B8_%D0%BD%D0%B0_%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81_%D0%B0%D0%B2%D1%82%D0%BE%D0%BF%D0%B0%D1%82%D1%80%D1%83%D0%BB%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D0%BE%D0%B3%D0%BE&diff=0&oldid=132756058
для просмотра всех изменений,
произошедших с вашего последнего
посещения

Краткое описание изменения: -

Обратиться к изменившему:
эл. почта:
https://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9F%D0%B8%D1%81%D1%8C%D0%BC%D0%BE_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D1%83/Emil.arg
вики:
https://ru.wikipedia.org/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Emil.arg

Если вы не зайдёте на эту страницу под
своей учётной записью, в случае её
дальнейших изменений уведомлений
больше не будет. Вы можете также
отключить опцию уведомления для всех
страниц в вашем списке наблюдения.

Система оповещения Википедии

Изменение настройки уведомлений
https://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8

Изменение настройки вашего списка
наблюдения
https://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C_%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%BD%D0%B0%D0%B1%D0%BB%D1%8E%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F

Удалить страницы из вашего списка
наблюдения
https://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%97%D0%B0%D1%8F%D0%B2%D0%BA%D0%B8_%D0%BD%D0%B0_%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81_%D0%B0%D0%B2%D1%82%D0%BE%D0%BF%D0%B0%D1%82%D1%80%D1%83%D0%BB%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D0%BE%D0%B3%D0%BE&action=unwatch

Обратная связь и помощь
https://ru.wikipedia.org/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B0

This is how it should (and could IF HTML-Email format or would be used or the URLs wouldn't be URL-encoded) look:

Здравствуйте, Nikolay Komarov!

5 сентября 2023 участником Emil.arg была изменена страница проекта «Википедия» с именем «Википедия:Заявки на статус автопатрулируемого», см. текущую версию по ссылке:
https://ru.wikipedia.org/wiki/Википедия:Заявки_на_статус_автопатрулируемого

См.
https://ru.wikipedia.org/w/index.php?title=Википедия:Заявки_на_статус_автопатрулируемого&diff=next&oldid=132756058
для ознакомления с изменением

См.
https://ru.wikipedia.org/w/index.php?title=Википедия:Заявки_на_статус_автопатрулируемого&diff=0&oldid=132756058
для просмотра всех изменений,
произошедших с вашего последнего
посещения

Краткое описание изменения: -

Обратиться к изменившему:
эл. почта:
https://ru.wikipedia.org/wiki/Служебная:Письмо_участнику/Emil.arg
вики:
https://ru.wikipedia.org/wiki/Участник:Emil.arg

Если вы не зайдёте на эту страницу под
своей учётной записью, в случае её
дальнейших изменений уведомлений
больше не будет. Вы можете также
отключить опцию уведомления для всех
страниц в вашем списке наблюдения.

Система оповещения Википедии

Изменение настройки уведомлений
https://ru.wikipedia.org/wiki/Служебная:Настройки

Изменение настройки вашего списка
наблюдения
https://ru.wikipedia.org/wiki/Служебная:Править_список_наблюдения

Удалить страницы из вашего списка
наблюдения
https://ru.wikipedia.org/w/index.php?title=Википедия:Заявки_на_статус_автопатрулируемого&action=unwatch

Обратная связь и помощь
https://ru.wikipedia.org/wiki/Википедия:Справка

I would still prefer to "make everyone suffer" to having broken links in email clients which don't interpret bytes correctly.

You wrote this 9 years ago. Perhaps now such clients, if they still exist, are outdated and marginal enough that we can ignore them?

@Nikolay_Komarov See T15303 instead for HTML format

It seems like T15203 takes some pretty big effort to implement.

What I propose here is much simpler, it's basically just one call of Unurlencode(body) or comment out some URLEncode(body) call somewhere.

This is how it looks today:

Здравствуйте, Nikolay Komarov!

27 января 2024 участником Leokand была изменена страница проекта «Википедия» с именем «Википедия:Критерии значимости персоналий», см. текущую версию по
ссылке:
https://ru.wikipedia.org/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B8_%D0%B7%D0%BD%D0%B0%D1%87%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8_%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D0%B8%D0%B9

См.
https://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B8_%D0%B7%D0%BD%D0%B0%D1%87%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8_%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D0%B8%D0%B9&diff=next&oldid=133804277
для ознакомления с изменением

См.
https://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B8_%D0%B7%D0%BD%D0%B0%D1%87%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8_%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D0%B8%D0%B9&diff=0&oldid=133804277
для просмотра всех изменений,
произошедших с вашего последнего
посещения

Краткое описание изменения: /* Другие */ оформление

Обратиться к изменившему:
эл. почта:
https://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9F%D0%B8%D1%81%D1%8C%D0%BC%D0%BE_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D1%83/Leokand
вики:
https://ru.wikipedia.org/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Leokand

Если вы не зайдёте на эту страницу под
своей учётной записью, в случае её
дальнейших изменений уведомлений
больше не будет. Вы можете также
отключить опцию уведомления для всех
страниц в вашем списке наблюдения.

Система оповещения Википедии

Изменение настройки уведомлений
https://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8

Изменение настройки вашего списка
наблюдения
https://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C_%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%BD%D0%B0%D0%B1%D0%BB%D1%8E%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F

Удалить страницы из вашего списка
наблюдения
https://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B8_%D0%B7%D0%BD%D0%B0%D1%87%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8_%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D0%B8%D0%B9&action=unwatch

Обратная связь и помощь
https://ru.wikipedia.org/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B0