Fix calendar crash when yearmatchgroup regex does not match - #4239
Merged
KristjanESPERANTO merged 2 commits intoAug 29, 2026
Merged
Conversation
This was referenced Aug 29, 2026
KristjanESPERANTO
approved these changes
Aug 29, 2026
Collaborator
|
Looks good! 👍 Would you like to add a regression test for this? |
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
Author
Certainly, there is now also a small regression test for it added. |
This comment was marked as spam.
This comment was marked as spam.
Collaborator
|
Nice! Thank you 😃 The change will be in the October release. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fixes an issue in CalendarUtils.titleTransform() when a title transformation uses yearmatchgroup but the configured regular expression does not match the event title.
Currently, matchAll() returns an empty array when there is no match, but the code subsequently accesses yearmatch[0].length. This results in an exception and causes the calendar module to stop displaying its events.
This can occur when using yearmatchgroup for birthday events, for example, when some matching events have a birth year in the expected format while another event matching the keyword does not.
Change
Check that yearmatch contains at least one match before accessing yearmatch[0].
This is a one-line change and leaves the existing behaviour unchanged when the regular expression matches.
Example
With a transformation such as:
an event such as:
continues to be transformed to:
while an event matching the custom-event keyword but not the year pattern no longer causes the calendar module to fail.