@@ -92,6 +92,9 @@ class TransferStore {
9292
9393 executionsPageSize = 10 ;
9494
95+ // Deleted execution ids, kept so a stale polling response can't re-add them
96+ private deletedExecutionIds : Set < string > = new Set ( ) ;
97+
9598 @action resetTransferPagination ( ) : void {
9699 this . transfersPage = 1 ;
97100 this . transfersHasNextPage = false ;
@@ -288,6 +291,7 @@ class TransferStore {
288291 const incoming = transfer . executions . filter (
289292 e =>
290293 e . number > newestNumber &&
294+ ! this . deletedExecutionIds . has ( e . id ) &&
291295 ! this . executionsList . find ( l => l . id === e . id ) ,
292296 ) ;
293297 if ( incoming . length > 0 ) {
@@ -300,6 +304,7 @@ class TransferStore {
300304 const withTasks = exec as ExecutionTasks ;
301305 if (
302306 Array . isArray ( withTasks . tasks ) &&
307+ ! this . deletedExecutionIds . has ( exec . id ) &&
303308 ! this . executionsTasks . find ( et => et . id === exec . id )
304309 ) {
305310 sortTasks ( withTasks . tasks , TransferSourceUtils . sortTaskUpdates ) ;
@@ -318,6 +323,7 @@ class TransferStore {
318323 this . transferDetails = null ;
319324 this . currentlyLoadingExecution = "" ;
320325 this . executionsTasks = [ ] ;
326+ this . deletedExecutionIds . clear ( ) ;
321327 }
322328
323329 @action getTransfersSuccess (
@@ -462,6 +468,7 @@ class TransferStore {
462468 }
463469
464470 @action deleteExecutionSuccess ( transferId : string , executionId : string ) {
471+ this . deletedExecutionIds . add ( executionId ) ;
465472 let executions = [ ] ;
466473
467474 if ( this . transferDetails ?. id === transferId ) {
0 commit comments