'[a-z0-9-]+'], methods: ['GET'])] public function room(string $room): Response { return $this->render('puzzle/room.html.twig', [ 'room' => $room, 'relayPublicUrl' => $this->relayPublicUrl, // Only a logged-in user gets a token that lets them reset the shared // board; anonymous players can play but not wipe it for everyone. 'resetToken' => $this->getUser() ? $this->resetTokenSigner->sign($room) : null, ]); } }