FileProvider: File badge and status icon not refreshed

ISSUE:
"testL2R" is a local folder added. After uploaded to server, I set its meta as isUploaded=YES and set the badge as SyncDone, and signal its parent. Through fileproviderctl tool, I can see the badge name is correctly set. But finderUI never update unless I go to root folder and reenter Private folder again.

I also tried signal workingSet, signal multiple times. Neither of them work. How can I get FinderUI updated?

Are you receiving enumerateChanges request to the working set after you signal? Are you sending the updated metadata for that item on the working set’s enumerateChanges observer?

If you’re doing all that, then file a feedback with Feedback Assistant. Include a sysdiagnose, and preferably install the iCloud Drive logging profile and reproduce again after installing.

Logging profile: https://developer.apple.com/bug-reporting/profiles-and-logs/?name=Drive

This is what I do and neither the badge nor the decoration updates:
I call the completionHandler before the upload completes, and isUploaded=NO at that time. Since we use thrift to upload data to remote server, and we need to support both old version(no FileProvider) and new version(FileProvider), and the upload logic is in host App, I store NSFileProviderItem metadata in DB, then after uploading done, update isUploaded=YES and decoration, then signal workingSet.

Working solution from clenart:
After uploading data done, and isUploaded=YES and update decoration, then call completionHandler.

FileProvider: File badge and status icon not refreshed
 
 
Q