thunderbird / thunderbird/thunderbird-android
mailto: links using percent encoding for UTF-8 encoding, avoiding RFC 2047 encoding, do not work
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 14k
- Forks
- 2.8k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 57
Description
Checklist
- I have used the search function to see if someone else has already submitted the same bug report.
- I will describe the problem with as much detail as possible.
App version
5.807
Where did you get the app from?
F-Droid
Android version
LineageOS
Device model
No response
Steps to reproduce
I click on the html code
<a href="mailto:?to=%D0%90%D0%BD%D0%B0%D1%81%D1%82%D0%B0%D1%81%D0%B8%D1%8F%20%3C1%40example.org%3E">zzz</a>
K9 mail opens, and contains empty TO: field.
If I take the decoded string (Анастасия), first RFC2047 ecnode it, then percent encode it, and click the link, K9 fills the TO: field. My reading of RFC6068 Examples Using UTF-8-Based Percent-Encoding is that both are equivalent:
- mailto:user@example.org?subject=caf%C3%A9
- mailto:user@example.org?subject=%3D%3Futf-8%3FQ%3Fcaf%3DC3%3DA9%3F%3D
So it is possible to skip the RFC2047 encoding and use only percent encoding on the UTF-8 data.
Expected behavior
I click on the html code
<a href="mailto:?to=%D0%90%D0%BD%D0%B0%D1%81%D1%82%D0%B0%D1%81%D0%B8%D1%8F%20%3C1%40example.org%3E">zzz</a>
K9 opens and shows empty TO: field.
Actual behavior
K9 mail shall fill To: Анастасия <1@example.org>
Logs
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the supplied HTML mailto link on the reported app and Android setup, then trace the mailto handling entry point for percent-decoded UTF-8 recipient data. Done means the link populates the To field with “Анастасия 1@example.org” without requiring RFC 2047 encoding.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100