everything seems to work now
This commit is contained in:
@@ -1681,6 +1681,7 @@ img.channel {
|
|||||||
top: 0.35rem;
|
top: 0.35rem;
|
||||||
float: right;
|
float: right;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
user-select: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The name of the person who sent the message
|
/* The name of the person who sent the message
|
||||||
@@ -2484,6 +2485,7 @@ ul.tabbar li.active > a {
|
|||||||
|
|
||||||
.reply-quote .inline-image {
|
.reply-quote .inline-image {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
|
margin-bottom: 0.1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
#reply-quote-preview {
|
#reply-quote-preview {
|
||||||
|
|||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
@@ -205,8 +205,9 @@ export function previewFormatter(style, data, values, key) {
|
|||||||
// Ignore JSON attachments: they are form response payloads.
|
// Ignore JSON attachments: they are form response payloads.
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// Clear inband data.
|
// Clear payload.
|
||||||
data.val = null;
|
delete data.val;
|
||||||
|
delete data.ref;
|
||||||
}
|
}
|
||||||
el = React.Fragment;
|
el = React.Fragment;
|
||||||
values = [<i key="ex" className="material-icons">attachment</i>, this.formatMessage(messages.drafty_attachment)];
|
values = [<i key="ex" className="material-icons">attachment</i>, this.formatMessage(messages.drafty_attachment)];
|
||||||
@@ -260,11 +261,12 @@ export function quoteFormatter(style, data, values, key) {
|
|||||||
// Ignore JSON attachments: they are form response payloads.
|
// Ignore JSON attachments: they are form response payloads.
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// Clear inband data.
|
|
||||||
data.val = null;
|
|
||||||
fname = data.name;
|
fname = data.name;
|
||||||
|
// Clear payload.
|
||||||
|
delete data.val;
|
||||||
|
delete data.ref;
|
||||||
}
|
}
|
||||||
if (!fname)
|
if (!fname) {
|
||||||
fname = this.formatMessage(messages.drafty_attachment);
|
fname = this.formatMessage(messages.drafty_attachment);
|
||||||
}
|
}
|
||||||
el = React.Fragment;
|
el = React.Fragment;
|
||||||
|
|||||||
@@ -379,7 +379,7 @@ class MessagesView extends React.Component {
|
|||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log("Failed subscription to", this.state.topic);
|
console.error("Failed subscription to", this.state.topic);
|
||||||
this.props.onError(err.message, 'err');
|
this.props.onError(err.message, 'err');
|
||||||
const blankState = MessagesView.getDerivedStateFromProps({}, {});
|
const blankState = MessagesView.getDerivedStateFromProps({}, {});
|
||||||
blankState.title = this.props.intl.formatMessage(messages.not_found);
|
blankState.title = this.props.intl.formatMessage(messages.not_found);
|
||||||
@@ -600,7 +600,7 @@ class MessagesView extends React.Component {
|
|||||||
this.forceUpdate();
|
this.forceUpdate();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
console.log("Other change in topic: ", info.what);
|
console.info("Other change in topic: ", info.what);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -636,7 +636,7 @@ class MessagesView extends React.Component {
|
|||||||
url.search = params;
|
url.search = params;
|
||||||
window.open(url, '_blank');
|
window.open(url, '_blank');
|
||||||
} else {
|
} else {
|
||||||
console.log("Unknown action in form", action);
|
console.info("Unknown action in form", action);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -884,10 +884,10 @@ class MessagesView extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Make small image previews.
|
// Make small image previews.
|
||||||
const ents = [];
|
const images = [];
|
||||||
Drafty.entities(content, (data, idx, tp) => {
|
Drafty.entities(content, (data, idx, tp) => {
|
||||||
if (tp == 'IM') {
|
if (tp == 'IM') {
|
||||||
ents.push({
|
images.push({
|
||||||
tp: tp,
|
tp: tp,
|
||||||
data: data
|
data: data
|
||||||
});
|
});
|
||||||
@@ -895,7 +895,7 @@ class MessagesView extends React.Component {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Turn all images into thumbnails.
|
// Turn all images into thumbnails.
|
||||||
const promises = ents.map((ex) => {
|
const promises = images.map((ex) => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const handleFailure = () => {
|
const handleFailure = () => {
|
||||||
ex.data.val = '';
|
ex.data.val = '';
|
||||||
@@ -978,7 +978,7 @@ class MessagesView extends React.Component {
|
|||||||
ref.current.classList.add('flash');
|
ref.current.classList.add('flash');
|
||||||
setTimeout(() => { ref.current.classList.remove('flash') } , 1000);
|
setTimeout(() => { ref.current.classList.remove('flash') } , 1000);
|
||||||
} else {
|
} else {
|
||||||
console.error("Unresolved message ref: seqId", replyToSeq);
|
console.error("Unresolved message ref", replyToSeq);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ class BaseChatMessage extends React.PureComponent {
|
|||||||
let content = this.props.content;
|
let content = this.props.content;
|
||||||
const attachments = [];
|
const attachments = [];
|
||||||
if (this.props.mimeType == Drafty.getContentType() && Drafty.isValid(content)) {
|
if (this.props.mimeType == Drafty.getContentType() && Drafty.isValid(content)) {
|
||||||
Drafty.attachments(content, function(att, i) {
|
Drafty.attachments(content, (att, i) => {
|
||||||
if (att.mime == 'application/json') {
|
if (att.mime == 'application/json') {
|
||||||
// Don't show json objects as attachments.
|
// Don't show json objects as attachments.
|
||||||
// They are not meant for users.
|
// They are not meant for users.
|
||||||
|
|||||||
+35
-24
@@ -582,7 +582,8 @@ function previewFormatter(style, data, values, key) {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
data.val = null;
|
delete data.val;
|
||||||
|
delete data.ref;
|
||||||
}
|
}
|
||||||
|
|
||||||
el = (react__WEBPACK_IMPORTED_MODULE_0___default().Fragment);
|
el = (react__WEBPACK_IMPORTED_MODULE_0___default().Fragment);
|
||||||
@@ -612,11 +613,7 @@ function previewFormatter(style, data, values, key) {
|
|||||||
}
|
}
|
||||||
;
|
;
|
||||||
function quoteFormatter(style, data, values, key) {
|
function quoteFormatter(style, data, values, key) {
|
||||||
if (['BR', 'IM', 'MN', 'QQ'].includes(style)) {
|
if (['BR', 'EX', 'IM', 'MN', 'QQ'].includes(style)) {
|
||||||
if (style == 'EX') {
|
|
||||||
console.log("quoteFormatter EX 1", data);
|
|
||||||
}
|
|
||||||
|
|
||||||
let el = tinode_sdk__WEBPACK_IMPORTED_MODULE_2__.Drafty.tagName(style);
|
let el = tinode_sdk__WEBPACK_IMPORTED_MODULE_2__.Drafty.tagName(style);
|
||||||
let attr = tinode_sdk__WEBPACK_IMPORTED_MODULE_2__.Drafty.attrValue(style, data) || {};
|
let attr = tinode_sdk__WEBPACK_IMPORTED_MODULE_2__.Drafty.attrValue(style, data) || {};
|
||||||
attr.key = key;
|
attr.key = key;
|
||||||
@@ -645,15 +642,35 @@ function quoteFormatter(style, data, values, key) {
|
|||||||
attr.className = 'reply-quote';
|
attr.className = 'reply-quote';
|
||||||
attr.onClick = this.onQuoteClick;
|
attr.onClick = this.onQuoteClick;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'EX':
|
||||||
|
let fname;
|
||||||
|
|
||||||
|
if (data) {
|
||||||
|
if (data.mime == 'application/json') {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
fname = data.name;
|
||||||
|
delete data.val;
|
||||||
|
delete data.ref;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!fname) {
|
||||||
|
fname = this.formatMessage(messages.drafty_attachment);
|
||||||
|
}
|
||||||
|
|
||||||
|
el = (react__WEBPACK_IMPORTED_MODULE_0___default().Fragment);
|
||||||
|
values = [react__WEBPACK_IMPORTED_MODULE_0___default().createElement("i", {
|
||||||
|
key: "ex",
|
||||||
|
className: "material-icons"
|
||||||
|
}, "attachment"), fname];
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return react__WEBPACK_IMPORTED_MODULE_0___default().createElement(el, attr, values);
|
return react__WEBPACK_IMPORTED_MODULE_0___default().createElement(el, attr, values);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (style == 'EX') {
|
|
||||||
console.log("quoteFormatter EX 2", data);
|
|
||||||
}
|
|
||||||
|
|
||||||
return previewFormatter.call(this, style, data, values, key);
|
return previewFormatter.call(this, style, data, values, key);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3465,7 +3482,7 @@ class MessagesView extends (react__WEBPACK_IMPORTED_MODULE_0___default().Compone
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
console.log("Failed subscription to", this.state.topic);
|
console.error("Failed subscription to", this.state.topic);
|
||||||
this.props.onError(err.message, 'err');
|
this.props.onError(err.message, 'err');
|
||||||
const blankState = MessagesView.getDerivedStateFromProps({}, {});
|
const blankState = MessagesView.getDerivedStateFromProps({}, {});
|
||||||
blankState.title = this.props.intl.formatMessage(messages.not_found);
|
blankState.title = this.props.intl.formatMessage(messages.not_found);
|
||||||
@@ -3705,7 +3722,7 @@ class MessagesView extends (react__WEBPACK_IMPORTED_MODULE_0___default().Compone
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
console.log("Other change in topic: ", info.what);
|
console.info("Other change in topic: ", info.what);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3750,7 +3767,7 @@ class MessagesView extends (react__WEBPACK_IMPORTED_MODULE_0___default().Compone
|
|||||||
url.search = params;
|
url.search = params;
|
||||||
window.open(url, '_blank');
|
window.open(url, '_blank');
|
||||||
} else {
|
} else {
|
||||||
console.log("Unknown action in form", action);
|
console.info("Unknown action in form", action);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3998,16 +4015,16 @@ class MessagesView extends (react__WEBPACK_IMPORTED_MODULE_0___default().Compone
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const ents = [];
|
const images = [];
|
||||||
Drafty.entities(content, (data, idx, tp) => {
|
Drafty.entities(content, (data, idx, tp) => {
|
||||||
if (tp == 'IM') {
|
if (tp == 'IM') {
|
||||||
ents.push({
|
images.push({
|
||||||
tp: tp,
|
tp: tp,
|
||||||
data: data
|
data: data
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
const promises = ents.map(ex => {
|
const promises = images.map(ex => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const handleFailure = () => {
|
const handleFailure = () => {
|
||||||
ex.data.val = '';
|
ex.data.val = '';
|
||||||
@@ -4089,7 +4106,7 @@ class MessagesView extends (react__WEBPACK_IMPORTED_MODULE_0___default().Compone
|
|||||||
ref.current.classList.remove('flash');
|
ref.current.classList.remove('flash');
|
||||||
}, 1000);
|
}, 1000);
|
||||||
} else {
|
} else {
|
||||||
console.error("Unresolved message ref: seqId", replyToSeq);
|
console.error("Unresolved message ref", replyToSeq);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7708,7 +7725,7 @@ class BaseChatMessage extends (react__WEBPACK_IMPORTED_MODULE_0___default().Pure
|
|||||||
const attachments = [];
|
const attachments = [];
|
||||||
|
|
||||||
if (this.props.mimeType == tinode_sdk__WEBPACK_IMPORTED_MODULE_2__.Drafty.getContentType() && tinode_sdk__WEBPACK_IMPORTED_MODULE_2__.Drafty.isValid(content)) {
|
if (this.props.mimeType == tinode_sdk__WEBPACK_IMPORTED_MODULE_2__.Drafty.getContentType() && tinode_sdk__WEBPACK_IMPORTED_MODULE_2__.Drafty.isValid(content)) {
|
||||||
tinode_sdk__WEBPACK_IMPORTED_MODULE_2__.Drafty.attachments(content, function (att, i) {
|
tinode_sdk__WEBPACK_IMPORTED_MODULE_2__.Drafty.attachments(content, (att, i) => {
|
||||||
if (att.mime == 'application/json') {
|
if (att.mime == 'application/json') {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -11458,16 +11475,10 @@ class SendMessage extends (react__WEBPACK_IMPORTED_MODULE_0___default().PureComp
|
|||||||
formatMessage
|
formatMessage
|
||||||
} = this.props.intl;
|
} = this.props.intl;
|
||||||
const prompt = this.props.disabled ? formatMessage(messages.messaging_disabled) : this.props.messagePrompt ? formatMessage(messages[this.props.messagePrompt]) : formatMessage(messages.type_new_message);
|
const prompt = this.props.disabled ? formatMessage(messages.messaging_disabled) : this.props.messagePrompt ? formatMessage(messages[this.props.messagePrompt]) : formatMessage(messages.type_new_message);
|
||||||
|
|
||||||
if (this.props.replyTo) {
|
|
||||||
console.log("Reply:", this.props.replyTo.content);
|
|
||||||
}
|
|
||||||
|
|
||||||
const quote = this.props.replyTo ? tinode_sdk__WEBPACK_IMPORTED_MODULE_2__.Drafty.format(this.props.replyTo.content, _lib_formatters_js__WEBPACK_IMPORTED_MODULE_5__.quoteFormatter, {
|
const quote = this.props.replyTo ? tinode_sdk__WEBPACK_IMPORTED_MODULE_2__.Drafty.format(this.props.replyTo.content, _lib_formatters_js__WEBPACK_IMPORTED_MODULE_5__.quoteFormatter, {
|
||||||
formatMessage: formatMessage,
|
formatMessage: formatMessage,
|
||||||
authorizeURL: this.props.tinode.authorizeURL
|
authorizeURL: this.props.tinode.authorizeURL
|
||||||
}) : null;
|
}) : null;
|
||||||
console.log("Quoted:", quote);
|
|
||||||
return react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
return react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
id: "send-message-wrapper"
|
id: "send-message-wrapper"
|
||||||
}, quote ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
}, quote ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+38
-18
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user