From 98fb766bc23a6ff08e015c4bbeae3c70d3a38946 Mon Sep 17 00:00:00 2001 From: stratself Date: Wed, 6 May 2026 09:58:32 +0000 Subject: [PATCH] docs(livekit): Fix curl command, remove console formats, other changes * Add hint to use browser DevTools for browser clients * Include docker-compose logs command in Testing section --- docs/calls/livekit.mdx | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/docs/calls/livekit.mdx b/docs/calls/livekit.mdx index 535b33cad..a5e8d7c29 100644 --- a/docs/calls/livekit.mdx +++ b/docs/calls/livekit.mdx @@ -25,9 +25,9 @@ You must generate a key and secret to allow the Matrix service to authenticate w :::tip Generating the secrets LiveKit provides a utility to generate secure random keys ```bash -~$ docker run --rm livekit/livekit-server:latest generate-keys -API Key: APIUxUnMnSkuFWV -API Secret: t93ZVjPeoEdyx7Wbet3kG4L3NGZIZVEFvqe0UuiVc22A +docker run --rm livekit/livekit-server:latest generate-keys +# API Key: APIUxUnMnSkuFWV +# API Secret: t93ZVjPeoEdyx7Wbet3kG4L3NGZIZVEFvqe0UuiVc22A ``` ::: @@ -262,14 +262,14 @@ Restart LiveKit and coturn to apply these changes. ## Testing -To test that LiveKit is successfully integrated with Continuwuity, you will need to replicate its [Token Exchange Flow](https://github.com/element-hq/lk-jwt-service#%EF%B8%8F-how-it-works--token-exchange-flow). +To test that LiveKit is successfully integrated with Continuwuity, you will need to replicate its [Token Exchange Flow](https://github.com/element-hq/lk-jwt-service#%EF%B8%8F-how-it-works--token-exchange-flow). Follow the steps below while checking Docker logs (`docker-compose logs --follow`), in order to help [troubleshooting](#troubleshooting) any issues. First, you will need an access token for your current login session. These can be found in your client's settings or obtained via [this website](https://timedout.uk/mxtoken.html). -Then, using that token, fetch the discovery endpoints for MatrixRTC services +Then, using that token, fetch the discovery endpoints for MatrixRTC services: ```bash -curl -X POST -H "Authorization: Bearer " \ +curl -H "Authorization: Bearer " \ https://matrix.example.com/_matrix/client/unstable/org.matrix.msc4143/rtc/transports ``` @@ -318,7 +318,7 @@ Replace `matrix_server_name` and `claimed_user_id` with your information, and `< You can then send this payload to the lk-jwt-service: ```bash -~$ curl -X POST -d @payload.json https://livekit.example.com/get_token +curl -X POST -d @payload.json https://livekit.example.com/get_token ``` The lk-jwt-service will, after checking against Continuwuity, answer with a `jwt` token to create a LiveKit media room: @@ -331,13 +331,15 @@ Use this token to test at the [LiveKit Connection Tester](https://livekit.io/con ## Troubleshooting -To debug any issues, you can place a call or redo the Testing instructions, and check the container logs for any specific errors. Use `docker-compose logs --follow` to follow them in real-time. +To debug any issues, you can place a call or redo the Testing instructions, and check the container logs for any specific errors. Use `docker-compose logs --follow` to follow these logs in real-time. ### Common errors in Element Call UI - `MISSING_MATRIX_RTC_FOCUS`: LiveKit is missing from Continuwuity's config file - "Waiting for media" popup always showing: a LiveKit URL has been configured in Continuwuity, but your client cannot connect to it for some reason +For browser-based clients, you can also inspect connections using DevTools' Networking tab, to see which requests are erroring out. + ### Docker loopback networking issues Some distros do not allow Docker containers to connect to its host's public IP by default. This would cause `lk-jwt-service` to fail connecting to `livekit` or `continuwuity` on the same host. As a result, you would see connection refused/connection timeouts log entries in the JWT service, even when `LIVEKIT_URL` has been configured correctly. @@ -363,8 +365,8 @@ To alleviate this, you can try one of the following workarounds: After implementing the changes and restarting your compose, you can test whether the connection works by cURLing from a sidecar container: ```bash -~$ docker run --rm --net container:lk-jwt-service docker.io/curlimages/curl https://livekit.example.com -OK +docker run --rm --net container:lk-jwt-service docker.io/curlimages/curl https://livekit.example.com +# OK ``` ### Workaround for non-federating servers