Multi-day events in event view shown on start date only

REPRODUCIBILITY: always
OS VERSION: 5.0.0.67
HARDWARE: Xperia XA2
UI LANGUAGE: Polish
REGRESSION: not sure

DESCRIPTION:

Events that span multiple days are shown on start date only in event view.

PRECONDITIONS:

Not sure if relevant, but this is a CalDAV calendar. Still, as the calendar app properly displays events durations, I suppose it’s only event view problem.

STEPS TO REPRODUCE:

  1. Create an event spanning multiple days — doesn’t matter, all-day event or the one having start and end hour.

EXPECTED RESULT:

Event should be shown on all days it covers.

ACTUAL RESULT:

Event is shown only on start date, leaving further days fasely free at a glance.

MODIFICATIONS:

Patchmanager installed, but no patches ATM.

ADDITIONAL INFORMATION:

Event view. Notice that “Long test” and “Spaniel” events are shown on their start days only.

Details of “Spaniel” event — all day event spanning from Friday, June 6th to Sunday, 8th.

Details of “Long test” — normal event spanning from 11:00, Thursday, June 5th to 12:00, Friday, June 6th.

5 Likes

Ah, yes, I have also spotted this. Thanks for reporting.

1 Like

Same here. Question is, will it show up every day it is active. A test event I just created, that goes from 2 days ago until the day after tomorrow, shows up today.

I could live with it showing up only once, but then it should be marked somehow, otherwise the information provided by the events view is not completely factual.

Oh. I have just checked… It seems that indeed, the event is shown on current day – but only if it’s an all-day event. An event that starts yesterday and ends tomorrow at given hour is completely absent from the view.

Another thing that surfaced during tests – and this time in calendar data itself: an event that was all-day and later gets edited to have start and end hour seems to have no time zone information (“none”).

2 Likes

Thanks for reporting. This has been discussed before, but I don’t think I have seen it resolved.

In this thread, there is a suggestion for a patch, which may mean that it could be fixed.

This thread indicates it is a regression.

Pinging @dcaliste - I know you have done stellar work on the Calendar app, do you know if anything could be done?

1 Like

Hello, I’ve seen the thread and bookmarked it. I’ll try to give a look within the coming days.

4 Likes

Most of the code dealing with this is from GitHub - sailfishos/nemo-qml-plugin-calendar within lightweight/calendareventsmodel/calendareventsmodel.cpp. Here is the current situation / implementation:

  1. all day events spanning over several days are shown only once, on the current day or the first day they will appear in the coming days,
  2. timed events spanning over several days are also shown only once, on the day they will start in the coming days.
  3. all timed events are removed from the event view 15 minutes after their starting time (whatever day it is, whatever stopping time or duration).

As an immediate consequence, a timed event that started more than 15 minutes ago (and particularly some days ago) will not be displayed at all, even if it continues for the rest of the day, or in the coming days.

That’s not strictly speaking a bug, it is following what has been implemented so far, but that’s very suboptimal. What should be the behaviour in your opinion ?

  1. keep the 15 minutes grace period following start time and make timed events disappear after this grace-period ? Or only for timed events that don’t cross a day change ?
  2. treat timed events that span over several days as all day events ? It makes sense for the parts that go from 00:00 to 23:59, but what about the parts that are at the beginning or at the end ? With the 15 minutes rule, they won’t always be displayed. Should we treat these parts as full day also, with a different labels, like ‘from xx : xx’ and ‘to xx : xx’ ?
  3. how to make clear that events spanning a full day (either full day events or long timed events) may repeat themselves within the coming days ? Should we clutter the event views with every occurrence ? Since the event view is limited by default to 3-4 events, this may very well limit the quick view of the coming events…

Give me your opinion, I will change the code accordingly. Personnally, I would go to treat timed events crossing days to be treated as full day ones, while keeping the single occurrence scenario (no idea how to mark it going over several days). And also don’t touch the 15 minutes grace-period.

Edit: another consideration, the recurring events are cluttering the event views. For example a timed every day recurring event will be displayed for each day in the event view. Maybe it would be wise to do the same for events spanning over several days. For consistency reasons…

3 Likes

Treat timed events crossing days the same as multi-day whole day events, in the event view.
And additionally some sort of indicator for multi-day events.
That’s probably better than listing them for each day in the event view.

Just my :coin::coin:

2 Likes

I think this is the best case. In the first day show event starting at XX:XX, but don’t hide it for rest of the day, following days show as whole day and in the last day show event lasting until XX:XX (you could hide it after the end time). Like @ohnonot suggested, some kind of special indicator showing it is an multiday event, or text showing the dates spanning across multiple days could bring some clarity to why it is not going away.

1 Like

Thank you for looking into this, @dcaliste!

Good questions. It’s always in the details, isn’t it?

I have a busy period coming, but I’ll try to form an opinion and reply here. (The events view is still slightly alien to me, compared to the Palm Pilots where the calendar was always instantly accessible.)

I think I agree with the comments from @avhakola and @ohnonot above. There may be subtle details I haven’t fully understood, but what they say makes sense.

Some kind of indicator for recurring events (maybe ⭮ or 🗘) and events spanning more than a day (maybe ←→↔ depending on where in the span we’re currently at) would be nice, it’s actually something I miss in the Calendar app.

The limited space should be used wisely, and this makes sense to me.