fastmail / Squire

The rich text editor for arbitrary HTML.
MIT License
4.75k stars 406 forks source link

Avoid mangling the `-- ` signature delimiter #429

Closed raboof closed 1 year ago

raboof commented 1 year ago

As Squire is used for email clients a lot (I'm a happy Fastmail customer), and those might insert the signature into new emails with setHTML, it would be good if it would leave -- signature delimiter intact.

You could argue it's not very nice to 'special-case' the delimiter like this, though on the other hand it really is a special case and all other trailing whitespace does typically deserve to be truncated.

This problem is typically only encountered on Firefox, as when you add "-- " to the signature in Chromium it gets saved as --  rather than -- so the whitespace removal code leaves it alone.

neilj commented 1 year ago

This signature delimiter only really applies to plain text (and Fastmail does add this to plain text signatures). I don't think clients take much notice of it for HTML email (you tend to look at other heuristics), so I'm not convinced it's worth adding a special case here.

raboof commented 1 year ago

This signature delimiter only really applies to plain text. I don't think clients take much notice of it for HTML email

I'm not so sure that's true, for example K-9 does support it for HTML and so does the GMail web interface.

(you tend to look at other heuristics)

For K-9 it's easy to check the code that it's looking for '-- ' specifically, for GMail it's hard to be sure but I haven't been able to get it to recognize any other signature patterns.

Even if it'd only be relevant to plain text emails, I'd like to be able to have a HTML signature that also works correctly in the plaintext variation of a multipart/alternative email.

Fastmail does add this to plain text signatures

In the web app? I haven't seen a way to add plain text signatures?

I'm not convinced it's worth adding a special case here.

If it matters, I would really appreciate it and am happy to 'maintain' it (i.e. help out in case this leads to more work 'down the line')