ignore incoming objects when unchanged
This commit is contained in:
Vendored
+3
@@ -958,11 +958,14 @@
|
|||||||
addObject = (messageObject, ignoreIfUnchanged = false) => {
|
addObject = (messageObject, ignoreIfUnchanged = false) => {
|
||||||
const existingObject = this.objects.value.get(messageObject.id);
|
const existingObject = this.objects.value.get(messageObject.id);
|
||||||
if (existingObject) {
|
if (existingObject) {
|
||||||
|
let isIdentical = existingObject.title == messageObject.title;
|
||||||
existingObject.title = messageObject.title;
|
existingObject.title = messageObject.title;
|
||||||
Object.values(messageObject.contentVersions).forEach((content) => {
|
Object.values(messageObject.contentVersions).forEach((content) => {
|
||||||
if (existingObject.contentVersions[content.id]) return;
|
if (existingObject.contentVersions[content.id]) return;
|
||||||
this.addObjectContent(existingObject, content);
|
this.addObjectContent(existingObject, content);
|
||||||
|
isIdentical = false;
|
||||||
});
|
});
|
||||||
|
if (isIdentical && ignoreIfUnchanged) return;
|
||||||
this.objects.set(existingObject.id, existingObject);
|
this.objects.set(existingObject.id, existingObject);
|
||||||
} else {
|
} else {
|
||||||
this.objects.set(messageObject.id, messageObject);
|
this.objects.set(messageObject.id, messageObject);
|
||||||
|
|||||||
@@ -354,11 +354,15 @@ export class Chat {
|
|||||||
): void => {
|
): void => {
|
||||||
const existingObject = this.objects.value.get(messageObject.id);
|
const existingObject = this.objects.value.get(messageObject.id);
|
||||||
if (existingObject) {
|
if (existingObject) {
|
||||||
|
let isIdentical = existingObject.title == messageObject.title;
|
||||||
|
|
||||||
existingObject.title = messageObject.title;
|
existingObject.title = messageObject.title;
|
||||||
Object.values(messageObject.contentVersions).forEach((content) => {
|
Object.values(messageObject.contentVersions).forEach((content) => {
|
||||||
if (existingObject.contentVersions[content.id]) return;
|
if (existingObject.contentVersions[content.id]) return;
|
||||||
this.addObjectContent(existingObject, content);
|
this.addObjectContent(existingObject, content);
|
||||||
|
isIdentical = false;
|
||||||
});
|
});
|
||||||
|
if (isIdentical && ignoreIfUnchanged) return;
|
||||||
this.objects.set(existingObject.id, existingObject);
|
this.objects.set(existingObject.id, existingObject);
|
||||||
} else {
|
} else {
|
||||||
this.objects.set(messageObject.id, messageObject);
|
this.objects.set(messageObject.id, messageObject);
|
||||||
|
|||||||
Reference in New Issue
Block a user