@@ -1359,8 +1359,8 @@ int main(string[] cliArgs) {
13591359 }
13601360
13611361 // Handle any local filesystem events that occurred while the sync was running.
1362- // Remote -> local generated events are drained inside the standard sync path
1363- // immediately after online reconciliation, and inside oneDriveOnlineCallback() .
1362+ // Remote- generated and genuine concurrent local events are both processed at
1363+ // each reconciliation boundary; database/hash checks suppress harmless echoes .
13641364 processInotifyEvents(true );
13651365
13661366 // Detail the outcome of the sync process
@@ -1680,8 +1680,12 @@ void oneDriveOnlineCallback() {
16801680 }
16811681 }
16821682 if (appConfig.getValueBool(" monitor" )) {
1683- // Drain inotify events generated by online -> local reconciliation.
1684- processInotifyEvents(false , true );
1683+ // Process every queued inotify event after online -> local reconciliation.
1684+ // The database and local filesystem have already been updated by the remote
1685+ // reconciliation, so self-generated events are naturally filtered by the
1686+ // existing database/hash checks. Genuine concurrent local events must not be
1687+ // consumed and discarded here.
1688+ processInotifyEvents(true );
16851689 }
16861690}
16871691
@@ -1735,8 +1739,10 @@ void performStandardSyncProcess(string localPath, Monitor filesystemMonitor = nu
17351739 // Download data from OneDrive last
17361740 syncEngineInstance.syncOneDriveAccountToLocalDisk();
17371741 if (appConfig.getValueBool(" monitor" )) {
1738- // Cancel out any inotify events from downloading data
1739- processInotifyEvents(false , true );
1742+ // Process all queued inotify events. Events caused by the completed remote
1743+ // reconciliation are filtered by current database/hash state; concurrent
1744+ // local activity must remain actionable.
1745+ processInotifyEvents(true );
17401746 }
17411747
17421748 // At this point, we have done a sync from:
@@ -1754,8 +1760,10 @@ void performStandardSyncProcess(string localPath, Monitor filesystemMonitor = nu
17541760 // Download data from OneDrive first
17551761 syncEngineInstance.syncOneDriveAccountToLocalDisk();
17561762 if (appConfig.getValueBool(" monitor" )) {
1757- // Cancel out any inotify events from downloading data
1758- processInotifyEvents(false , true );
1763+ // Process all queued inotify events. Events caused by the completed remote
1764+ // reconciliation are filtered by current database/hash state; concurrent
1765+ // local activity must remain actionable.
1766+ processInotifyEvents(true );
17591767 }
17601768
17611769 // Perform the local database consistency check, picking up locally modified data and uploading this to OneDrive
@@ -1788,8 +1796,10 @@ void performStandardSyncProcess(string localPath, Monitor filesystemMonitor = nu
17881796 // If 'appConfig.fullScanTrueUpRequired' is true, we do not use the 'deltaLink' if we are in --monitor mode, thus forcing a full scan true up
17891797 syncEngineInstance.syncOneDriveAccountToLocalDisk();
17901798 if (appConfig.getValueBool(" monitor" )) {
1791- // Cancel out any inotify events from downloading data
1792- processInotifyEvents(false , true );
1799+ // Process all queued inotify events after the final online true-up.
1800+ // Never consume concurrent local changes merely because remote work
1801+ // also generated filesystem notifications.
1802+ processInotifyEvents(true );
17931803 }
17941804 } else {
17951805 // exitHandlerTriggered triggered
0 commit comments