To reproduce :
1 - Create a new project without calendar module.
2 - On another project (who has task and calendar module), go to calendar module, and generate ics link for task :

3 - Copy this link :

4 - Open a new tab, and paste copied link
=> A Oups page is displayed.
=> Log is present :
Caused by: java.lang.NullPointerException: Cannot invoke "org.ametys.plugins.repository.ModifiableTraversableAmetysObject.hasChild(String)" because "parent" is null at org.ametys.plugins.workspaces.AbstractWorkspaceModule#_getAmetysObject:491 at org.ametys.plugins.workspaces.calendars.CalendarWorkspaceModule#getCalendarsRoot:622 at org.ametys.plugins.workspaces.calendars.CalendarDAO#_getCalendarRoot:538 at org.ametys.plugins.workspaces.calendars.CalendarDAO#getTaskCalendar:567 at org.ametys.plugins.workspaces.calendars.CalendarDAO#lambda$0:429 at java.base/java.util.stream.ReferencePipeline$3$1#accept:197 at java.base/java.util.Spliterators$IteratorSpliterator#tryAdvance:1950 at java.base/java.util.stream.ReferencePipeline#forEachWithCancel:129 at java.base/java.util.stream.AbstractPipeline#copyIntoWithCancel:527 at java.base/java.util.stream.AbstractPipeline#copyInto:513 at java.base/java.util.stream.AbstractPipeline#wrapAndCopyInto:499 at java.base/java.util.stream.FindOps$FindOp#evaluateSequential:150 at java.base/java.util.stream.AbstractPipeline#evaluate:234 at java.base/java.util.stream.ReferencePipeline#findFirst:647 at org.ametys.plugins.workspaces.calendars.CalendarDAO#getCalendarFromIcsToken:432 at org.ametys.plugins.workspaces.calendars.actions.GetCalendarEvents#act:65 at org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode#invoke:125 at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode#invokeNodes:47 at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode#invoke:108 at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode#invokeNodes:69 at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode#invoke:143 at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode#invokeNodes:69 at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode#invoke:93 at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor#process:236 at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor#process:178 at org.apache.cocoon.components.treeprocessor.TreeProcessor#process:254 at org.apache.cocoon.components.treeprocessor.sitemap.MountNode#invoke:118 ... 78 more