Remove unknown group messages from cache - no need to retry! (#1414)
FREEBIE
This commit is contained in:
parent
52a595b372
commit
36e8b82b5f
2 changed files with 8 additions and 6 deletions
|
@ -38674,7 +38674,7 @@ MessageReceiver.prototype.extend({
|
||||||
p = this.handleEndSession(destination);
|
p = this.handleEndSession(destination);
|
||||||
}
|
}
|
||||||
return p.then(function() {
|
return p.then(function() {
|
||||||
return this.processDecrypted(message, this.number).then(function(message) {
|
return this.processDecrypted(envelope, message, this.number).then(function(message) {
|
||||||
var ev = new Event('sent');
|
var ev = new Event('sent');
|
||||||
ev.confirm = this.removeFromCache.bind(this, envelope);
|
ev.confirm = this.removeFromCache.bind(this, envelope);
|
||||||
ev.data = {
|
ev.data = {
|
||||||
|
@ -38698,7 +38698,7 @@ MessageReceiver.prototype.extend({
|
||||||
p = this.handleEndSession(envelope.source);
|
p = this.handleEndSession(envelope.source);
|
||||||
}
|
}
|
||||||
return p.then(function() {
|
return p.then(function() {
|
||||||
return this.processDecrypted(message, envelope.source).then(function(message) {
|
return this.processDecrypted(envelope, message, envelope.source).then(function(message) {
|
||||||
var ev = new Event('message');
|
var ev = new Event('message');
|
||||||
ev.confirm = this.removeFromCache.bind(this, envelope);
|
ev.confirm = this.removeFromCache.bind(this, envelope);
|
||||||
ev.data = {
|
ev.data = {
|
||||||
|
@ -39008,7 +39008,7 @@ MessageReceiver.prototype.extend({
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
processDecrypted: function(decrypted, source) {
|
processDecrypted: function(envelope, decrypted, source) {
|
||||||
// Now that its decrypted, validate the message and clean it up for consumer processing
|
// Now that its decrypted, validate the message and clean it up for consumer processing
|
||||||
// Note that messages may (generally) only perform one action and we ignore remaining fields
|
// Note that messages may (generally) only perform one action and we ignore remaining fields
|
||||||
// after the first action.
|
// after the first action.
|
||||||
|
@ -39082,6 +39082,7 @@ MessageReceiver.prototype.extend({
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
this.removeFromCache(envelope);
|
||||||
throw new Error("Unknown group message type");
|
throw new Error("Unknown group message type");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -423,7 +423,7 @@ MessageReceiver.prototype.extend({
|
||||||
p = this.handleEndSession(destination);
|
p = this.handleEndSession(destination);
|
||||||
}
|
}
|
||||||
return p.then(function() {
|
return p.then(function() {
|
||||||
return this.processDecrypted(message, this.number).then(function(message) {
|
return this.processDecrypted(envelope, message, this.number).then(function(message) {
|
||||||
var ev = new Event('sent');
|
var ev = new Event('sent');
|
||||||
ev.confirm = this.removeFromCache.bind(this, envelope);
|
ev.confirm = this.removeFromCache.bind(this, envelope);
|
||||||
ev.data = {
|
ev.data = {
|
||||||
|
@ -447,7 +447,7 @@ MessageReceiver.prototype.extend({
|
||||||
p = this.handleEndSession(envelope.source);
|
p = this.handleEndSession(envelope.source);
|
||||||
}
|
}
|
||||||
return p.then(function() {
|
return p.then(function() {
|
||||||
return this.processDecrypted(message, envelope.source).then(function(message) {
|
return this.processDecrypted(envelope, message, envelope.source).then(function(message) {
|
||||||
var ev = new Event('message');
|
var ev = new Event('message');
|
||||||
ev.confirm = this.removeFromCache.bind(this, envelope);
|
ev.confirm = this.removeFromCache.bind(this, envelope);
|
||||||
ev.data = {
|
ev.data = {
|
||||||
|
@ -757,7 +757,7 @@ MessageReceiver.prototype.extend({
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
processDecrypted: function(decrypted, source) {
|
processDecrypted: function(envelope, decrypted, source) {
|
||||||
// Now that its decrypted, validate the message and clean it up for consumer processing
|
// Now that its decrypted, validate the message and clean it up for consumer processing
|
||||||
// Note that messages may (generally) only perform one action and we ignore remaining fields
|
// Note that messages may (generally) only perform one action and we ignore remaining fields
|
||||||
// after the first action.
|
// after the first action.
|
||||||
|
@ -831,6 +831,7 @@ MessageReceiver.prototype.extend({
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
this.removeFromCache(envelope);
|
||||||
throw new Error("Unknown group message type");
|
throw new Error("Unknown group message type");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue