Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The beginning and end have the same time #7

Closed
Heiniwlm opened this issue Feb 14, 2024 · 9 comments
Closed

The beginning and end have the same time #7

Heiniwlm opened this issue Feb 14, 2024 · 9 comments

Comments

@Heiniwlm
Copy link

Since the update to version 2, the start time of an appointment is also entered as the end time of an appointment.

Unfortunately, deleting and adding again didn't make any changes.

@eouia
Copy link
Member

eouia commented Feb 14, 2024

Which CalDAV provider are you using?
Could you provide the created ics file to look inside? ([email protected])

@Heiniwlm
Copy link
Author

I‘m using my Synology NAS as CALDAV Server.

I send you an example.

@eouia
Copy link
Member

eouia commented Feb 15, 2024

[Interim Review Result]

  • The ics file looks normal, but it lacks the DTEND field. Instead, it has DURATION.
BEGIN:VEVENT
CREATED:20230921T084814Z
DTSTAMP:20230921T084818Z
LAST-MODIFIED:20230921T084814Z
LOCATION:Gar...
SEQUENCE:0
SUMMARY:HAB...
TRANSP:OPAQUE
UID:ABE...
X-APPLE-CREATOR-IDENTITY:klw...
X-APPLE-CREATOR-TEAM-IDENTITY:7NL...
DTSTART:20240220T200000Z
DURATION:PT9H
END:VEVENT
  • This information originates from your CALDAV server. Unlike CARDDAV data, CALDAV data is served as not modified by this module. So, your Synology NAS CALDAV server may not compose the DTEND field.
  • The DURATION only, without DTEND, is not so big an issue. Because endTime could be calculated with DURATION, so general modern ical parsers or apps could parse the data without any issue, BUT...
  • BUT, the default calendar module seems unable to handle that kind of thing. That's why the endTime of the event was same to startTime.

[To research more]

  • I'll test with my Synology NAS CALDAV server, whether it really spit out this strange format.
  • And I'll look inside the default calendar module to see whether it can handle that kind of thing.

ps.

Since the update to version 2, ...

It looks somewhat weird because the parts of this module are the same as the previous ones. So I suspect the change happens in the default calendar module or CalDAV server.

@Heiniwlm
Copy link
Author

Thank you very much for your effort.

I have several calendars from my Synology, all of them have the same problem.

Maybe there is a simple solution to change this, perhaps even on the NAS itself.

@eouia
Copy link
Member

eouia commented Feb 15, 2024

I'm writing a patch for fix this kind of bug(?) forcely. Wait a while please.

@eouia
Copy link
Member

eouia commented Feb 15, 2024

Hmmm.. complex situation.
The standard spec RFC 5545 (3.6.1) directs date-time type DTSTART without DTEND to regard the end time as the same as the start time. Both start/end times of the event should be the same. So, that behaviour is not invalid literally.

With my test, I found Synology Calendar serves the wrong format on CalDAV. The weird thing is, when the same calendar would be served as direct ics export, that file has valid format (DTEND served instead of DURATION)

## CALDAV data

BEGIN:VEVENT
CREATED:20240215T101655
LAST-MODIFIED:20240215T101655
DTSTAMP:20240215T101655
UID:[email protected]
SEQUENCE:2
SUMMARY:period test2
TRANSP:OPAQUE
DESCRIPTION:
LOCATION:Kriftel
X-APPLE-STRUCTURED-LOCATION;VALUE=URI;X-TITLE=Kriftel:geo:50.083558\,8.4693855
DTSTART:20240215T090000Z
DURATION:PT15M
END:VEVENT

vs.

## exported ics file

BEGIN:VEVENT
CREATED:20240215T101655
LAST-MODIFIED:20240215T101655
DTSTAMP:20240215T101655
UID:[email protected]
SEQUENCE:2
SUMMARY:period test2
TRANSP:OPAQUE
DTSTART;TZID=Europe/Amsterdam:20240215T100000
DTEND;TZID=Europe/Amsterdam:20240215T101500
DESCRIPTION:
LOCATION:Kriftel
X-APPLE-STRUCTURED-LOCATION;VALUE=URI;X-TITLE=Kriftel:geo:50.083558,8.4693855
END:VEVENT

Sorry, it's Synology's bug.

@eouia
Copy link
Member

eouia commented Feb 16, 2024

I did more research.
I've said it's synology's bug, but I was wrong. The default calendar module may have more responsibility.
The node-ical, a dependency of the default calendar module, cannot handle the format.
I reported this to the node-ical repo and am waiting for their answer.

@eouia
Copy link
Member

eouia commented Feb 23, 2024

About this error, node-ical will release a new fix soon. (not yet.) jens-maus/node-ical#306
Wait for a while.

@eouia
Copy link
Member

eouia commented Feb 27, 2024

node-ical is updated. You can update your calendar module.

@eouia eouia closed this as completed Feb 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants