Important when applying this patch manually: Delete public/index.html from the target installation. The chat root route is now handled by Symfony via App\Controller\Chat\ChatController. If public/index.html remains on disk, the web server may still serve the static file before Symfony handles /, which would bypass the chat firewall and ROLE_CHAT_USER check.