View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0006163 | SOGo | ActiveSync | public | 2025-11-28 10:35 | 2025-11-28 13:10 |
| Reporter | Lars | Assigned To | qhivert | ||
| Priority | normal | Severity | crash | Reproducibility | have not tried |
| Status | feedback | Resolution | open | ||
| Product Version | 5.12.3 | ||||
| Summary | 0006163: ActiveSync deletes unsynced calendar events on Android | ||||
| Description | I've been using SOGo for the past years as part of the mailcow package for family and friends, and for the past few weeks, our android calendars are wreaking havoc. New events do not reach the online calendar, but get deleted on the next sync. This problem only happens on Android, and with different Android apps (tested Etar as well as Google Calendar). In both apps, the calendar events suddenly disappear (completely, including the ones that are on the server) and are then re-synced - overwriting the local storage and wiping out any events. This happens for the primary users calendar as well as shared calendars of other users. The SOGo version packaged is 5.12.3, and it seems that the ActiveSyncDispatcher decides to send an erroneous push-content command to the client (username and clientIP was replaced for privacy reasons), before the events from the Android device can be properly synced. Nov 28 09:27:51 82a45ece1c0c sogod [53]: <0x0x560ff9851550[WOHttpAdaptor]> notified the watchdog that we are ready I see messages like this all over the place. This behavior is also consistent across different Android devices and versions. The update to 5.12.3 happened in October, and the problems have started appearing then. Config-wise, SOGoURLEncryption was enabled, no other sogo changes that I can see from the changelog: file: /var/lib/sogo/GNUstep/Defaults/sogod.plist
Since this problem started to occur, the calendars have become effectively unusable on Android devices. | ||||
| Additional Information |
| ||||
| Tags | No tags attached. | ||||
|
sogo-mailcow-conf.log (3,079 bytes)
{
SOGoCalendarDefaultRoles = (
PublicViewer,
ConfidentialDAndTViewer,
PrivateDAndTViewer
);
WOWorkersCount = "20";
SOGoACLsSendEMailNotifications = YES;
SOGoAppointmentSendEMailNotifications = YES;
SOGoDraftsFolderName = "Drafts";
SOGoJunkFolderName= "Junk";
SOGoMailDomain = "sogo.local";
SOGoEnableEMailAlarms = YES;
SOGoMailHideInlineAttachments = YES;
SOGoFoldersSendEMailNotifications = YES;
SOGoForwardEnabled = YES;
// Added with SOGo 5.12 - Allows users to cleanup there maildirectories by deleting mails oder than X
SOGoEnableMailCleaning = YES;
// Fixes "MODIFICATION_FAILED" error (HTTP 412) in Clients when accepting invitations from external services
SOGoDisableOrganizerEventCheck = YES;
// Option to set Users as admin to globally manage calendar permissions etc. Disabled by default
// SOGoSuperUsernames = ("moo@example.com");
SOGoUIAdditionalJSFiles = (
js/theme.js,
js/custom-sogo.js
);
SOGoEnablePublicAccess = YES;
// Multi-domain setup
// Domains are isolated, you can define visibility options here.
// Example:
// SOGoDomainsVisibility = (
// (domain1.tld, domain5.tld),
// (domain3.tld, domain2.tld)
// );
// self-signed is not trusted anymore
WOPort = "0.0.0.0:20000";
SOGoMemcachedHost = "memcached";
SOGoLanguage = English;
SOGoMailAuxiliaryUserAccountsEnabled = YES;
// SOGoCreateIdentitiesDisabled = NO;
SOGoMailCustomFromEnabled = YES;
SOGoMailingMechanism = smtp;
SOGoSMTPAuthenticationType = plain;
SxVMemLimit = 384;
SOGoMaximumPingInterval = 3540;
SOGoInternalSyncInterval = 45;
SOGoMaximumSyncInterval = 3540;
// 100 seems to break some Android clients
//SOGoMaximumSyncWindowSize = 99;
// This should do the trick for Outlook 2016
SOGoMaximumSyncResponseSize = 512;
WOWatchDogRequestTimeout = 360;
WOListenQueueSize = 16;
WONoDetach = YES;
SOGoIMAPAclConformsToIMAPExt = Yes;
SOGoPageTitle = "SOGo Groupware";
SOGoFirstDayOfWeek = "1";
SOGoSieveFolderEncoding = "UTF-8";
SOGoPasswordChangeEnabled = NO;
SOGoSentFolderName = "Sent";
SOGoMailShowSubscribedFoldersOnly = NO;
NGImap4ConnectionStringSeparator = "/";
SOGoSieveScriptsEnabled = YES;
SOGoTrashFolderName = "Trash";
SOGoVacationEnabled = YES;
SOGoCacheCleanupInterval = 900;
SOGoMaximumFailedLoginCount = 10;
SOGoMaximumFailedLoginInterval = 900;
SOGoFailedLoginBlockInterval = 900;
GCSChannelCollectionTimer = 60;
GCSChannelExpireAge = 60;
MySQL4Encoding = "utf8mb4";
//SOGoDebugRequests = YES;
//SoDebugBaseURL = YES;
//ImapDebugEnabled = YES;
// Enabled debug log for further checks
// 2025-11-28 LK
//SOGoEASDebugEnabled = YES;
SOGoEASSearchInBody = YES;
//LDAPDebugEnabled = YES;
//PGDebugEnabled = YES;
//MySQL4DebugEnabled = YES;
//SOGoUIxDebugEnabled = YES;
//WODontZipResponse = YES;
WOLogFile = "/dev/sogo_log";
}
|
|
|
|
|
Temporary Workaround:
-> circumvents ActiveSync |
|
|
Hello, Could you add this: It will print all ActiveSync message so you will see what android asks and what sogo answers. But be careful, in print all datas, includings the content of your events/mails... So either do test with useless event/data, or censor the data on the log or send me the log privately to my mail that you know. |
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2025-11-28 10:35 | Lars | New Issue | |
| 2025-11-28 10:35 | Lars | File Added: sogo-mailcow-conf.log | |
| 2025-11-28 10:45 | Lars | Note Added: 0018381 | |
| 2025-11-28 11:03 | Lars | Note Added: 0018382 | |
| 2025-11-28 13:10 | qhivert | Note Added: 0018383 | |
| 2025-11-28 13:10 | qhivert | Assigned To | => qhivert |
| 2025-11-28 13:10 | qhivert | Status | new => feedback |