@@ -145,10 +145,6 @@ extension ProgressManager {
145145            state. getFileCountUpdateInfo ( type:  type) 
146146        } 
147147
148- //        for child in updateInfo.dirtyChildren.compactMap({ $0.manager }) {
149- //            child.access(keyPath: \.summarySink)
150- //        }
151-         
152148        // Get updated summary for each dirty child
153149        let  updatedSummaries  =  updateInfo. dirtyChildren. map  {  ( index,  child)  in 
154150            State . FileCountUpdate ( index:  index,  updatedSummary:  child. updatedFileCount ( type:  type) ) 
@@ -292,91 +288,103 @@ extension ProgressManager {
292288    } 
293289
294290    internal  func  markChildDirty( property:  MetatypeWrapper < Int ,  Int > ,  at position:  Int )  { 
291+         self . willSet ( keyPath:  \. additionalPropertiesSummarySink) 
295292        let  parents  =  state. withLock  {  state in 
296293            state. markChildDirty ( property:  property,  at:  position) 
297294        } 
298295        markSelfDirty ( property:  property,  parents:  parents) 
299296    } 
300297
301298    internal  func  markChildDirty( property:  MetatypeWrapper < UInt64 ,  UInt64 > ,  at position:  Int )  { 
299+         self . willSet ( keyPath:  \. additionalPropertiesSummarySink) 
302300        let  parents  =  state. withLock  {  state in 
303301            state. markChildDirty ( property:  property,  at:  position) 
304302        } 
305303        markSelfDirty ( property:  property,  parents:  parents) 
306304    } 
307305
308306    internal  func  markChildDirty( property:  MetatypeWrapper < Double ,  Double > ,  at position:  Int )  { 
307+         self . willSet ( keyPath:  \. additionalPropertiesSummarySink) 
309308        let  parents  =  state. withLock  {  state in 
310309            state. markChildDirty ( property:  property,  at:  position) 
311310        } 
312311        markSelfDirty ( property:  property,  parents:  parents) 
313312    } 
314313
315314    internal  func  markChildDirty( property:  MetatypeWrapper < String ? ,  [ String ? ] > ,  at position:  Int )  { 
315+         self . willSet ( keyPath:  \. additionalPropertiesSummarySink) 
316316        let  parents  =  state. withLock  {  state in 
317317            state. markChildDirty ( property:  property,  at:  position) 
318318        } 
319319        markSelfDirty ( property:  property,  parents:  parents) 
320320    } 
321321
322322    internal  func  markChildDirty( property:  MetatypeWrapper < URL ? ,  [ URL ? ] > ,  at position:  Int )  { 
323+         self . willSet ( keyPath:  \. additionalPropertiesSummarySink) 
323324        let  parents  =  state. withLock  {  state in 
324325            state. markChildDirty ( property:  property,  at:  position) 
325326        } 
326327        markSelfDirty ( property:  property,  parents:  parents) 
327328    } 
328329
329330    internal  func  markChildDirty( property:  MetatypeWrapper < UInt64 ,  [ UInt64 ] > ,  at position:  Int )  { 
331+         self . willSet ( keyPath:  \. additionalPropertiesSummarySink) 
330332        let  parents  =  state. withLock  {  state in 
331333            state. markChildDirty ( property:  property,  at:  position) 
332334        } 
333335        markSelfDirty ( property:  property,  parents:  parents) 
334336    } 
335337
336338    internal  func  markChildDirty( property:  MetatypeWrapper < Duration ,  Duration > ,  at position:  Int )  { 
339+         self . willSet ( keyPath:  \. additionalPropertiesSummarySink) 
337340        let  parents  =  state. withLock  {  state in 
338341            state. markChildDirty ( property:  property,  at:  position) 
339342        } 
340343        markSelfDirty ( property:  property,  parents:  parents) 
341344    } 
342345
343346    internal  func  markChildDirty( property:  ProgressManager . Properties . TotalFileCount . Type ,  at position:  Int )  { 
344-         self . willSet ( keyPath:  \. summarySink ) 
347+         self . willSet ( keyPath:  \. totalFileCountSummary ) 
345348            let  parents  =  state. withLock  {  state in 
346349                state. markChildDirty ( property:  property,  at:  position) 
347350            } 
348351            markSelfDirty ( property:  property,  parents:  parents) 
349352    } 
350353
351354    internal  func  markChildDirty( property:  ProgressManager . Properties . CompletedFileCount . Type ,  at position:  Int )  { 
355+         self . willSet ( keyPath:  \. completedFileCountSummary) 
352356        let  parents  =  state. withLock  {  state in 
353357            state. markChildDirty ( property:  property,  at:  position) 
354358        } 
355359        markSelfDirty ( property:  property,  parents:  parents) 
356360    } 
357361
358362    internal  func  markChildDirty( property:  ProgressManager . Properties . TotalByteCount . Type ,  at position:  Int )  { 
363+         self . willSet ( keyPath:  \. totalByteCountSummary) 
359364        let  parents  =  state. withLock  {  state in 
360365            state. markChildDirty ( property:  property,  at:  position) 
361366        } 
362367        markSelfDirty ( property:  property,  parents:  parents) 
363368    } 
364369
365370    internal  func  markChildDirty( property:  ProgressManager . Properties . CompletedByteCount . Type ,  at position:  Int )  { 
371+         self . willSet ( keyPath:  \. completedByteCountSummary) 
366372        let  parents  =  state. withLock  {  state in 
367373            state. markChildDirty ( property:  property,  at:  position) 
368374        } 
369375        markSelfDirty ( property:  property,  parents:  parents) 
370376    } 
371377
372378    internal  func  markChildDirty( property:  ProgressManager . Properties . Throughput . Type ,  at position:  Int )  { 
379+         self . willSet ( keyPath:  \. throughputSummary) 
373380        let  parents  =  state. withLock  {  state in 
374381            state. markChildDirty ( property:  property,  at:  position) 
375382        } 
376383        markSelfDirty ( property:  property,  parents:  parents) 
377384    } 
378385
379386    internal  func  markChildDirty( property:  ProgressManager . Properties . EstimatedTimeRemaining . Type ,  at position:  Int )  { 
387+         self . willSet ( keyPath:  \. estimatedTimeRemainingSummary) 
380388        let  parents  =  state. withLock  {  state in 
381389            state. markChildDirty ( property:  property,  at:  position) 
382390        } 
0 commit comments