Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First implementation to display multilingual email parts (RFC8255) #1104

Closed
wants to merge 5 commits into from

Conversation

igit
Copy link
Contributor

@igit igit commented Mar 18, 2018

Written during the #IETFHackathon [1] of the #IETF101 [2].
[1] : https://trac.ietf.org/trac/ietf/meeting/wiki/101hackathon
[2] : https://www.ietf.org/how/meetings/101/

This code is not stable nor correct regarding to the neomutt code style / contribution guide.
This just demonstrated the Proof Of Concept to display in a MUA email build with RFC8255.

Written during the #IETFHackathon [1] of the #IETF101 [2].
[1] : https://trac.ietf.org/trac/ietf/meeting/wiki/101hackathon
[2] : https://www.ietf.org/how/meetings/101/

This code is **not stable** nor **correct** regarding to the neomutt code style / contribution guide.
This just demonstrated the Proof Of Concept to display in a MUA email build with RFC8255.
**Use at your own risk.**

A RFC8255 reflector has also be developped during the #IETFHackathon, see here : https://github.com/igit/rfc8255-reflector
@ghost ghost added the status:in-progress label Mar 18, 2018
@flatcap flatcap added the type:enhancement Feature Request label Mar 19, 2018
@flatcap
Copy link
Member

flatcap commented Mar 19, 2018

Thanks for the code @igit -- very interesting.

This code is not stable nor correct regarding to the neomutt code style / contribution guide.

hehe, not a problem. clang-format will sort out most of that for us.

It would be really helpful if you could attach a sample email for us to test.
Perhaps, "hello world" in three languages.

@jindraj
Copy link
Member

jindraj commented Mar 19, 2018

@flatcap Maybe examples from RFC8255 could be sufficient for testing https://trac.tools.ietf.org/html/rfc8255#section-8 + @igit has a repo https://github.com/igit/rfc8255-reflector which could be quite useful for testing too.

@igit
Copy link
Contributor Author

igit commented Mar 19, 2018

@flatcap @jindraj Thank you guys for regarding this code !
You can play with the online reflector at this recipient address :
reflector[... config ...]@rfc8255.as-home.fr
See the "How to use" in https://github.com/igit/rfc8255-reflector/blob/master/README.md to set the good plus-addressing config (ex: reflector+sl_en+tl_fr+tl_es+tl_de@rfc8255.as-home.fr).

Please let's me know if it (the reflector) works fine for you.

@bortzmeyer
Copy link

Congratulations, this is great work. What about one or two screenshots for the poeple who hesitate to try the patch?

@igit
Copy link
Contributor Author

igit commented Mar 20, 2018

Here is a UI example with an english message sent to the reflector to be translated to "fr", "es", "zh" and "ar" and replied with RFC8255 email.

before-patch

after-patch-display-matched-lang-fr

after-patch-display-matched-lang-es

after-patch-display-matched-lang-zh

after-patch-display-matched-lang-ar

after-patch-display-not-matched-lang-de

@flatcap
Copy link
Member

flatcap commented Mar 26, 2018

I've given it a try and it works (you knew that :-)
I've also played with your reflector -- very fun.

I've run the code through clang-format and given it a tidy -- see the commit message for the details.
I've also added the RFC text with the 3 examples cut out -- just for testing purposes (we can drop the commit before merging).

Your code looks reasonable. I still have more testing to do.

Your code reads the multi-lingual parts.
It would be nice if we can extend #734 so that we can create them too.

@walkerlala
Copy link
Contributor

How do you get those emoji displayed in the pager?

@walkerlala
Copy link
Contributor

This series of patches look good to me. I will add support for writing multipart/multilingual emails in branch https://github.com/neomutt/neomutt/tree/devel/multipartalternative

@walkerlala
Copy link
Contributor

@flatcap @igit Can I apply the patch to branch [devel/multipartalternative] so that I can directly develop on that branch?. All the commit messages will be leave intact (it seems like a rebase). Also, there is a bug in viewing the multilingual message: when there is no Content-Language header in every part of a multilingual email, neomutt will show nothing. It will be easier for me to fix that if all the commits are rebased to [devel/multipartalternative].

@walkerlala
Copy link
Contributor

@igit I have just transfer you commits to branch [multipart/alternative] (see #734) and fix a bug on top of it. If you have time please review that in case I miss anything.

@flatcap please review.

@flatcap
Copy link
Member

flatcap commented May 2, 2018

Merged as part of #734

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:enhancement Feature Request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants