Bug 451459 - Korganizer displays wrong start/end times for recurrences over DST boundary and created in UTC
Summary: Korganizer displays wrong start/end times for recurrences over DST boundary a...
Status: RESOLVED FIXED
Alias: None
Product: korganizer
Classification: Applications
Component: agendaview (weekview) (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-03-13 16:36 UTC by tusooa
Modified: 2023-08-25 08:18 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 5.24.1


Attachments
the KOrganizer window that demonstrates this bug (251.45 KB, image/png)
2022-03-13 16:36 UTC, tusooa
Details

Note You need to log in before you can comment on or make changes to this bug.
Description tusooa 2022-03-13 16:36:36 UTC
Created attachment 147472 [details]
the KOrganizer window that demonstrates this bug

SUMMARY
If I create a recurring event in UTC and it goes past a DST boundary, korganizer will use the tz offset at the first instance of that event as the displayed start/end time for *all* recurrences of that event.

STEPS TO REPRODUCE
1. Switch system timezone to America/Toronto
2. Create an event that starts at 2022-02-26 5:00 PM and ends at 2022-02-26 5:00 PM with *timezone set to UTC*, and repeats every week
3. Take a look at the Feb 26 instance and Mar 19 instance in Agenda/Week view

OBSERVED RESULT
In 3, the block of the Mar 19 instance is aligned with "1pm-2pm," but the start and end time on the block is "12:00 P.M. - 1:00 P.M." Clicking on the event and the details docker on the left sidebar says "Time: 12:00 P.M. - 1:00 P.M."

EXPECTED RESULT
In 3, the block of the Mar 19 instance is aligned with "1pm-2pm," the start and end time on the block should be "1:00 P.M. - 2:00 P.M." Clicking on the event and the details docker on the left sidebar should say "Time: 1:00 P.M. - 2:00 P.M."

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: Linux 5.16.12-gentoo-x86_64
(available in About System)
KDE Plasma Version: 5.24.3 
KDE Frameworks Version: 5.91.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
Comment 1 Daniel Vrátil 2023-08-25 08:18:54 UTC
Git commit fb00f08d56b65c63541af204a77322a77600f6ee by Daniel Vrátil.
Committed on 24/08/2023 at 18:17.
Pushed by dvratil into branch 'release/23.08'.

IncidenceFormatter: fix start/end dt of recurrent event crossing DST

This fixes a particular case when a recurrent event is created during
DST but a subsequent recurrence occurs after DST ends. The formatter
would still show the start/end time of the occurrence as if the
DST still applied. This is best noticed when system timezone does not
observe DST, but the displayed incidence from a timezone uses DST.

This change replaces a custom (broken) algorithm by the one provided
by KCalendarCore to obtain start/end datetime of an incidence on
a particular date, which is actually correct.
Related: bug 460186
FIXED-IN: 5.24.1

M  +3    -17   src/incidenceformatter.cpp

https://invent.kde.org/pim/kcalutils/-/commit/fb00f08d56b65c63541af204a77322a77600f6ee