| exception |
Twig\Error\RuntimeError {#976
#message: "Impossible to access an attribute ("id") on a null variable."
#code: 0
#file: "/home/softcode/web/videochat/templates/room/show.html.twig"
#line: 116
-lineno: 116
-name: "room/show.html.twig"
-rawMessage: "Impossible to access an attribute ("id") on a null variable."
-sourcePath: "/home/softcode/web/videochat/templates/room/show.html.twig"
-sourceCode: """
{% extends 'base.html.twig' %}\n
\n
{% block title %}{{ room.name }} - {{ parent() }}{% endblock %}\n
\n
{% block stylesheets %}\n
{{ parent() }}\n
{% endblock %}\n
\n
{% block body %}\n
{# Add meta tag for signaling server URL and Turbo cache control #}\n
<meta name="signaling-server-url" content="wss://videochat.softcode.cz/ws">\n
<meta name="in-video-room" content="true">\n
<meta name="csrf-token" content="{{ csrf_token('turn_credentials') }}">\n
<div data-turbo-permanent id="video-chat-room" data-turbo-cache="false" data-room-slug="{{ room.slug }}">\n
\n
<div id="roomOptionsTrigger" class="position-fixed top-0 end-0 mt-5 me-3">\n
<button class="btn btn-primary rounded-circle" onclick="window.videoRoomUI.showRoomOptions(event)">\n
<i class="fa fa-cog"></i>\n
</button>\n
\n
<div id="roomOptionsMenu" class="dropdown-menu">\n
<a class="dropdown-item" href="{{ path('app_room_invite', {slug: room.slug}) }}">Pozvat uživatele</a>\n
<a class="dropdown-item" href="{{ path('app_room_participants', {slug: room.slug}) }}">Správa účastníků</a>\n
<a class="dropdown-item" href="#" onclick="window.videoRoomUI.copyRoomLink(event)">Kopírovat odkaz</a>\n
<a class="dropdown-item" id="menu-toggle-video" href="#" onclick="window.toggleCamera(event)">Vypnout kameru</a>\n
<a class="dropdown-item" id="menu-toggle-mic" href="#" onclick="window.toggleMicrophone(event)">Ztlumit mikrofon</a>\n
<a class="dropdown-item" id="menu-share-screen" href="#" onclick="window.shareScreen(event)">Sdílet obrazovku</a>\n
<div class="dropdown-divider"></div>\n
<a class="dropdown-item text-danger" href="#" onclick="window.leaveRoom(event)">Opustit místnost</a>\n
</div>\n
</div>\n
<div class="row mb-3">\n
<div class="col-md-8">\n
<h1>{{ room.name }}</h1>\n
<p>\n
{% if room.isPrivate %}\n
<span class="badge bg-warning text-dark">Soukromá místnost</span>\n
{% else %}\n
<span class="badge bg-success">Veřejná místnost</span>\n
{% endif %}\n
<span class="badge bg-info text-dark">\n
<span id="participant-count">{{ room.participants|length }}</span> účastníků\n
</span>\n
</p>\n
</div>\n
<div class="col-md-4 text-end">\n
<div class="dropdown">\n
<button class="btn btn-outline-primary dropdown-toggle" type="button" id="dropdownMenuButton" data-bs-toggle="dropdown" aria-expanded="false">\n
Možnosti místnosti\n
</button>\n
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="dropdownMenuButton">\n
<li><a class="dropdown-item" href="{{ path('app_room_invite', {slug: room.slug}) }}">Pozvat uživatele</a></li>\n
<li><a class="dropdown-item" href="{{ path('app_room_participants', {slug: room.slug}) }}">Správa účastníků</a></li>\n
<li><a class="dropdown-item" href="#" id="copy-link">Kopírovat odkaz</a></li>\n
{% if room.isPrivate and app.user and room.owner == app.user %}\n
<li><a class="dropdown-item" href="{{ path('app_room_edit_password', {slug: room.slug}) }}">Správa hesla místnosti</a></li>\n
{% endif %}\n
<li><hr class="dropdown-divider"></li>\n
<li><a class="dropdown-item" href="#" id="toggle-video-menu">Vypnout kameru</a></li>\n
<li><a class="dropdown-item" href="#" id="toggle-audio-menu">Ztlumit mikrofon</a></li>\n
<li><a class="dropdown-item" href="#" id="share-screen-menu">Sdílet obrazovku</a></li>\n
<li><hr class="dropdown-divider"></li>\n
<li><a class="dropdown-item text-danger" href="#" id="leave-room">Opustit místnost</a></li>\n
</ul>\n
</div>\n
</div>\n
</div>\n
\n
<div class="row">\n
<div class="col-md-9">\n
<div class="card mb-4">\n
<div class="card-body p-0">\n
<div id="video-container" class="position-relative">\n
<div id="local-video-container" class="position-absolute bottom-0 end-0 p-2 z-index-1">\n
<video id="local-video" autoplay muted playsinline class="w-100 h-100 rounded bg-dark"></video>\n
<div class="position-absolute bottom-0 start-0 bg-dark bg-opacity-50 text-white px-2 py-1 rounded" style="font-size: 0.8rem;">\n
Vy ({{ app.user ? app.user.username : 'Host' }})\n
</div>\n
<button id="camera-retry" onclick="window.initializeCamera()" class="btn btn-sm btn-danger position-absolute top-0 end-0 m-1" title="Kamera se neinicializovala. Kliknutím zkuste znovu." style="display: none;">\n
<i class="fa fa-video-slash"></i> Povolit kameru\n
</button>\n
</div>\n
<div id="remote-videos" class="d-flex flex-wrap justify-content-center align-items-center" style="min-height: 400px;">\n
<div class="text-center text-light py-5">\n
<div class="spinner-border" role="status">\n
<span class="visually-hidden">Načítání...</span>\n
</div>\n
<p class="mt-2">Připojování k místnosti...</p>\n
</div>\n
</div>\n
</div>\n
</div>\n
<div class="card-footer bg-dark text-center">\n
<div class="btn-group">\n
<button id="mic-toggle" class="btn btn-outline-light" onclick="window.toggleMicrophone()">\n
<i class="fa fa-microphone"></i>\n
</button>\n
<button id="camera-toggle" class="btn btn-outline-light" onclick="window.toggleCamera()">\n
<i class="fa fa-video"></i>\n
</button>\n
<button id="screen-share" class="btn btn-outline-light" onclick="window.shareScreen()">\n
<i class="fa fa-desktop"></i>\n
</button>\n
</div>\n
</div>\n
</div>\n
</div>\n
\n
<div class="col-md-3">\n
<div class="card mb-4">\n
<div class="card-header">\n
<h5 class="mb-0">Účastníci</h5>\n
</div>\n
<div class="card-body p-0">\n
<ul class="list-group list-group-flush" id="participants-list">\n
<li class="list-group-item d-flex justify-content-between align-items-center" data-user-id="{{ app.user.id }}">\n
{{ app.user.username }} {% if app.user.id == room.owner.id %}(Vy){% else %}(Vy){% endif %}\n
{% if app.user.id == room.owner.id %}\n
<span class="badge bg-primary rounded-pill">Hostitel</span>\n
{% endif %}\n
</li>\n
{% for participant in room.participants %}\n
{% if participant.id != app.user.id %}\n
<li class="list-group-item" data-user-id="{{ participant.id }}">\n
{{ participant.username }}\n
{% if participant.id == room.owner.id %}\n
<span class="badge bg-primary rounded-pill">Hostitel</span>\n
{% endif %}\n
</li>\n
{% endif %}\n
{% endfor %}\n
</ul>\n
</div>\n
</div>\n
</div>\n
</div>\n
</div>\n
\n
{% endblock %}\n
\n
{% block javascripts %}\n
{{ parent() }}\n
\n
{# Definujeme proměnné pro JS #}\n
<script>\n
// Namespace pro data o místnosti\n
window.videoChatApp = {\n
roomId: {{ room.id }},\n
roomSlug: "{{ room.slug }}",\n
currentUserId: {{ app.user ? app.user.id : 'null' }},\n
currentUsername: "{{ app.user ? app.user.username : 'Host' }}",\n
isOwner: {{ app.user and app.user.id == room.owner.id ? 'true' : 'false' }},\n
csrfToken: "{{ csrf_token('turn_credentials') }}"\n
};\n
</script>\n
\n
{# Přímé importy JS souborů přes importmap #}\n
{{ importmap('debug') }}\n
{{ importmap('videochat-init') }}\n
\n
<script>\n
document.addEventListener('DOMContentLoaded', function() {\n
console.log('DOMContentLoaded v hlavní šabloně, inicializuji pomocníky');\n
\n
// Inicializace dropdownů\n
var dropdownElementList = [].slice.call(document.querySelectorAll('.dropdown-toggle'))\n
dropdownElementList.map(function(dropdownToggleEl) {\n
try {\n
return new bootstrap.Dropdown(dropdownToggleEl)\n
} catch (e) {\n
console.error('Chyba při inicializaci dropdownu:', e);\n
}\n
});\n
\n
// Přidáme event listenery na tlačítka\n
document.getElementById('copy-link')?.addEventListener('click', function(e) {\n
e.preventDefault();\n
if (window.videoRoomUI && window.videoRoomUI.copyRoomLink) {\n
window.videoRoomUI.copyRoomLink(e);\n
} else {\n
const roomSlug = document.getElementById('video-chat-room').dataset.roomSlug;\n
const roomUrl = window.location.origin + '/room/' + roomSlug;\n
navigator.clipboard.writeText(roomUrl).then(function() {\n
alert('Odkaz na místnost byl zkopírován do schránky!');\n
});\n
}\n
});\n
\n
document.getElementById('toggle-video-menu')?.addEventListener('click', function(e) {\n
e.preventDefault();\n
if (window.toggleCamera) {\n
window.toggleCamera(e);\n
}\n
});\n
\n
document.getElementById('toggle-audio-menu')?.addEventListener('click', function(e) {\n
e.preventDefault();\n
if (window.toggleMicrophone) {\n
window.toggleMicrophone(e);\n
}\n
});\n
\n
document.getElementById('share-screen-menu')?.addEventListener('click', function(e) {\n
e.preventDefault();\n
if (window.shareScreen) {\n
window.shareScreen(e);\n
}\n
});\n
\n
document.getElementById('leave-room')?.addEventListener('click', function(e) {\n
e.preventDefault();\n
if (window.leaveRoom) {\n
window.leaveRoom(e);\n
} else {\n
if (confirm('Opravdu chcete opustit tuto místnost?')) {\n
window.location.href = '/';\n
}\n
}\n
});\n
});\n
</script>\n
{% endblock %}
"""
trace: {
/home/softcode/web/videochat/templates/room/show.html.twig:116 {
Twig\Extension\CoreExtension::getAttribute(Environment $env, Source $source, $object, $item, array $arguments = [], $type = Template::ANY_CALL, $isDefinedTest = false, $ignoreStrictCheck = false, $sandboxed = false, int $lineno = -1) …
› <ul class="list-group list-group-flush" id="participants-list">
› <li class="list-group-item d-flex justify-content-between align-items-center" data-user-id="{{ app.user.id }}">
› {{ app.user.username }} {% if app.user.id == room.owner.id %}(Vy){% else %}(Vy){% endif %}
}
/home/softcode/web/videochat/templates/room/show.html.twig:116 {
__TwigTemplate_6773f22120ef9ee5c304ca469633268e->block_body(array $context, array $blocks = []): iterable …
› <ul class="list-group list-group-flush" id="participants-list">
› <li class="list-group-item d-flex justify-content-between align-items-center" data-user-id="{{ app.user.id }}">
› {{ app.user.username }} {% if app.user.id == room.owner.id %}(Vy){% else %}(Vy){% endif %}
}
/home/softcode/web/videochat/vendor/twig/twig/src/Template.php:432 {
Twig\Template->yieldBlock($name, array $context, array $blocks = [], $useBlocks = true, ?self $templateContext = null): iterable …
› try {
› yield from $template->$block($context, $blocks);
› } catch (Error $e) {
}
/home/softcode/web/videochat/templates/base.html.twig:78 {
__TwigTemplate_9c17ed8ec9e4438f28caf4c4c00c8ad0->doDisplay(array $context, array $blocks = []): iterable …
›
› {% block body %}{% endblock %}
› </div>
}
/home/softcode/web/videochat/vendor/twig/twig/src/Template.php:388 {
Twig\Template->yield(array $context, array $blocks = []): iterable …
› try {
› yield from $this->doDisplay($context, $blocks);
› } catch (Error $e) {
}
/home/softcode/web/videochat/var/cache/dev/twig/43/432165ffa27351bd415eb3d9dfe1b214.php:56 {
__TwigTemplate_6773f22120ef9ee5c304ca469633268e->doDisplay(array $context, array $blocks = []): iterable …
› $this->parent = $this->loadTemplate("base.html.twig", "room/show.html.twig", 1);
› yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
›
}
/home/softcode/web/videochat/vendor/twig/twig/src/Template.php:388 {
Twig\Template->yield(array $context, array $blocks = []): iterable …
› try {
› yield from $this->doDisplay($context, $blocks);
› } catch (Error $e) {
}
/home/softcode/web/videochat/vendor/twig/twig/src/Template.php:344 {
Twig\Template->display(array $context, array $blocks = []): void …
› {
› foreach ($this->yield($context, $blocks) as $data) {
› echo $data;
}
/home/softcode/web/videochat/vendor/twig/twig/src/Template.php:359 {
Twig\Template->render(array $context): string …
› try {
› $this->display($context);
› } catch (\Throwable $e) {
}
/home/softcode/web/videochat/vendor/twig/twig/src/TemplateWrapper.php:51 {
Twig\TemplateWrapper->render(array $context = []): string …
› {
› return $this->template->render($context);
› }
}
/home/softcode/web/videochat/vendor/twig/twig/src/Environment.php:334 {
Twig\Environment->render($name, array $context = []): string …
› {
› return $this->load($name)->render($context);
› }
}
/home/softcode/web/videochat/vendor/symfony/framework-bundle/Controller/AbstractController.php:431 {
Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView(string $view, ?string $block, array $parameters, string $method): string …
›
› return $this->container->get('twig')->render($view, $parameters);
› }
}
/home/softcode/web/videochat/vendor/symfony/framework-bundle/Controller/AbstractController.php:436 {
Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response …
› {
› $content = $this->doRenderView($view, $block, $parameters, $method);
› $response ??= new Response();
}
/home/softcode/web/videochat/vendor/symfony/framework-bundle/Controller/AbstractController.php:250 {
Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render(string $view, array $parameters = [], ?Response $response = null): Response …
› {
› return $this->doRender($view, null, $parameters, $response, __FUNCTION__);
› }
}
/home/softcode/web/videochat/src/Controller/RoomController.php:251 {
App\Controller\RoomController->show(Request $request, string $slug): Response …
›
› return $this->render('room/show.html.twig', [
› 'room' => $room,
}
/home/softcode/web/videochat/vendor/symfony/http-kernel/HttpKernel.php:183 {
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response …
› // call controller
› $response = $controller(...$arguments);
›
}
/home/softcode/web/videochat/vendor/symfony/http-kernel/HttpKernel.php:76 {
Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
› try {
› return $response = $this->handleRaw($request, $type);
› } catch (\Throwable $e) {
}
/home/softcode/web/videochat/vendor/symfony/http-kernel/Kernel.php:182 {
Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
› try {
› return $this->getHttpKernel()->handle($request, $type, $catch);
› } finally {
}
/home/softcode/web/videochat/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35 {
Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run(): int …
› {
› $response = $this->kernel->handle($this->request);
›
}
/home/softcode/web/videochat/vendor/autoload_runtime.php:29 {
require_once …
› ->getRunner($app)
› ->run()
› );
}
/home/softcode/web/videochat/public/index.php:5 {
›
› require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
›
arguments: {
"/home/softcode/web/videochat/vendor/autoload_runtime.php"
}
}
}
} |
| logger |
Symfony\Bridge\Monolog\Processor\DebugProcessor {#77
-records: [
2 => [
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.868+01:00"
"message" => "Matched route "{route}"."
"priority" => 200
"priorityName" => "INFO"
"context" => [
"route" => "app_room_show"
"route_parameters" => [
"_route" => "app_room_show"
"_controller" => "App\Controller\RoomController::show"
"slug" => "public-1-680897f852b55"
]
"request_uri" => "https://videochat.softcode.cz/room/public-1-680897f852b55"
"method" => "GET"
]
"channel" => "request"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.869+01:00"
"message" => "Checking for authenticator support."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"firewall_name" => "main"
"authenticators" => 1
]
"channel" => "security"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.869+01:00"
"message" => "Checking support on authenticator."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"firewall_name" => "main"
"authenticator" => "Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticator"
]
"channel" => "security"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.869+01:00"
"message" => "Authenticator does not support the request."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"firewall_name" => "main"
"authenticator" => "Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticator"
]
"channel" => "security"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.869+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.869+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\UX\Turbo\Request\RequestListener::__invoke"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.869+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.869+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.869+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.869+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.869+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.869+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.870+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.870+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.870+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.870+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.870+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller"
"listener" => "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.870+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller"
"listener" => "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.872+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\Security\Http\EventListener\IsCsrfTokenValidAttributeListener::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.872+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.872+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.872+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "ContainerFrrc1QZ\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.872+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.875+01:00"
"message" => "Connecting with parameters {params}"
"priority" => 200
"priorityName" => "INFO"
"context" => [
"params" => [
"use_savepoints" => true
"driver" => "pdo_pgsql"
"idle_connection_ttl" => 600
"host" => "127.0.0.1"
"port" => 5432
"user" => "videochat"
"password" => "<redacted>"
"driverOptions" => []
"defaultTableOptions" => []
"dbname" => "videochat_db"
"serverVersion" => "15"
"charset" => "utf8"
]
]
"channel" => "doctrine"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.887+01:00"
"message" => "Executing statement: {sql} (parameters: {params}, types: {types})"
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"sql" => "SELECT t0.id AS id_1, t0.name AS name_2, t0.slug AS slug_3, t0.is_private AS is_private_4, t0.password AS password_5, t0.created_at AS created_at_6, t0.owner_id AS owner_id_7 FROM room t0 WHERE t0.slug = ? LIMIT 1"
"params" => [
1 => "public-1-680897f852b55"
]
"types" => [
1 => 2
]
]
"channel" => "doctrine"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.895+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "debug.security.authorization.vote"
"listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.896+01:00"
"message" => "Executing statement: {sql} (parameters: {params}, types: {types})"
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"sql" => "SELECT t0.id AS id_1, t0.email AS email_2, t0.roles AS roles_3, t0.password AS password_4, t0.username AS username_5 FROM "user" t0 INNER JOIN room_user ON t0.id = room_user.user_id WHERE room_user.room_id = ?"
"params" => [
1 => 2
]
"types" => [
1 => 1
]
]
"channel" => "doctrine"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.898+01:00"
"message" => "Uncaught PHP Exception Twig\Error\RuntimeError: "Impossible to access an attribute ("id") on a null variable." at show.html.twig line 116"
"priority" => 500
"priorityName" => "CRITICAL"
"context" => [
"exception" => Twig\Error\RuntimeError {#976
#message: "Impossible to access an attribute ("id") on a null variable."
#code: 0
#file: "/home/softcode/web/videochat/templates/room/show.html.twig"
#line: 116
-lineno: 116
-name: "room/show.html.twig"
-rawMessage: "Impossible to access an attribute ("id") on a null variable."
-sourcePath: "/home/softcode/web/videochat/templates/room/show.html.twig"
-sourceCode: """
{% extends 'base.html.twig' %}\n
\n
{% block title %}{{ room.name }} - {{ parent() }}{% endblock %}\n
\n
{% block stylesheets %}\n
{{ parent() }}\n
{% endblock %}\n
\n
{% block body %}\n
{# Add meta tag for signaling server URL and Turbo cache control #}\n
<meta name="signaling-server-url" content="wss://videochat.softcode.cz/ws">\n
<meta name="in-video-room" content="true">\n
<meta name="csrf-token" content="{{ csrf_token('turn_credentials') }}">\n
<div data-turbo-permanent id="video-chat-room" data-turbo-cache="false" data-room-slug="{{ room.slug }}">\n
\n
<div id="roomOptionsTrigger" class="position-fixed top-0 end-0 mt-5 me-3">\n
<button class="btn btn-primary rounded-circle" onclick="window.videoRoomUI.showRoomOptions(event)">\n
<i class="fa fa-cog"></i>\n
</button>\n
\n
<div id="roomOptionsMenu" class="dropdown-menu">\n
<a class="dropdown-item" href="{{ path('app_room_invite', {slug: room.slug}) }}">Pozvat uživatele</a>\n
<a class="dropdown-item" href="{{ path('app_room_participants', {slug: room.slug}) }}">Správa účastníků</a>\n
<a class="dropdown-item" href="#" onclick="window.videoRoomUI.copyRoomLink(event)">Kopírovat odkaz</a>\n
<a class="dropdown-item" id="menu-toggle-video" href="#" onclick="window.toggleCamera(event)">Vypnout kameru</a>\n
<a class="dropdown-item" id="menu-toggle-mic" href="#" onclick="window.toggleMicrophone(event)">Ztlumit mikrofon</a>\n
<a class="dropdown-item" id="menu-share-screen" href="#" onclick="window.shareScreen(event)">Sdílet obrazovku</a>\n
<div class="dropdown-divider"></div>\n
<a class="dropdown-item text-danger" href="#" onclick="window.leaveRoom(event)">Opustit místnost</a>\n
</div>\n
</div>\n
<div class="row mb-3">\n
<div class="col-md-8">\n
<h1>{{ room.name }}</h1>\n
<p>\n
{% if room.isPrivate %}\n
<span class="badge bg-warning text-dark">Soukromá místnost</span>\n
{% else %}\n
<span class="badge bg-success">Veřejná místnost</span>\n
{% endif %}\n
<span class="badge bg-info text-dark">\n
<span id="participant-count">{{ room.participants|length }}</span> účastníků\n
</span>\n
</p>\n
</div>\n
<div class="col-md-4 text-end">\n
<div class="dropdown">\n
<button class="btn btn-outline-primary dropdown-toggle" type="button" id="dropdownMenuButton" data-bs-toggle="dropdown" aria-expanded="false">\n
Možnosti místnosti\n
</button>\n
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="dropdownMenuButton">\n
<li><a class="dropdown-item" href="{{ path('app_room_invite', {slug: room.slug}) }}">Pozvat uživatele</a></li>\n
<li><a class="dropdown-item" href="{{ path('app_room_participants', {slug: room.slug}) }}">Správa účastníků</a></li>\n
<li><a class="dropdown-item" href="#" id="copy-link">Kopírovat odkaz</a></li>\n
{% if room.isPrivate and app.user and room.owner == app.user %}\n
<li><a class="dropdown-item" href="{{ path('app_room_edit_password', {slug: room.slug}) }}">Správa hesla místnosti</a></li>\n
{% endif %}\n
<li><hr class="dropdown-divider"></li>\n
<li><a class="dropdown-item" href="#" id="toggle-video-menu">Vypnout kameru</a></li>\n
<li><a class="dropdown-item" href="#" id="toggle-audio-menu">Ztlumit mikrofon</a></li>\n
<li><a class="dropdown-item" href="#" id="share-screen-menu">Sdílet obrazovku</a></li>\n
<li><hr class="dropdown-divider"></li>\n
<li><a class="dropdown-item text-danger" href="#" id="leave-room">Opustit místnost</a></li>\n
</ul>\n
</div>\n
</div>\n
</div>\n
\n
<div class="row">\n
<div class="col-md-9">\n
<div class="card mb-4">\n
<div class="card-body p-0">\n
<div id="video-container" class="position-relative">\n
<div id="local-video-container" class="position-absolute bottom-0 end-0 p-2 z-index-1">\n
<video id="local-video" autoplay muted playsinline class="w-100 h-100 rounded bg-dark"></video>\n
<div class="position-absolute bottom-0 start-0 bg-dark bg-opacity-50 text-white px-2 py-1 rounded" style="font-size: 0.8rem;">\n
Vy ({{ app.user ? app.user.username : 'Host' }})\n
</div>\n
<button id="camera-retry" onclick="window.initializeCamera()" class="btn btn-sm btn-danger position-absolute top-0 end-0 m-1" title="Kamera se neinicializovala. Kliknutím zkuste znovu." style="display: none;">\n
<i class="fa fa-video-slash"></i> Povolit kameru\n
</button>\n
</div>\n
<div id="remote-videos" class="d-flex flex-wrap justify-content-center align-items-center" style="min-height: 400px;">\n
<div class="text-center text-light py-5">\n
<div class="spinner-border" role="status">\n
<span class="visually-hidden">Načítání...</span>\n
</div>\n
<p class="mt-2">Připojování k místnosti...</p>\n
</div>\n
</div>\n
</div>\n
</div>\n
<div class="card-footer bg-dark text-center">\n
<div class="btn-group">\n
<button id="mic-toggle" class="btn btn-outline-light" onclick="window.toggleMicrophone()">\n
<i class="fa fa-microphone"></i>\n
</button>\n
<button id="camera-toggle" class="btn btn-outline-light" onclick="window.toggleCamera()">\n
<i class="fa fa-video"></i>\n
</button>\n
<button id="screen-share" class="btn btn-outline-light" onclick="window.shareScreen()">\n
<i class="fa fa-desktop"></i>\n
</button>\n
</div>\n
</div>\n
</div>\n
</div>\n
\n
<div class="col-md-3">\n
<div class="card mb-4">\n
<div class="card-header">\n
<h5 class="mb-0">Účastníci</h5>\n
</div>\n
<div class="card-body p-0">\n
<ul class="list-group list-group-flush" id="participants-list">\n
<li class="list-group-item d-flex justify-content-between align-items-center" data-user-id="{{ app.user.id }}">\n
{{ app.user.username }} {% if app.user.id == room.owner.id %}(Vy){% else %}(Vy){% endif %}\n
{% if app.user.id == room.owner.id %}\n
<span class="badge bg-primary rounded-pill">Hostitel</span>\n
{% endif %}\n
</li>\n
{% for participant in room.participants %}\n
{% if participant.id != app.user.id %}\n
<li class="list-group-item" data-user-id="{{ participant.id }}">\n
{{ participant.username }}\n
{% if participant.id == room.owner.id %}\n
<span class="badge bg-primary rounded-pill">Hostitel</span>\n
{% endif %}\n
</li>\n
{% endif %}\n
{% endfor %}\n
</ul>\n
</div>\n
</div>\n
</div>\n
</div>\n
</div>\n
\n
{% endblock %}\n
\n
{% block javascripts %}\n
{{ parent() }}\n
\n
{# Definujeme proměnné pro JS #}\n
<script>\n
// Namespace pro data o místnosti\n
window.videoChatApp = {\n
roomId: {{ room.id }},\n
roomSlug: "{{ room.slug }}",\n
currentUserId: {{ app.user ? app.user.id : 'null' }},\n
currentUsername: "{{ app.user ? app.user.username : 'Host' }}",\n
isOwner: {{ app.user and app.user.id == room.owner.id ? 'true' : 'false' }},\n
csrfToken: "{{ csrf_token('turn_credentials') }}"\n
};\n
</script>\n
\n
{# Přímé importy JS souborů přes importmap #}\n
{{ importmap('debug') }}\n
{{ importmap('videochat-init') }}\n
\n
<script>\n
document.addEventListener('DOMContentLoaded', function() {\n
console.log('DOMContentLoaded v hlavní šabloně, inicializuji pomocníky');\n
\n
// Inicializace dropdownů\n
var dropdownElementList = [].slice.call(document.querySelectorAll('.dropdown-toggle'))\n
dropdownElementList.map(function(dropdownToggleEl) {\n
try {\n
return new bootstrap.Dropdown(dropdownToggleEl)\n
} catch (e) {\n
console.error('Chyba při inicializaci dropdownu:', e);\n
}\n
});\n
\n
// Přidáme event listenery na tlačítka\n
document.getElementById('copy-link')?.addEventListener('click', function(e) {\n
e.preventDefault();\n
if (window.videoRoomUI && window.videoRoomUI.copyRoomLink) {\n
window.videoRoomUI.copyRoomLink(e);\n
} else {\n
const roomSlug = document.getElementById('video-chat-room').dataset.roomSlug;\n
const roomUrl = window.location.origin + '/room/' + roomSlug;\n
navigator.clipboard.writeText(roomUrl).then(function() {\n
alert('Odkaz na místnost byl zkopírován do schránky!');\n
});\n
}\n
});\n
\n
document.getElementById('toggle-video-menu')?.addEventListener('click', function(e) {\n
e.preventDefault();\n
if (window.toggleCamera) {\n
window.toggleCamera(e);\n
}\n
});\n
\n
document.getElementById('toggle-audio-menu')?.addEventListener('click', function(e) {\n
e.preventDefault();\n
if (window.toggleMicrophone) {\n
window.toggleMicrophone(e);\n
}\n
});\n
\n
document.getElementById('share-screen-menu')?.addEventListener('click', function(e) {\n
e.preventDefault();\n
if (window.shareScreen) {\n
window.shareScreen(e);\n
}\n
});\n
\n
document.getElementById('leave-room')?.addEventListener('click', function(e) {\n
e.preventDefault();\n
if (window.leaveRoom) {\n
window.leaveRoom(e);\n
} else {\n
if (confirm('Opravdu chcete opustit tuto místnost?')) {\n
window.location.href = '/';\n
}\n
}\n
});\n
});\n
</script>\n
{% endblock %}
"""
trace: {
/home/softcode/web/videochat/templates/room/show.html.twig:116 {
Twig\Extension\CoreExtension::getAttribute(Environment $env, Source $source, $object, $item, array $arguments = [], $type = Template::ANY_CALL, $isDefinedTest = false, $ignoreStrictCheck = false, $sandboxed = false, int $lineno = -1) …
› <ul class="list-group list-group-flush" id="participants-list">
› <li class="list-group-item d-flex justify-content-between align-items-center" data-user-id="{{ app.user.id }}">
› {{ app.user.username }} {% if app.user.id == room.owner.id %}(Vy){% else %}(Vy){% endif %}
}
/home/softcode/web/videochat/templates/room/show.html.twig:116 {
__TwigTemplate_6773f22120ef9ee5c304ca469633268e->block_body(array $context, array $blocks = []): iterable …
› <ul class="list-group list-group-flush" id="participants-list">
› <li class="list-group-item d-flex justify-content-between align-items-center" data-user-id="{{ app.user.id }}">
› {{ app.user.username }} {% if app.user.id == room.owner.id %}(Vy){% else %}(Vy){% endif %}
}
/home/softcode/web/videochat/vendor/twig/twig/src/Template.php:432 {
Twig\Template->yieldBlock($name, array $context, array $blocks = [], $useBlocks = true, ?self $templateContext = null): iterable …
› try {
› yield from $template->$block($context, $blocks);
› } catch (Error $e) {
}
/home/softcode/web/videochat/templates/base.html.twig:78 {
__TwigTemplate_9c17ed8ec9e4438f28caf4c4c00c8ad0->doDisplay(array $context, array $blocks = []): iterable …
›
› {% block body %}{% endblock %}
› </div>
}
/home/softcode/web/videochat/vendor/twig/twig/src/Template.php:388 {
Twig\Template->yield(array $context, array $blocks = []): iterable …
› try {
› yield from $this->doDisplay($context, $blocks);
› } catch (Error $e) {
}
/home/softcode/web/videochat/var/cache/dev/twig/43/432165ffa27351bd415eb3d9dfe1b214.php:56 {
__TwigTemplate_6773f22120ef9ee5c304ca469633268e->doDisplay(array $context, array $blocks = []): iterable …
› $this->parent = $this->loadTemplate("base.html.twig", "room/show.html.twig", 1);
› yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
›
}
/home/softcode/web/videochat/vendor/twig/twig/src/Template.php:388 {
Twig\Template->yield(array $context, array $blocks = []): iterable …
› try {
› yield from $this->doDisplay($context, $blocks);
› } catch (Error $e) {
}
/home/softcode/web/videochat/vendor/twig/twig/src/Template.php:344 {
Twig\Template->display(array $context, array $blocks = []): void …
› {
› foreach ($this->yield($context, $blocks) as $data) {
› echo $data;
}
/home/softcode/web/videochat/vendor/twig/twig/src/Template.php:359 {
Twig\Template->render(array $context): string …
› try {
› $this->display($context);
› } catch (\Throwable $e) {
}
/home/softcode/web/videochat/vendor/twig/twig/src/TemplateWrapper.php:51 {
Twig\TemplateWrapper->render(array $context = []): string …
› {
› return $this->template->render($context);
› }
}
/home/softcode/web/videochat/vendor/twig/twig/src/Environment.php:334 {
Twig\Environment->render($name, array $context = []): string …
› {
› return $this->load($name)->render($context);
› }
}
/home/softcode/web/videochat/vendor/symfony/framework-bundle/Controller/AbstractController.php:431 {
Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView(string $view, ?string $block, array $parameters, string $method): string …
›
› return $this->container->get('twig')->render($view, $parameters);
› }
}
/home/softcode/web/videochat/vendor/symfony/framework-bundle/Controller/AbstractController.php:436 {
Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response …
› {
› $content = $this->doRenderView($view, $block, $parameters, $method);
› $response ??= new Response();
}
/home/softcode/web/videochat/vendor/symfony/framework-bundle/Controller/AbstractController.php:250 {
Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render(string $view, array $parameters = [], ?Response $response = null): Response …
› {
› return $this->doRender($view, null, $parameters, $response, __FUNCTION__);
› }
}
/home/softcode/web/videochat/src/Controller/RoomController.php:251 {
App\Controller\RoomController->show(Request $request, string $slug): Response …
›
› return $this->render('room/show.html.twig', [
› 'room' => $room,
}
/home/softcode/web/videochat/vendor/symfony/http-kernel/HttpKernel.php:183 {
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response …
› // call controller
› $response = $controller(...$arguments);
›
}
/home/softcode/web/videochat/vendor/symfony/http-kernel/HttpKernel.php:76 {
Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
› try {
› return $response = $this->handleRaw($request, $type);
› } catch (\Throwable $e) {
}
/home/softcode/web/videochat/vendor/symfony/http-kernel/Kernel.php:182 {
Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
› try {
› return $this->getHttpKernel()->handle($request, $type, $catch);
› } finally {
}
/home/softcode/web/videochat/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35 {
Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run(): int …
› {
› $response = $this->kernel->handle($this->request);
›
}
/home/softcode/web/videochat/vendor/autoload_runtime.php:29 {
require_once …
› ->getRunner($app)
› ->run()
› );
}
/home/softcode/web/videochat/public/index.php:5 {
›
› require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
›
arguments: {
"/home/softcode/web/videochat/vendor/autoload_runtime.php"
}
}
}
}
]
"channel" => "request"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.930+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\Component\Security\Http\Firewall\ExceptionListener::onKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.930+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::logKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.930+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.930+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.930+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::onKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.930+01:00"
"message" => "Listener "{listener}" stopped propagation of the event "{event}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.exception"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::onKernelException"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\Security\Http\Firewall\ContextListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\Security\Http\Firewall\ContextListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\WebLink\EventListener\AddLinkHeaderListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\Mercure\EventSubscriber\SetCookieSubscriber::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::removeCspHeader"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\DisallowRobotsIndexingListener::onResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.933+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelFinishRequest"
]
"channel" => "event"
]
]
1004 => [
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.899+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.899+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\UX\Turbo\Request\RequestListener::__invoke"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.899+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.899+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.899+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.899+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.899+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.899+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.899+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.899+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.899+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.899+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.request"
"listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.900+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller"
"listener" => "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.900+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller"
"listener" => "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.900+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\Security\Http\EventListener\IsCsrfTokenValidAttributeListener::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.900+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.900+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.900+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "ContainerFrrc1QZ\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.900+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.controller_arguments"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.929+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.929+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.929+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\Security\Http\Firewall\ContextListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.929+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\Security\Http\Firewall\ContextListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.929+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.929+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\WebLink\EventListener\AddLinkHeaderListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.929+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.929+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\Mercure\EventSubscriber\SetCookieSubscriber::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.929+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.929+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.929+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::removeCspHeader"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.929+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.930+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\DisallowRobotsIndexingListener::onResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.930+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.response"
"listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelResponse"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.930+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.930+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.930+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelFinishRequest"
]
"channel" => "event"
]
[
"timestamp" => 1766133855
"timestamp_rfc3339" => "2025-12-19T09:44:15.930+01:00"
"message" => "Notified event "{event}" to listener "{listener}"."
"priority" => 100
"priorityName" => "DEBUG"
"context" => [
"event" => "kernel.finish_request"
"listener" => "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelFinishRequest"
]
"channel" => "event"
]
]
]
-errorCount: [
2 => 1
1004 => 0
]
-requestStack: Symfony\Component\HttpKernel\Debug\VirtualRequestStack {#76 …}
} |