Problem/Motivation
The Views iCal feed currently generates a SEQUENCE property for each VEVENT like this:
->setSequence($row_index + 1)
This implementation seems incorrect because:
- SEQUENCE is meant to track per-event revision history for a given UID.
- Using $row_index + 1 assigns values sequentially across rows, not across revisions.
- When an event is modified (e.g., SUMMARY or DTSTART change), its SEQUENCE does not increment, so calendar clients may not detect the update.
Steps to reproduce
- Create an event with a date field.
- Export the .ics feed.
- Modify the event (e.g., change the title or start time).
- Export the feed again.
- Compare the two .ics files:
- The UID is stable.
- The SUMMARY and DTSTART change.
- The SEQUENCE value remains tied to the row index, not to the actual update.
Proposed resolution
Since implementing proper per-event revision tracking is non-trivial, it would be better to remove the SEQUENCE property entirely. The iCalendar specification (RFC 5545) defines SEQUENCE as optional, so omitting it is safer than publishing misleading values.
Issue fork date_ical-3548087
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
joelpittet@franceslui, I agree with your proposal to remove it. And considering it's optional, there is no clear commit around it's introduction, and D7 didn't use it, that seems like the right move. Can you create an MR and make that change, I'd be happy to review and commit that.
Comment #4
franceslui commented@joelpittet I have created the requested MR and applied the change. Could you please review it? Thank you.
Comment #6
joelpittetThanks @franceslui I have committed to the dev branch.
Comment #7
joelpittet