Summary | Updating contacts on iOS9.3.1 does not transfer the contact picture to the server |
Queue | Turba |
Queue Version | 4.2.14 |
Type | Bug |
State | Resolved |
Priority | 2. Medium |
Owners | mrubinsk (at) horde (dot) org |
Requester | torben (at) dannhauer (dot) info |
Created | 05/10/2016 (3342 days ago) |
Due | |
Updated | 05/11/2016 (3341 days ago) |
Assigned | 05/11/2016 (3341 days ago) |
Resolved | 05/11/2016 (3341 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | No |
I've given up on them taking any of them seriously.
Its a pitty the every new release brokes core elements of the iphone.
They should focus a bit more on quality instead of UI stuff.
State ⇒ Resolved
It looks like it's related to the size of the original image. If the
original image from Horde is over a certain size, the image is handled
differently than if it is smaller.
I don't know the exact size, but if the image is under a certain size,
say 100k, the Picture tag is not sent to the server AT ALL. If it's
over a certain size, but still under some upper limit, say 100k -
500k, the Picture tag is sent, but it's empty. Now, if the image is
above this upper limit, the Picture tag is sent, with the picture, but
it's a cropped version of the picture.
I've added code that prevents the image getting completely wiped out
in these iOS devices, but as mentioned before this prevents the image
from being purposefully deleted from the device and this doesn't
prevent the image from being modified if it was cropped by the client.
If the picture currently attached to the contact originated on the the
device *originally*, then it correctly sends the image data with every
edit. If the image currently attached was provided by the server
originally, then the edit will NOT include the picture data and will
be removed on the server with edits. However, the image will remain on
the client. If you then edit the image on the client, the image data
will be resent to the server.
I think I am going to add a user pref to ignore image deletions from
iOS devices that way admins/users can decide if not being able to
remove images client-side is a worthy trade-off.
State ⇒ Assigned
Assigned to Michael Rubinsky
6.1, fixed around 8.1, and looks like it's broken again. Here is a
snippet of the contact data sent from the iOS client to the server:
2016-05-10T15:41:16+02:00 DEBUG: [6597] I <Modify>
2016-05-10T15:41:16+02:00 DEBUG: [6597] I <ServerEntryId>
2016-05-10T15:41:16+02:00 DEBUG: [6597] I [55 bytes of content]
2016-05-10T15:41:16+02:00 DEBUG: [6597] I </ServerEntryId>
2016-05-10T15:41:16+02:00 DEBUG: [6597] I <Data>
<snip>
2016-05-10T15:41:16+02:00 DEBUG: [6597] I <POOMCONTACTS:LastName>
2016-05-10T15:41:16+02:00 DEBUG: [6597] I testenson
2016-05-10T15:41:16+02:00 DEBUG: [6597] I </POOMCONTACTS:LastName>
2016-05-10T15:41:16+02:00 DEBUG: [6597] I <POOMCONTACTS:Picture />
2016-05-10T15:41:16+02:00 DEBUG: [6597] I </Data>
Note the <POOMCONTACTS:Picture /> line. That's an empty tag element,
meaning it has no content. The client is telling the server that there
is no picture data associated with this contact.
This is *really* bad, considering that it is also not sending any
SUPPORTED properties - meaning that most likely your contact images
will be wiped with ANY edit of the contact on the client.
The way to signify a property is removed varies depending on a few
things such as if the client is sending SUPPORTED data that indicates
what properties should be "ghosted" or not and if the Picture element
is listed in that SUPPORTED data or not.
Since different versions of iOS do different combinations of these
things (both correctly and incorrectly), it really isn't feasible to
implement a workaround since this could make it impossible to delete a
contact picture if desired, while the client would believe it WAS
deleted.
On the other hand, since this leads to data loss on the server, it
might be worth this inconvenience. I'll have to test some things out
to see what we can do.
Priority ⇒ 2. Medium
Type ⇒ Bug
Summary ⇒ Updating contacts on iOS9.3.1 does not transfer the contact picture to the server
Queue ⇒ Turba
Milestone ⇒
Patch ⇒ No
New Attachment: log.txt
State ⇒ Unconfirmed
horde (latest stable release 5.2.10). This feature worked already some
time ago.
Other contact details are send to horde as expected.
I created a new user and created a log from the initil setup of that
user. the Domain is anonymized to "test@mydomain.tld"
Please finde attached the log