diff --git a/src/Client/Resolver/Resolver.js b/src/Client/Resolver/Resolver.js index 571970f0a..e697ce463 100644 --- a/src/Client/Resolver/Resolver.js +++ b/src/Client/Resolver/Resolver.js @@ -159,9 +159,14 @@ export default class Resolver { } if (resource instanceof User) { // see if a PM exists - var chatFound = this.internal.private_channels.find( - pmchat => pmchat.recipient.equals(resource) - ); + var chatFound = false; + for (var pmchat of this.internal.private_channels) { + if (pmchat.recipient.equals(resource)) { + chatFound = pmchat; + break; + } + } + if (chatFound) { // a PM already exists! return Promise.resolve(chatFound); diff --git a/src/Util/Cache.js b/src/Util/Cache.js index 8791f3632..7fc70aec1 100644 --- a/src/Util/Cache.js +++ b/src/Util/Cache.js @@ -55,7 +55,11 @@ export default class Cache extends Array { if (item) { var index = this.indexOf(item); - Object.assign(this[index], data); + for (var dataIndex in data) { + if (data.hasOwnProperty(dataIndex)) { + this[index][dataIndex] = data[dataIndex]; + } + } this[discrimCacheS][data[this[discrimS]]] = this[index]; return this[index]; } else {