diff --git a/SoObjects/Appointments/SOGoAppointmentFolder.m b/SoObjects/Appointments/SOGoAppointmentFolder.m index 464e46c32..fdcbe4bb4 100644 --- a/SoObjects/Appointments/SOGoAppointmentFolder.m +++ b/SoObjects/Appointments/SOGoAppointmentFolder.m @@ -2551,7 +2551,7 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir resourcetype. Anything else will prevent the iPhone from querying the collection. */ request = [context request]; - if (!([request isIPhone] || [request isICal4])) + if (!([request isIPhone] || [request isICal4] || [request isMacOSXCalendar])) { gdRT = (NSArray *) [self groupDavResourceType]; gdVEventCol = [NSArray arrayWithObjects: [gdRT objectAtIndex: 0], @@ -2609,13 +2609,6 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir - (NSException *) setDavDescription: (NSString *) description { if (description) { - // FIXME: Improve MacOSX Ventura support - // Check if the problem will be fixed by Apple or if this fix should be kept in the future - // Ticket #5639 - if ([[context request] isMacOSXFromVenturaCalendarApp]) { - description = [description stringByReplacingOccurrencesOfString:@"/PERSONAL" withString:@"/personal"]; - } - [self setFolderPropertyValue: description inCategory: @"DavDescription"]; } diff --git a/SoObjects/Appointments/SOGoUserFolder+Appointments.m b/SoObjects/Appointments/SOGoUserFolder+Appointments.m index 7a745bdbe..2d630d316 100644 --- a/SoObjects/Appointments/SOGoUserFolder+Appointments.m +++ b/SoObjects/Appointments/SOGoUserFolder+Appointments.m @@ -190,7 +190,7 @@ - (NSArray *) davCalendarScheduleOutboxURL { - return [[context request] isMacOSXFromVenturaCalendarApp] ? [self _davSpecialCalendarURLWithName: @"PERSONAL"] : [self _davSpecialCalendarURLWithName: @"personal"]; + return [self _davSpecialCalendarURLWithName: @"personal"]; } - (NSArray *) _calendarProxiedUsersWithWriteAccess: (BOOL) write diff --git a/SoObjects/Mailer/SOGoMailAccount.m b/SoObjects/Mailer/SOGoMailAccount.m index 927a8fa10..28398808f 100644 --- a/SoObjects/Mailer/SOGoMailAccount.m +++ b/SoObjects/Mailer/SOGoMailAccount.m @@ -136,12 +136,6 @@ static NSString *inboxFolderName = @"INBOX"; namespaceDict = [client namespace]; namespace = [namespaceDict objectForKey: @"personal"]; - // FIXME: Improve MacOSX Ventura support - // Check if the problem will be fixed by Apple or if this fix should be kept in the future - // Ticket #5639 - if ([[context request] isMacOSXFromVenturaCalendarApp]) { - namespace = [namespaceDict objectForKey: @"PERSONAL"]; - } if (namespace) [self _appendNamespace: namespace toFolders: folders]; diff --git a/SoObjects/SOGo/SOGoGCSFolder.m b/SoObjects/SOGo/SOGoGCSFolder.m index bd9ff85b3..cfa0b8dbb 100644 --- a/SoObjects/SOGo/SOGoGCSFolder.m +++ b/SoObjects/SOGo/SOGoGCSFolder.m @@ -150,7 +150,7 @@ static NSArray *childRecordFields = nil; if ([pathElements count] > 1) ocsName = [pathElements objectAtIndex: 1]; else - ocsName = [[context request] isMacOSXFromVenturaCalendarApp] ? @"Personal" : @"personal"; + ocsName = @"personal"; path = [NSString stringWithFormat: @"/Users/%@/%@/%@", login, [pathElements objectAtIndex: 0], ocsName]; @@ -400,14 +400,7 @@ static NSArray *childRecordFields = nil; } - (void) setOCSPath: (NSString *) _path -{ - // FIXME: Improve MacOSX Ventura support - // Check if the problem will be fixed by Apple or if this fix should be kept in the future - // Ticket #5639 - if ([[context request] isMacOSXFromVenturaCalendarApp]) { - _path = [_path stringByReplacingOccurrencesOfString:@"/PERSONAL" withString:@"/personal"]; - } - +{ if (![ocsPath isEqualToString:_path]) { if (ocsPath) @@ -438,12 +431,6 @@ static NSArray *childRecordFields = nil; cache = [SOGoCache sharedCache]; record = [[cache valueForKey: _path] objectFromJSONString]; - // FIXME: Improve MacOSX Ventura support - // Check if the problem will be fixed by Apple or if this fix should be kept in the future - // Ticket #5639 - if ([[context request] isMacOSXFromVenturaCalendarApp]) { - _path = [_path stringByReplacingOccurrencesOfString:@"PERSONAL" withString:@"personal"]; - } // We check if we got a cache miss or a potentially bogus // entry from the cache @@ -471,13 +458,6 @@ static NSArray *childRecordFields = nil; realNameInContainer = [self realNameInContainer]; - // FIXME: Improve MacOSX Ventura support - // Check if the problem will be fixed by Apple or if this fix should be kept in the future - // Ticket #5639 - if ([[context request] isMacOSXFromVenturaCalendarApp]) { - realNameInContainer = [realNameInContainer stringByReplacingOccurrencesOfString:@"PERSONAL" withString:@"personal"]; - } - return [NSString stringWithFormat: @"%@:%@/%@", owner, [container nameInContainer], diff --git a/SoObjects/SOGo/SOGoParentFolder.m b/SoObjects/SOGo/SOGoParentFolder.m index c267dff42..4510b2541 100644 --- a/SoObjects/SOGo/SOGoParentFolder.m +++ b/SoObjects/SOGo/SOGoParentFolder.m @@ -144,7 +144,7 @@ static SoSecurityManager *sm = nil; - (NSString *) defaultFolderName { - return [[context request] isMacOSXFromVenturaCalendarApp] ? @"PERSONAL" : @"Personal"; + return @"Personal"; } - (NSString *) collectedFolderName @@ -173,7 +173,7 @@ static SoSecurityManager *sm = nil; { if (folderType == SOGoPersonalFolder) { - folderName = [[context request] isMacOSXFromVenturaCalendarApp] ? @"PERSONAL" : @"personal"; + folderName = @"personal"; folder = [subFolderClass objectWithName: folderName inContainer: self]; [folder setDisplayName: [self defaultFolderName]]; [folder setOCSPath: [NSString stringWithFormat: @"%@/%@", OCSPath, folderName]]; @@ -221,15 +221,7 @@ static SoSecurityManager *sm = nil; while ((row = [fc fetchAttributes: attrs withZone: NULL])) { key = [row objectForKey: @"c_path4"]; - // FIXME: Improve MacOSX Ventura support - // Check if the problem will be fixed by Apple or if this fix should be kept in the future - // Ticket #5639 - if ([[context request] isMacOSXFromVenturaCalendarApp]) { - if ([key isEqualToString:@"personal"]) { - key = @"PERSONAL"; - } - } - + if ([key isKindOfClass: [NSString class]]) { folder = [subFolderClass objectWithName: key inContainer: self]; @@ -241,7 +233,7 @@ static SoSecurityManager *sm = nil; } if (folderType == SOGoPersonalFolder) { - if (![subFolders objectForKey: @"personal"] || ![subFolders objectForKey: @"Personal"] || ![subFolders objectForKey: @"PERSONAL"]) + if (![subFolders objectForKey: @"personal"]) [self createSpecialFolder: SOGoPersonalFolder]; } else if (folderType == SOGoCollectedFolder) diff --git a/SoObjects/SOGo/SOGoUser.m b/SoObjects/SOGo/SOGoUser.m index 9143327e4..85f638c9e 100644 --- a/SoObjects/SOGo/SOGoUser.m +++ b/SoObjects/SOGo/SOGoUser.m @@ -1060,7 +1060,7 @@ - (SOGoAppointmentFolder *) personalCalendarFolderInContext: (WOContext *) context { - return [[self calendarsFolderInContext: context] lookupPersonalFolder: [[context request] isMacOSXFromVenturaCalendarApp] ? @"PERSONAL" : @"personal" + return [[self calendarsFolderInContext: context] lookupPersonalFolder: @"personal" ignoringRights: YES]; } diff --git a/SoObjects/SOGo/WORequest+SOGo.h b/SoObjects/SOGo/WORequest+SOGo.h index 9dbccdb74..e06df0aca 100644 --- a/SoObjects/SOGo/WORequest+SOGo.h +++ b/SoObjects/SOGo/WORequest+SOGo.h @@ -33,10 +33,10 @@ - (BOOL) isICal; - (BOOL) isICal4; - (BOOL) isMacOSXAddressBookApp; -- (BOOL)isMacOSXCalendarApp; -- (BOOL)isIPhoneAddressBookApp; +- (BOOL) isMacOSXCalendarApp; +- (BOOL) isIPhoneAddressBookApp; - (BOOL) isAndroid; -- (BOOL)isMacOSXFromVenturaCalendarApp; +- (BOOL) isMacOSXCalendar; @end diff --git a/SoObjects/SOGo/WORequest+SOGo.m b/SoObjects/SOGo/WORequest+SOGo.m index 5a7449781..9285250f3 100644 --- a/SoObjects/SOGo/WORequest+SOGo.m +++ b/SoObjects/SOGo/WORequest+SOGo.m @@ -242,7 +242,7 @@ return ([[cc userAgent] rangeOfString: @"Android"].location != NSNotFound); } -- (BOOL) isMacOSXFromVenturaCalendarApp +- (BOOL) isMacOSXCalendar { WEClientCapabilities *cc; BOOL b; @@ -252,7 +252,7 @@ b = ( ( nil != [cc userAgent] - && ([[cc userAgent] rangeOfString: @"macOS/13"].location != NSNotFound || [[cc userAgent] rangeOfString: @"macOS/14"].location != NSNotFound) + && [[cc userAgent] rangeOfString: @"macOS"].location != NSNotFound && [[cc userAgent] rangeOfString: @"dataaccessd"].location != NSNotFound ) );