immediately delete mails from EAS clients when they are marked as deleted on the IMAP server
parent
ecd336fa5c
commit
baf3d1f986
1
NEWS
1
NEWS
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
Enhancements
|
Enhancements
|
||||||
- support for mail prority using EAS
|
- support for mail prority using EAS
|
||||||
|
- immediately delete mails from EAS clients when they are marked as deleted on the IMAP server
|
||||||
|
|
||||||
Bug fixes
|
Bug fixes
|
||||||
- fixed login issue after password change (#2601)
|
- fixed login issue after password change (#2601)
|
||||||
|
|
|
@ -2129,13 +2129,13 @@ _compareFetchResultsByMODSEQ (id entry1, id entry2, void *data)
|
||||||
value: nextModseq];
|
value: nextModseq];
|
||||||
searchQualifier = [[EOAndQualifier alloc]
|
searchQualifier = [[EOAndQualifier alloc]
|
||||||
initWithQualifiers:
|
initWithQualifiers:
|
||||||
kvQualifier, [self _nonDeletedQualifier], nil];
|
kvQualifier, nil];
|
||||||
[kvQualifier release];
|
[kvQualifier release];
|
||||||
[searchQualifier autorelease];
|
[searchQualifier autorelease];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
searchQualifier = [self _nonDeletedQualifier];
|
searchQualifier = nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (theStartDate)
|
if (theStartDate)
|
||||||
|
@ -2144,7 +2144,7 @@ _compareFetchResultsByMODSEQ (id entry1, id entry2, void *data)
|
||||||
|
|
||||||
sinceDateQualifier = [EOQualifier qualifierWithQualifierFormat:
|
sinceDateQualifier = [EOQualifier qualifierWithQualifierFormat:
|
||||||
@"(DATE >= %@)", theStartDate];
|
@"(DATE >= %@)", theStartDate];
|
||||||
searchQualifier = [[EOAndQualifier alloc] initWithQualifiers: searchQualifier, sinceDateQualifier,
|
searchQualifier = [[EOAndQualifier alloc] initWithQualifiers: sinceDateQualifier, searchQualifier,
|
||||||
nil];
|
nil];
|
||||||
[searchQualifier autorelease];
|
[searchQualifier autorelease];
|
||||||
}
|
}
|
||||||
|
@ -2155,7 +2155,7 @@ _compareFetchResultsByMODSEQ (id entry1, id entry2, void *data)
|
||||||
sortOrdering: nil];
|
sortOrdering: nil];
|
||||||
|
|
||||||
fetchResults = [(NSDictionary *)[self fetchUIDs: uids
|
fetchResults = [(NSDictionary *)[self fetchUIDs: uids
|
||||||
parts: [NSArray arrayWithObject: @"modseq"]]
|
parts: [NSArray arrayWithObjects: @"modseq", @"flags", nil]]
|
||||||
objectForKey: @"fetch"];
|
objectForKey: @"fetch"];
|
||||||
|
|
||||||
/* NOTE: we sort items manually because Cyrus does not properly sort
|
/* NOTE: we sort items manually because Cyrus does not properly sort
|
||||||
|
@ -2166,7 +2166,7 @@ _compareFetchResultsByMODSEQ (id entry1, id entry2, void *data)
|
||||||
|
|
||||||
for (i = 0; i < [fetchResults count]; i++)
|
for (i = 0; i < [fetchResults count]; i++)
|
||||||
{
|
{
|
||||||
d = [NSDictionary dictionaryWithObject: [[fetchResults objectAtIndex: i] objectForKey: @"modseq"]
|
d = [NSDictionary dictionaryWithObject: ([[[fetchResults objectAtIndex: i] objectForKey: @"flags"] containsObject: @"deleted"]) ? [NSNull null] : [[fetchResults objectAtIndex: i] objectForKey: @"modseq"]
|
||||||
forKey: [[[fetchResults objectAtIndex: i] objectForKey: @"uid"] stringValue]];
|
forKey: [[[fetchResults objectAtIndex: i] objectForKey: @"uid"] stringValue]];
|
||||||
[allTokens addObject: d];
|
[allTokens addObject: d];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue