Specify rich text colors in RGB or Hex by default
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1k
- Forks
- 348
- Avg merge
- 12h 28m
- Merged PRs (30d)
- 91
Description
Is your feature request related to a problem? Please describe.
From my understanding all rich text colors output by the editor are done so in HSL. As a result, certain E-Mail clients - namely Outlook Web App (Exchange Server) and Outlook (classic) - can't display the colors specified in an E-Mail sent through Nextcloud Mail.
E-Mail viewed from the "Sent" Folder in Nextcloud Mail:
E-Mail in Outlook Classic:
E-Mail Source pulled from Outlook:
f0460858_source.txt
Describe the solution you'd like
If nothing were to impede it, I imagine it'd be ideal to have the editor output RGB or hex colors by itself, as the alternative would involve sending its output through an intermediate step that does the conversion.
Describe alternatives you've considered
I've already attempted to create a patch which does that using 'color-convert', though only on the signature's output in src/components/SignatureSettings.vue > saveSignature(). Though an odd side-effect I get from that is that the rest of the E-Mail automatically starts defining its colors in RGB once I've converted the signature's to Hex.
E-Mail Source viewed from patched Nextcloud Mail:
patched_ncsource.txt
E-Mail in Outlook Web App:
E-Mail Source pulled from Outlook:
patched_outlooksource.txt
It does allow the colors to be output in Outlook, and I would be use it in an internal patched version of Nextcloud Mail if need be, but I figured it'd be sensible to consider addressing the subject matter at its core.
Additional context
For my patch, I've worked mainly from the latest commit on the main branch, so f0460858291c984aa6defa9c7532ef3f1ce900db at the time.
I've included my patch (as .txt), though I don't intend for it to be final and would make a formal PR if there's any interest for it: patch.txt
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 with src/components/SignatureSettings.vue and saveSignature(), then trace how the editor's rich-text colors become email output. Compare the generated source with the attached examples; done means colors are emitted in RGB or hex and display correctly in Outlook Web App and classic Outlook without relying only on signature conversion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 56/100