Commit b002282 1 parent 1306be1 commit b002282 Copy full SHA for b002282
File tree 1 file changed +10
-0
lines changed
1 file changed +10
-0
lines changed Original file line number Diff line number Diff line change @@ -970,11 +970,13 @@ -(void)unreadCountDone:(NSMutableURLRequest *)request response:(NSURLResponse *)
970
970
NSDictionary *unreadDict;
971
971
NSError *jsonError;
972
972
unreadDict = [NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: &jsonError];
973
+ NSMutableArray *remoteUnreadFeeds = [NSMutableArray array ];
973
974
for (NSDictionary *feed in unreadDict[@" unreadcounts" ]) {
974
975
NSString *feedID = feed[@" id" ];
975
976
if ([feedID hasPrefix: @" feed/" ]) {
976
977
Folder *folder = [[Database sharedManager ] folderFromRemoteId: feedID];
977
978
if (folder) {
979
+ [remoteUnreadFeeds addObject: feedID];
978
980
NSInteger remoteCount = ((NSString *)feed[@" count" ]).intValue ;
979
981
NSInteger localCount = folder.unreadCount ;
980
982
NSInteger remoteTimestamp = ((NSString *)feed[@" newestItemTimestampUsec" ]).longLongValue / 1000000 ; // convert in truncated seconds
@@ -992,6 +994,14 @@ -(void)unreadCountDone:(NSMutableURLRequest *)request response:(NSURLResponse *)
992
994
}
993
995
}
994
996
}
997
+
998
+ NSArray *localFolders = [Database sharedManager ].arrayOfAllFolders ;
999
+ for (Folder *folder in localFolders) {
1000
+ // folders which are locally marked as having unread articles, while they are remotely all read
1001
+ if (folder.isOpenReaderFolder && folder.unreadCount > 0 && ![remoteUnreadFeeds containsObject: folder.remoteId]) {
1002
+ [folder clearNonPersistedFlag: VNAFolderFlagSyncedOK];
1003
+ }
1004
+ }
995
1005
} // unreadCountDone
996
1006
997
1007
-(void )subscribeToFeed : (NSString *)feedURL withLabel : (NSString *)label
You can’t perform that action at this time.
0 commit comments