{"record":{"id":"b4810bd7b0c19a92","repo":"symfony/symfony","slug":"remoteevent-support-cannot-be-enabled-as-the-compo","errorCode":null,"errorMessage":"RemoteEvent support cannot be enabled as the component is not installed. Try running \"composer require symfony/remote-event\".","messagePattern":"RemoteEvent support cannot be enabled as the component is not installed\\. Try running \"composer require symfony/remote-event\"\\.","errorType":"validation","errorClass":"LogicException","httpStatus":null,"severity":"error","filePath":"src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php","lineNumber":3437,"sourceCode":"        $controller->replaceArgument(0, $parsers);\n        $controller->replaceArgument(1, new Reference($config['message_bus']));\n\n        $jsonBodyConfigurator = $container->getDefinition('webhook.body_configurator.json');\n        $jsonBodyConfigurator->replaceArgument(0, new Reference($serializerEnabled ? 'webhook.payload_serializer.serializer' : 'webhook.payload_serializer.json'));\n\n        $container->getDefinition('webhook.headers_configurator')\n            ->replaceArgument(0, $config['event_header_name'])\n            ->replaceArgument(1, $config['id_header_name']);\n\n        $container->getDefinition('webhook.signer')\n            ->replaceArgument(0, $config['signing_algorithm'])\n            ->replaceArgument(1, $config['signature_header_name']);\n    }\n\n    private function registerRemoteEventConfiguration(PhpFileLoader $loader): void\n    {\n        if (!class_exists(RemoteEvent::class)) {\n            throw new LogicException('RemoteEvent support cannot be enabled as the component is not installed. Try running \"composer require symfony/remote-event\".');\n        }\n\n        $loader->load('remote_event.php');\n    }\n\n    private function registerRateLimiterConfiguration(array $config, ContainerBuilder $container, PhpFileLoader $loader): void\n    {\n        $loader->load('rate_limiter.php');\n\n        $limiters = [];\n        $compoundLimiters = [];\n\n        foreach ($config['limiters'] as $name => $limiterConfig) {\n            if ('compound' === $limiterConfig['policy']) {\n                $compoundLimiters[$name] = $limiterConfig;\n\n                continue;\n            }","sourceCodeStart":3419,"sourceCodeEnd":3455,"githubUrl":"https://github.com/symfony/symfony/blob/698e28026c22cf35d032cdb6e800db48b1535790/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php#L3419-L3455","documentation":"registerRemoteEventConfiguration() requires the RemoteEvent class from symfony/remote-event. Enabling remote-event integration (used by webhook/mailer/notifier bridges to normalize incoming provider events) without the package throws this compile-time LogicException.","triggerScenarios":"Triggering remote-event wiring (e.g. configuring a webhook/mailer/notifier bridge that depends on it, or enabling the remote_event section) while symfony/remote-event is not installed.","commonSituations":"Adding an inbound webhook/parser bridge that emits RemoteEvent objects without the base package; recipe/config enabling remote_event with the component missing.","solutions":["Run `composer require symfony/remote-event`, then clear cache.","Remove the config that triggered the integration (e.g. the webhook/parser that requires remote events).","Verify with `php -r 'echo class_exists(\"Symfony\\\\Component\\\\RemoteEvent\\\\RemoteEvent\")?1:0;'`."],"exampleFix":"# before\nframework:\n    remote_event: ~\n# (symfony/remote-event missing -> LogicException)\n\n# after\n# composer require symfony/remote-event","handlingStrategy":"validation","validationCode":"$isRemoteEventAvailable = class_exists(\\Symfony\\Component\\RemoteEvent\\RemoteEvent::class);\nif (!$isRemoteEventAvailable) {\n    throw new \\LogicException('Enable symfony/remote-event before wiring remote event integration.');\n}","typeGuard":"null","tryCatchPattern":"null","preventionTips":["Install symfony/remote-event when adopting webhook/mailer/notifier bridges that emit RemoteEvent objects.","Gate dependent config on `class_exists(RemoteEvent::class)`.","CI cold-cache `cache:clear` to catch missing components."],"tags":["symfony","remote-event","dependency-injection","configuration","composer"],"analyzedSha":"698e28026c22cf35d032cdb6e800db48b1535790","analyzedAt":"2026-08-06T23:40:49.025Z","schemaVersion":2},"datasetVersion":"2026-08-07T03:17:09.362Z"}