diff --git a/src/components/task.vue b/src/components/task.vue index 5a50ec6f9..ec2fcb800 100644 --- a/src/components/task.vue +++ b/src/components/task.vue @@ -480,10 +480,7 @@ export default { return allowed ? this.parentRequest : this.requestId }, processUpdated: _.debounce(function(data) { - if ( - data.event === 'ACTIVITY_COMPLETED' || - data.event === 'ACTIVITY_ACTIVATED' - ) { + if (data.event === 'ACTIVITY_ACTIVATED') { this.reload(); } if (data.event === 'ACTIVITY_EXCEPTION') { @@ -515,6 +512,13 @@ export default { this.reload(); } }, + existsEventMessage(id, data) { + if (sessionStorage.getItem(id)) { + return true; + } + sessionStorage.setItem(id, data); + return false; + }, listenForParentChanges() { if (!this.parentRequest) { return; @@ -524,10 +528,16 @@ export default { `ProcessMaker.Models.ProcessRequest.${this.parentRequest}`, '.ProcessUpdated', (data) => { - if (['ACTIVITY_ACTIVATED'].includes(data.event)) { + if ( + ['ACTIVITY_ACTIVATED'].includes(data.event) && + !this.existsEventMessage(`${data.event}-${this.userId}-${this.taskId}`) + ) { this.closeTask(this.parentRequest); } - if (['ACTIVITY_COMPLETED'].includes(data.event)) { + if ( + ["ACTIVITY_COMPLETED"].includes(data.event) && + !this.existsEventMessage(`${data.event}-${this.userId}-${this.taskId}`) + ) { if (this.task.process_request.status === 'COMPLETED') { this.processCompleted(); }