mirror of https://github.com/vector-im/riot-web
fix the bugs Tulir found - THANKS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>pull/21833/head
parent
023632e7e4
commit
14f29e4740
|
@ -162,11 +162,12 @@ export default class ReplyThread extends React.Component {
|
|||
}
|
||||
|
||||
html = `<blockquote data-mx-reply><a href="${makeEventPermalink(ev.getRoomId(), ev.getId())}">In reply to</a> `
|
||||
+ `<a href="${makeUserPermalink(ev.getSender())}">${ev.getSender()}</a> ${html || body}</blockquote>`;
|
||||
// `<${ev.getSender()}> ${html || body}</blockquote>`;
|
||||
const lines = body.split('\n');
|
||||
const first = `> <${ev.getSender()}> ${lines.shift()}`;
|
||||
body = first + lines.map((line) => `> ${line}`).join('\n') + '\n';
|
||||
+ `<a href="${makeUserPermalink(ev.getSender())}">${ev.getSender()}</a><br>${html || body}</blockquote>`;
|
||||
const lines = body.trim().split('\n');
|
||||
if (lines.length > 0) {
|
||||
lines[0] = `<${ev.getSender()}> ${lines[0]}`;
|
||||
body = lines.map((line) => `> ${line}`).join('\n') + '\n\n';
|
||||
}
|
||||
|
||||
return {body, html};
|
||||
}
|
||||
|
|
|
@ -753,10 +753,15 @@ export default class MessageComposerInput extends React.Component {
|
|||
return true;
|
||||
}
|
||||
|
||||
const replyingToEv = RoomViewStore.getQuotingEvent();
|
||||
const mustSendHTML = Boolean(replyingToEv);
|
||||
|
||||
if (this.state.isRichtextEnabled) {
|
||||
// We should only send HTML if any block is styled or contains inline style
|
||||
let shouldSendHTML = false;
|
||||
|
||||
if (mustSendHTML) shouldSendHTML = true;
|
||||
|
||||
const blocks = contentState.getBlocksAsArray();
|
||||
if (blocks.some((block) => block.getType() !== 'unstyled')) {
|
||||
shouldSendHTML = true;
|
||||
|
@ -815,7 +820,7 @@ export default class MessageComposerInput extends React.Component {
|
|||
|
||||
const md = new Markdown(pt);
|
||||
// if contains no HTML and we're not quoting (needing HTML)
|
||||
if (md.isPlainText()) {
|
||||
if (md.isPlainText() && !mustSendHTML) {
|
||||
contentText = md.toPlaintext();
|
||||
} else {
|
||||
contentHTML = md.toHTML();
|
||||
|
@ -830,8 +835,6 @@ export default class MessageComposerInput extends React.Component {
|
|||
this.state.isRichtextEnabled ? 'html' : 'markdown',
|
||||
);
|
||||
|
||||
const replyingToEv = RoomViewStore.getQuotingEvent();
|
||||
|
||||
if (contentText.startsWith('/me')) {
|
||||
if (replyingToEv) {
|
||||
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
|
||||
|
@ -850,7 +853,7 @@ export default class MessageComposerInput extends React.Component {
|
|||
}
|
||||
|
||||
|
||||
let content = contentHTML || replyingToEv ? sendHtmlFn(contentText, contentHTML) : sendTextFn(contentText);
|
||||
let content = contentHTML ? sendHtmlFn(contentText, contentHTML) : sendTextFn(contentText);
|
||||
|
||||
if (replyingToEv) {
|
||||
const replyContent = ReplyThread.getReplyEvContent(replyingToEv);
|
||||
|
|
Loading…
Reference in New Issue