mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-11-12 12:40:08 +08:00
9099542643
Summary: Previously we always created <blockquote class="gmail_quote"> to wrap quoted text. This is not correct. Gmail uses blockquotes only when it wants visual indentation, and <div>s to wrap other quoted text, like forwarded messages which are not displayed indented. This diff updates N1 to match Gmail exactly. Note that for replies, Gmail actually nests a blockquote.gmail_quote inside a div.gmail_quote. I also updated signature handling because it turns out the regexp that was removing existing signatures would blow away any and all divs until it reached a <blockquote> tag. Test Plan: See updated specs. Manually tested by creating a thread in Google Inbox and then performing fwd and reply in both N1 and Inbox. Results match. Reviewers: juan, evan Reviewed By: evan Differential Revision: https://phab.nylas.com/D2750
24 lines
821 B
JavaScript
24 lines
821 B
JavaScript
import {ComposerExtension} from 'nylas-exports';
|
|
import SignatureUtils from './signature-utils';
|
|
import SignatureStore from './signature-store';
|
|
|
|
export default class SignatureComposerExtension extends ComposerExtension {
|
|
static prepareNewDraft = ({draft}) => {
|
|
const accountId = draft.accountId;
|
|
const signature = SignatureStore.signatureForAccountId(accountId);
|
|
if (!signature) {
|
|
return;
|
|
}
|
|
draft.body = SignatureUtils.applySignature(draft.body, signature);
|
|
}
|
|
|
|
static finalizeSessionBeforeSending = ({session}) => {
|
|
// remove the <signature> element from the DOM,
|
|
// essentially unwraps the signature
|
|
const body = session.draft().body;
|
|
const changed = body.replace(/<\/?signature>/g, '');
|
|
if (body !== changed) {
|
|
session.changes.add({body: changed})
|
|
}
|
|
}
|
|
}
|