5xx Server Error for calendar feed URL: /ccm/calendar/feed/1

Hello!
We are running Concrete 9.3.9 and PHP 8.2.28.
We aren’t having any failures with the calendar on the site but felt obligated to report this error for review. They only reason I know about this is Google Search Console sent me a Server error (5xx) alert when it tried to index this URL: https://reachhighermontana.org/ccm/calendar/feed/1
The error received when going to that URL is:
Controller “Concrete\Controller\CalendarFeed::view()” requires that you provide a value for the “$identifier” argument. Either the argument is nullable and no null value has been provided, no default value has been provided or because there is a non optional argument after this one.
Let me know if there is any other information needed for troubleshooting this.

It looks like to me like this is a core bug. The route definition for this endpoint is here:

$router->get('/ccm/calendar/feed/{calendar_id}', 'Concrete\Controller\CalendarFeed::view')
      ->setName('calendar_rss')
      ->setRequirements(['calendar_id' => '[0-9]+'])

So the route definition is expecting a variable named $calendar_id in the Concrete\Controller\CalendarFeed::view() method.

However, when looking at the actual controller method in the core, we see it’s set up to use a different parameter.

class CalendarFeed extends Controller
{
    public function view($identifier)
    {
    // ...
    }
}

I think if we replaced $identifier with $calendar_id that would fix this issue.

I’ve created a github issue for this: 5xx Server Error for calendar feed URL: /ccm/calendar/feed/1 · Issue #12580 · concretecms/concretecms · GitHub

Thanks for having a look and creating a github issue!