MessageRequests: Only add events to timeline if value really changed
This commit is contained in:
parent
16bbcc2c50
commit
7dbe57084b
2 changed files with 25 additions and 13 deletions
|
@ -2390,12 +2390,28 @@ export class ConversationModel extends window.Backbone
|
|||
const isLocalAction = !fromSync && !viaStorageServiceSync;
|
||||
|
||||
const currentMessageRequestState = this.get('messageRequestResponseType');
|
||||
const didResponseChange = response !== currentMessageRequestState;
|
||||
const wasPreviouslyAccepted = this.getAccepted();
|
||||
|
||||
const hasSpam = (messageRequestValue: number | undefined): boolean => {
|
||||
return (
|
||||
messageRequestValue === messageRequestEnum.SPAM ||
|
||||
messageRequestValue === messageRequestEnum.BLOCK_AND_SPAM
|
||||
);
|
||||
};
|
||||
const hasBlock = (messageRequestValue: number | undefined): boolean => {
|
||||
return (
|
||||
messageRequestValue === messageRequestEnum.BLOCK ||
|
||||
messageRequestValue === messageRequestEnum.BLOCK_AND_SPAM ||
|
||||
messageRequestValue === messageRequestEnum.BLOCK_AND_DELETE
|
||||
);
|
||||
};
|
||||
const didSpamChange =
|
||||
hasSpam(currentMessageRequestState) !== hasSpam(response);
|
||||
const didBlockChange = hasBlock(response) !== this.isBlocked();
|
||||
const didUnblock =
|
||||
response === messageRequestEnum.ACCEPT && this.isBlocked();
|
||||
|
||||
const didResponseChange = response !== currentMessageRequestState;
|
||||
const wasPreviouslyAccepted = this.getAccepted();
|
||||
|
||||
if (didResponseChange) {
|
||||
if (response === messageRequestEnum.ACCEPT) {
|
||||
// Only add a message if the user unblocked this conversation, or took an
|
||||
|
@ -2410,21 +2426,15 @@ export class ConversationModel extends window.Backbone
|
|||
);
|
||||
}
|
||||
}
|
||||
if (
|
||||
response === messageRequestEnum.BLOCK ||
|
||||
response === messageRequestEnum.BLOCK_AND_SPAM ||
|
||||
response === messageRequestEnum.BLOCK_AND_DELETE
|
||||
) {
|
||||
|
||||
if (hasBlock(response) && didBlockChange) {
|
||||
drop(
|
||||
this.addMessageRequestResponseEventMessage(
|
||||
MessageRequestResponseEvent.BLOCK
|
||||
)
|
||||
);
|
||||
}
|
||||
if (
|
||||
response === messageRequestEnum.SPAM ||
|
||||
response === messageRequestEnum.BLOCK_AND_SPAM
|
||||
) {
|
||||
if (hasSpam(response) && didSpamChange) {
|
||||
drop(
|
||||
this.addMessageRequestResponseEventMessage(
|
||||
MessageRequestResponseEvent.SPAM
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue