6.0.0-beta1
7/4/25

[#14084] Free/busy view time zone doesn't match calendar time zone
Summary Free/busy view time zone doesn't match calendar time zone
Queue Kronolith
Queue Version 4.2.9
Type Bug
State Resolved
Priority 2. Medium
Owners Horde Developers (at) , mrubinsk (at) horde (dot) org
Requester rikus.goodell (at) cpanel (dot) net
Created 08/13/2015 (3613 days ago)
Due
Updated 09/02/2015 (3593 days ago)
Assigned 08/24/2015 (3602 days ago)
Resolved 09/02/2015 (3593 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
09/02/2015 07:40:58 PM Michael Rubinsky Comment #5
Assigned to Michael Rubinsky
State ⇒ Resolved
Reply to this comment
Kronolith 4.2.10
09/02/2015 07:40:10 PM Git Commit Comment #4 Reply to this comment
Changes have been made in Git (FRAMEWORK_5_2):

commit 6756ff1f12e12e0207848fe3c94b11fcbe40fba0
Author: Michael J Rubinsky <mrubinsk@horde.org>
Date:   Wed Sep 2 12:35:13 2015 -0700

     Bug 14084 Fix incorrect time for FB data in certain cases.

     When local browser timezone is different than server's configured
     timezone, fb data would be offset incorrectly. Sending
     JSON date strings in place of timestamps fixes the issue.

  kronolith/js/kronolith.js  |    5 ++---
  kronolith/lib/FreeBusy.php |    8 +++++++-
  2 files changed, 9 insertions(+), 4 deletions(-)

http://github.com/horde/horde/commit/6756ff1f12e12e0207848fe3c94b11fcbe40fba0
09/02/2015 07:37:57 PM Git Commit Comment #3 Reply to this comment
Changes have been made in Git (master):

commit 4de3efc3cd62ab33d20730aa5dd6a185fbf2ee96
Author: Michael J Rubinsky <mrubinsk@horde.org>
Date:   Wed Sep 2 12:35:13 2015 -0700

     Bug 14084 Fix incorrect time for FB data in certain cases.

     When local browser timezone is different than server's configured
     timezone, fb data would be offset incorrectly. Sending
     JSON date strings in place of timestamps fixes the issue.

  kronolith/js/kronolith.js  |    5 ++---
  kronolith/lib/FreeBusy.php |    8 +++++++-
  2 files changed, 9 insertions(+), 4 deletions(-)

http://github.com/horde/horde/commit/4de3efc3cd62ab33d20730aa5dd6a185fbf2ee96
08/24/2015 03:38:37 PM Jan Schneider Comment #2
State ⇒ Assigned
Assigned to Horde DevelopersHorde Developers
Reply to this comment
We should probably not return timestamps, but json date strings with 
getFreeBusy json calls.
08/13/2015 08:01:01 PM rikus (dot) goodell (at) cpanel (dot) net Comment #1
Priority ⇒ 2. Medium
Type ⇒ Bug
Summary ⇒ Free/busy view time zone doesn't match calendar time zone
Queue ⇒ Kronolith
Milestone ⇒
Patch ⇒ No
State ⇒ Unconfirmed
Reply to this comment
Description:

The Kronolith free/busy view sometimes disagrees with the calendar 
view on which time zone to apply. This results in all of the "busy" 
blocks for an invitee appearing shifted either left or right.

What we've found is that the getFreeBusy ajax response contains the 
correct unix timestamps for the invitee's busy times, but the 
front-end Javascript appears to be applying the wrong time zone when 
converting them to human-readable format. This happens when the 
browser time zone doesn't match the server time zone (or Horde's 
configured time zone).

Steps to reproduce:

   - Set your server clock to one time zone (e.g., Europe/Budapest).
   - Set your desktop computer clock to another time zone (e.g., 
America/Chicago).
   - Make sure you have left your Horde time zone on "Default" in the 
Locale and Time preferences.
   - As one Horde user, create an event in a Horde calendar at 22:00.
   - As another Horde user, begin creating another event
   - View the free/busy for the first user as an invitee for the new event
   - Notice that the busy time has shifted hours earlier in the day in 
the free/busy view, while it remains at the correct original time in 
the calendar view
   - Optional: Inspect the getFreeBusy ajax response, and notice that 
the timestamps it provides are correct.

Possible fix:

It might help for the server to communicate a numeric hour offset back 
to the client in the getFreeBusy response. That way the parts of the 
UI that manipulate times and dates in Javascript will agree with the 
parts where the manipulation has already occurred on the server.

Saved Queries