bug fixes
This commit is contained in:
parent
276b96232c
commit
562738bec6
|
@ -63,10 +63,9 @@ const RocketChat = {
|
||||||
|
|
||||||
Meteor.ddp.on('connected', async() => {
|
Meteor.ddp.on('connected', async() => {
|
||||||
Meteor.ddp.on('changed', (ddpMessage) => {
|
Meteor.ddp.on('changed', (ddpMessage) => {
|
||||||
const server = { id: reduxStore.getState().server.server };
|
|
||||||
if (ddpMessage.collection === 'stream-room-messages') {
|
if (ddpMessage.collection === 'stream-room-messages') {
|
||||||
return realm.write(() => {
|
return realm.write(() => {
|
||||||
const message = this._buildMessage(ddpMessage.fields.args[0], server);
|
const message = this._buildMessage(ddpMessage.fields.args[0]);
|
||||||
realm.create('messages', message, true);
|
realm.create('messages', message, true);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -258,15 +257,15 @@ const RocketChat = {
|
||||||
return tmp;
|
return tmp;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
_buildMessage(message, server) {
|
_buildMessage(message) {
|
||||||
server = server || reduxStore.getState().server.server;
|
const { server } = reduxStore.getState().server;
|
||||||
message.temp = false;
|
message.temp = false;
|
||||||
message._server = { id: server };
|
message._server = { id: server };
|
||||||
message.attachments = message.attachments || [];
|
message.attachments = message.attachments || [];
|
||||||
if (message.urls) {
|
if (message.urls) {
|
||||||
message.urls = RocketChat._parseUrls(message.urls);
|
message.urls = RocketChat._parseUrls(message.urls);
|
||||||
}
|
}
|
||||||
message.starred = !!message.starred;
|
message.starred = message.starred && (Array.isArray(message.starred) ? message.starred.length > 0 : !!message.starred);
|
||||||
return message;
|
return message;
|
||||||
},
|
},
|
||||||
loadMessagesForRoom(rid, end, cb) {
|
loadMessagesForRoom(rid, end, cb) {
|
||||||
|
@ -279,8 +278,7 @@ const RocketChat = {
|
||||||
return reject(err);
|
return reject(err);
|
||||||
}
|
}
|
||||||
if (data && data.messages.length) {
|
if (data && data.messages.length) {
|
||||||
const { server } = reduxStore.getState().server;
|
const messages = data.messages.map(message => this._buildMessage(message));
|
||||||
const messages = data.messages.map(message => this._buildMessage(message, server));
|
|
||||||
realm.write(() => {
|
realm.write(() => {
|
||||||
messages.forEach((message) => {
|
messages.forEach((message) => {
|
||||||
realm.create('messages', message, true);
|
realm.create('messages', message, true);
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue