6.0.0-alpha14
6/24/25

[#12200] ActiveSync: Fix broken timezone on "due by" and "delayed start" fields
Summary ActiveSync: Fix broken timezone on "due by" and "delayed start" fields
Queue Nag
Queue Version Git master
Type Bug
State Resolved
Priority 1. Low
Owners mrubinsk (at) horde (dot) org
Requester thomas.jarosch (at) intra2net (dot) com
Created 04/19/2013 (4449 days ago)
Due
Updated 04/19/2013 (4449 days ago)
Assigned 04/19/2013 (4449 days ago)
Resolved 04/19/2013 (4449 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch Yes

History
04/19/2013 10:01:39 PM Git Commit Comment #10 Reply to this comment
Changes have been made in Git (FRAMEWORK_5_0):

commit 1fa6e80cc8ea4849d5cdf4857c22c8e88417476d
Author: Thomas Jarosch <thomas.jarosch@intra2net.com>
Date:   Fri Apr 19 17:16:23 2013 -0400

     Correctly set utcduedate and duedate properties.

     Bug: 12200
     Signed-off-by: Michael J Rubinsky <mrubinsk@horde.org>

  nag/lib/Task.php |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

http://git.horde.org/horde-git/-/commit/1fa6e80cc8ea4849d5cdf4857c22c8e88417476d
04/19/2013 09:18:26 PM Michael Rubinsky Comment #9
State ⇒ Resolved
Reply to this comment
Committed, thanks!

Explanation makes perfect sense, I was getting confused by the fact 
that the documentation says all dates must be sent in UTC.
04/19/2013 09:17:25 PM Git Commit Comment #8 Reply to this comment
Changes have been made in Git (master):

commit da4b863c5fc517c0e6c8cca283a4c89910f0edb2
Author: Thomas Jarosch <thomas.jarosch@intra2net.com>
Date:   Fri Apr 19 17:16:23 2013 -0400

     Correctly set utcduedate and duedate properties.

     Bug: 12200
     Signed-off-by: Michael J Rubinsky <mrubinsk@horde.org>

  nag/lib/Task.php |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

http://git.horde.org/horde-git/-/commit/da4b863c5fc517c0e6c8cca283a4c89910f0edb2
04/19/2013 04:24:42 PM Michael Rubinsky Comment #7 Reply to this comment

[Show Quoted Text - 9 lines]
So, just keep doing it like I have been then.
The linux kernel subsystem maintainers add their Signed-off-by next 
to the original author's one, but I guess horde does not need the 
strong "guarantees" as the kernel people do.
The patch gets applied to the tree as the person who submitted it. The 
person from Horde who commits it (and therefore approves it) is the 
one who "signed off" on it. This gives the author credit (his name is 
in the repository) and the person who approved it can be then be later 
tracked down and beaten with a wet noodle if the patch broke something 
important.


04/19/2013 04:06:21 PM Thomas Jarosch Comment #6 Reply to this comment
Please keep my "Signed-off-by:" line when applying the patch,
just append yours below mine.
Sure, not a problem, though I've been committing them as authored by 
you, with me signing off on it. You want it authored by you and you 
signing off on it too?
Either remove the Signed-off-by stuff completely if it's unwanted by horde
or just add yours without replacing mine :)

The linux kernel subsystem maintainers add their Signed-off-by next to 
the original author's one, but I guess horde does not need the strong 
"guarantees" as the kernel people do.

This one explains it quite good:
http://stackoverflow.com/questions/1962094/what-is-the-sign-off-feature-in-git-for

-> Probably it's easier if I just generate patches without that stuff ;)

04/19/2013 04:00:31 PM Thomas Jarosch Comment #5 Reply to this comment
Can you explain the symptoms on the device that this was causing? 
When I wrote this I was confused by the two fields because of how 
all dates transmitted to the client must be in UTC anyway, and none 
of the clients I have that support tasks seem to behave any 
differently with those different values.
Here's an example from the WP8 phone using the fixed code:

---------------------
2013-04-19T17:56:17+02:00 DEBUG: [13545] I       <POOMTASKS:DueDate>
2013-04-19T17:56:17+02:00 DEBUG: [13545] I         2013-04-28T00:00:00.000Z
2013-04-19T17:56:17+02:00 DEBUG: [13545] I        </POOMTASKS:DueDate>
2013-04-19T17:56:17+02:00 DEBUG: [13545] I       <POOMTASKS:UtcDueDate>
2013-04-19T17:56:17+02:00 DEBUG: [13545] I         2013-04-27T22:00:00.000Z
2013-04-19T17:56:17+02:00 DEBUG: [13545] I        </POOMTASKS:UtcDueDate>
---------------------

The "DueDate" and "UtcDueDate" sent by horde without the fix were 
exactly the same values. On all tested phones this caused the due date 
to be off by two hours for my timezone, so the due date jumped to the 
previous day.

I _think_ (I haven't read the spec) that "DueDate" is in the current 
timezone, otherwise it would not make sense to have the additional 
"UtcDueDate" field.

04/19/2013 03:51:42 PM Michael Rubinsky Comment #4 Reply to this comment
Patch to fix the issue.

Please keep my "Signed-off-by:" line when applying the patch,
just append yours below mine.
Sure, not a problem, though I've been committing them as authored by 
you, with me signing off on it. You want it authored by you and you 
signing off on it too?
04/19/2013 03:50:05 PM Michael Rubinsky Comment #3
State ⇒ Feedback
Assigned to Michael Rubinsky
Reply to this comment
Hi,

the "due by" and "delayed start" fields currently sent to the AS device
are set to the same value. Probably only works if you are living in GMT ;)
Can you explain the symptoms on the device that this was causing? When 
I wrote this I was confused by the two fields because of how all dates 
transmitted to the client must be in UTC anyway, and none of the 
clients I have that support tasks seem to behave any differently with 
those different values.

04/19/2013 03:05:31 PM Thomas Jarosch Comment #2
Patch ⇒ Yes
New Attachment: 0001-ActiveSync-Fix-broken-timezone-on-due-by-and-delayed.patch Download
Reply to this comment
Patch to fix the issue.

Please keep my "Signed-off-by:" line when applying the patch,
just append yours below mine.

04/19/2013 03:02:52 PM Thomas Jarosch Comment #1
State ⇒ Unconfirmed
Patch ⇒ No
Milestone ⇒
Queue ⇒ Nag
Summary ⇒ ActiveSync: Fix broken timezone on "due by" and "delayed start" fields
Type ⇒ Bug
Priority ⇒ 1. Low
Reply to this comment
Hi,

the "due by" and "delayed start" fields currently sent to the AS device
are set to the same value. Probably only works if you are living in GMT ;)

Attached patch fixes the issue.

Tested with:
- HTC Desire HD / Android 4.04
- Nokia N900 / maemo 5
- Nokia Lumia 920 / Windows phone 8

Thomas

Saved Queries