nextcloud / nextcloud/mail

Specify rich text colors in RGB or Hex by default

Open
#13,669 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. to triage enhancement
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:
Image

E-Mail in Outlook Classic:

Image

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:
Image

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.