Package: sogo Version: 5.8.0-1 Followup-For: Bug #1033870 Control: tags -1 patch upstream
Dear Maintainer, as expected, the Apple Calendar on the new macOS Sonoma is also not fully able to talk to SOGo in the versions provided by Debian in Bullseye and Bookworm. There's also an upstream bug report [1] regarding macOS Sonoma in addition to the original report [2] about macOS Ventura. According to these, the latest version of SOGo (5.9.0 at the time of this writing) fixes the support for macOS Ventura and Sonoma. The original bug report also contains a message which says that the original issue was found and fixed [3] and links to the corresponding commit [4]. When looking at the SOGo repo on Salsa, I noticed there's a 'bookworm' branch which contains the patches to add macOS Ventura support. Unfortunately, I wasn't able to build that branch (patch didn't seem to apply, might also be my fault though) and because of the way the original upstream fix was implemented, it wouldn't have solved the issue for macOS Sonoma anyway without further changes. However, the aforementioned patch [4] which seems to solve the original issue basically removed the original approach to fixing the issue and replaced it with a simpler solution. So I tried to extract the essence of this patch and built the package based on version 5.8.0-1 of the sources on Salsa [6]. And according to our (limited) tests with macOS Ventura and Sonoma, this indeed solves the issue. My patch should be attached to this email. Cheers, Manfred [1] https://bugs.sogo.nu/view.php?id=5870 [2] https://bugs.sogo.nu/view.php?id=5639 [3] https://bugs.sogo.nu/view.php?id=5639#c17217 [4] https://github.com/Alinto/sogo/commit/4f7c73143f38b1e7e00a51b9457b55ce609a02a9 [5] https://salsa.debian.org/debian/sogo/-/tree/bookworm [6] https://salsa.debian.org/debian/sogo/-/tree/debian/5.8.0-1
From: Manfred Stock <m-deb...@nfred.ch> Date: Mon, 9 Oct 2023 15:35:00 +0200 Subject: fix(calendar): Fix MacOS X Ventura calendar support. Fixes #5639 This patch is based on upstream commit 4f7c73143f which fixes support for macOS Ventura, Sonoma and maybe future macOS versions. Apparently, the upstream commit also removes the older approach to fix that support, so this patch only contains what is assumed to be the essence of the fix. --- SoObjects/Appointments/SOGoAppointmentFolder.m | 2 +- SoObjects/SOGo/WORequest+SOGo.h | 1 + SoObjects/SOGo/WORequest+SOGo.m | 17 +++++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/SoObjects/Appointments/SOGoAppointmentFolder.m b/SoObjects/Appointments/SOGoAppointmentFolder.m index 2c43800..bd3dae6 100644 --- a/SoObjects/Appointments/SOGoAppointmentFolder.m +++ b/SoObjects/Appointments/SOGoAppointmentFolder.m @@ -2529,7 +2529,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], diff --git a/SoObjects/SOGo/WORequest+SOGo.h b/SoObjects/SOGo/WORequest+SOGo.h index 9ae6c91..6199eb9 100644 --- a/SoObjects/SOGo/WORequest+SOGo.h +++ b/SoObjects/SOGo/WORequest+SOGo.h @@ -35,6 +35,7 @@ - (BOOL) isMacOSXAddressBookApp; - (BOOL) isIPhoneAddressBookApp; - (BOOL) isAndroid; +- (BOOL) isMacOSXCalendar; @end diff --git a/SoObjects/SOGo/WORequest+SOGo.m b/SoObjects/SOGo/WORequest+SOGo.m index 1091650..c6f76d4 100644 --- a/SoObjects/SOGo/WORequest+SOGo.m +++ b/SoObjects/SOGo/WORequest+SOGo.m @@ -242,5 +242,22 @@ return ([[cc userAgent] rangeOfString: @"Android"].location != NSNotFound); } +- (BOOL) isMacOSXCalendar +{ + WEClientCapabilities *cc; + BOOL b; + + cc = [self clientCapabilities]; + + b = ( + ( + nil != [cc userAgent] + && [[cc userAgent] rangeOfString: @"macOS"].location != NSNotFound + && [[cc userAgent] rangeOfString: @"dataaccessd"].location != NSNotFound + ) + ); + + return b; +} @end