morbificagent
Hi,
could you also post the WBXML log of such an all-day event being synced from the mobile to server?
To get WBXML logs there are two options.
Option 1 is to enable it for everyone. in order to do it set the 'LOGLEVEL'
to LOGLEVEL_WBXML
in /etc/grommunio-sync/grommunio-sync.conf.php
so that it looks like this (around line 70):
define('LOGLEVEL', LOGLEVEL_WBXML);
Option 2 is to enable it for one user only because LOGLEVEL_WBXML is quite verbose, so if you have a lot of users on your system, it might eat up disk space quite rapidly. In order to do it, add the username to $specialLogUser
in /etc/grommunio-sync/grommunio-sync.conf.php
(around line 78):
$specialLogUsers = ['user@domain.tld'];
It looks something like this (I've removed some not essential information, also if you opt for the option 2 there will also be the device id):
15/10/2024 19:07:49 [ 1839] [DEBUG] [user@domain.tld] -------- Start
15/10/2024 19:07:49 [ 1839] [DEBUG] [user@domain.tld] cmd='Sync' devType='Android' devId='androidc123456' getUser='user@domain.tld' from='10.1.1.164' version='GIT' method='POST'
15/10/2024 19:07:49 [ 1839] [DEBUG] [user@domain.tld] Used timezone 'UTC'
15/10/2024 19:07:49 [ 1839] [DEBUG] [user@domain.tld] Grommunio using PHP-MAPI version: 2.34.15.gd6cb7ab - PHP version: 8.2.20
...
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I <Perform>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I <Add>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I <ClientEntryId>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I fc45510e-2c4c-4ab4-9dc3-866a3654f49e
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I </ClientEntryId>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I <Data>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I <POOMCAL:AllDayEvent>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I 1
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I </POOMCAL:AllDayEvent>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I <POOMCAL:StartTime>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I 20241219T000000Z
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I </POOMCAL:StartTime>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I <POOMCAL:EndTime>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I 20241220T000000Z
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I </POOMCAL:EndTime>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I <AirSyncBase:Location/>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I <POOMCAL:Subject>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I 1912 android all-day
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I </POOMCAL:Subject>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I <AirSyncBase:Body>
15/10/2024 19:07:49 [ 1839] [DEBUG] [user@domain.tld] StringStreamWrapper::stream_open(): initialized stream length: 7 - HTML-safe-truncate: false
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I <AirSyncBase:Type>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I 1
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I </AirSyncBase:Type>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I <AirSyncBase:Data/>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I </AirSyncBase:Body>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I <POOMCAL:Reminder/>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I <POOMCAL:Attendees/>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I <POOMCAL:BusyStatus>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I 0
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I </POOMCAL:BusyStatus>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I <POOMCAL:MeetingStatus>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I 0
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I </POOMCAL:MeetingStatus>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I <POOMCAL:Sensitivity>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I 0
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I </POOMCAL:Sensitivity>
15/10/2024 19:07:49 [ 1839] [WBXML] [user@domain.tld] I </Data>
...
15/10/2024 19:07:49 [ 1839] [DEBUG] [user@domain.tld] SyncObject->Check(): Fixed object from type SyncAppointment: parameter 'dtstamp' is set to 0
15/10/2024 19:07:50 [ 1839] [DEBUG] [user@domain.tld] TimezoneUtil::GetFullTZ() for UTC
15/10/2024 19:07:50 [ 1839] [DEBUG] [user@domain.tld] MAPIProvider->setASbody either type or data are not set. Setting to empty body
15/10/2024 19:07:50 [ 1839] [DEBUG] [user@domain.tld] TimezoneUtil::GetBinaryTZ() for UTC
15/10/2024 19:07:50 [ 1839] [DEBUG] [user@domain.tld] Sync->importMessage(): message imported
15/10/2024 19:07:50 [ 1839] [WBXML] [user@domain.tld] I </Add>
15/10/2024 19:07:50 [ 1839] [WBXML] [user@domain.tld] I </Perform>
...
15/10/2024 19:07:50 [ 1839] [ INFO] [user@domain.tld] cmd='Sync' memory='5.73 MiB/8.00 MiB' time='0.76s' devType='Android' devId='androidc123456' getUser='user@domain.tld' from='10.1.1.164' idle='0s' version='GIT' method='POST' httpcode='200'
15/10/2024 19:07:50 [ 1839] [DEBUG] [user@domain.tld] -------- End
Be aware that WBXML log may contain sensitive information, so feel free to redact the user names, IPs, device ids, subject etc. The really important information is between <Data>
and </Data>
tags, so it would be great if you would leave it as is (except for the subject if it's not a test appointment). The log entries containing timezone information would also be nice (Used timezone
, TimezoneUtil::GetFullTZ() for
, TimezoneUtil::GetBinaryTZ() for
).
Thank you for the feedback and testing, we really appreciate it.