docs: Write up how to set up LiveKit calling #1354

Merged
Jade merged 10 commits from jade/liveit-guide into main 2026-02-16 02:55:45 +00:00
Owner
No description provided.
docs: Write up how to set up LiveKit calling
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Failing after 1m28s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 2m4s
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
a79025e9e0
docs: Fix broken links
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Has been cancelled
Checks / Prek / Pre-commit & Formatting (pull_request) Has been cancelled
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
595f2699c2
fix: oops
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Failing after 1m7s
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
Checks / Prek / Pre-commit & Formatting (pull_request) Has been cancelled
67c9728d37
docs: Last dead link
All checks were successful
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m10s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m41s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 8m43s
3937f184e3
Author
Owner

Any modification welcome

Any modification welcome
Henry-Hiles approved these changes 2026-02-11 20:06:27 +00:00
Dismissed
@ -0,0 +52,4 @@
# - "50100-50200:50100-50200/udp"
```
Next, we need to configure LiveKit. In the same directory, create `livekit.yaml` with the following content - rememvering to replace `LK_MATRIX_KEY` and `LK_MATRIX_SECRET` with the values you generated!
Contributor
-rememvering
+remembering
-you generated!
+you generated:
```diff -rememvering +remembering ``` ```diff -you generated! +you generated: ```
Jade marked this conversation as resolved
@ -0,0 +72,4 @@
You will need to allow ports `7881/tcp` and `50100:50200/udp` through your firewall. If you use UFW, the commands are: `ufw allow 7881/tcp` and `ufw allow 50100:50200/udp`.
Contributor

Why is there an extra line here? There are a lot of extra lines throughout this, curious if intentional?

Why is there an extra line here? There are a lot of extra lines throughout this, curious if intentional?
Author
Owner

Mostly because I like spacing, so I add lots of new lines pretty much instictually while writing lol

Mostly because I like spacing, so I add lots of new lines pretty much instictually while writing lol
Contributor

Hmm, theres randomly two line breaks rather than one in a lot of places though.

Hmm, theres randomly two line breaks rather than one in a lot of places though.
Author
Owner

If I was to actually write a style guide, I would probably put double line breaks before headings as one rule. However, effort.

If I was to actually write a style guide, I would probably put double line breaks before headings as one rule. However, effort.
Jade marked this conversation as resolved
@ -0,0 +79,4 @@
Unfortunately Continuwuity doesn't yet provide an easy way to do this (We're working on it). You'll need to serve this file using your web server.
Check the existing contents, and add the following (remembering to replace the URL with your one!)
Contributor
-Check the existing contents, and add the following (remembering to replace the URL with your one!)
+Check the existing content and add the following lines, remembering to replace the URL with your own matrix-rtc-jwt deployment:
```DIFF -Check the existing contents, and add the following (remembering to replace the URL with your one!) +Check the existing content and add the following lines, remembering to replace the URL with your own matrix-rtc-jwt deployment: ```
Jade marked this conversation as resolved
Henry-Hiles requested changes 2026-02-11 20:06:47 +00:00
Dismissed
Henry-Hiles left a comment
Contributor

Meant to hit request changes ^^

Meant to hit request changes ^^
chore: Apply review comments
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Failing after 1m17s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m55s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 8m29s
dd76439f40
Henry-Hiles approved these changes 2026-02-11 20:14:18 +00:00
Dismissed
docs/calls.mdx Outdated
@ -0,0 +15,4 @@
:::warning
Element X is known to not be able to do calls on Continwuity. [Track this bug to get updated when the issue is fixed](https://forgejo.ellis.link/continuwuation/continuwuity/issues/1306)
Contributor

this warning has newlines around the edges but the info in the other file does not

this warning has newlines around the edges but the info in the other file does not
Jade marked this conversation as resolved
@ -0,0 +10,4 @@
LiveKit should live on its own domain or subdomain. In this guide we use `livekit.example.com` - this should be replaced with a domain you control.
Make sure the DNS record for the (dub)domain you plan to use is pointed to your server.
Contributor
-dub
+sub
```diff -dub +sub ```
Jade marked this conversation as resolved
@ -0,0 +112,4 @@
- `/sfu/get`
- `/healthz`
- `/get_token`
Contributor

extra line

extra line
Jade marked this conversation as resolved
Henry-Hiles left a comment
Contributor

forgejos ui is confusing i keep hitting approve ^^

forgejos ui is confusing i keep hitting approve ^^
docs: Update TURN guide
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Has been cancelled
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
Checks / Prek / Pre-commit & Formatting (pull_request) Has been cancelled
2b707311ac
chore: Style
All checks were successful
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m11s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m44s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 8m55s
918883865a
Jade requested review from Owners 2026-02-11 21:00:27 +00:00
Author
Owner

Thins maybe missing: explaining the practical differences, listed working clients, example reverse proxy configs, more detailed explainer about how the foci well-known works.

Can all be added later though

Thins maybe missing: explaining the practical differences, listed working clients, example reverse proxy configs, more detailed explainer about how the foci well-known works. Can all be added later though
Henry-Hiles left a comment
Contributor

Last thing by me.

Last thing by me.
@ -0,0 +154,4 @@
Livekit includes a built in TURN server which can be used in place of an external option. This TURN server will only work with Livekit, so you can't use it for legacy Matrix calling - or anything else.
Contributor

Extra line

Extra line
Jade marked this conversation as resolved
Contributor

@Jade wrote in #1354 (comment):

Thins maybe missing: explaining the practical differences, listed working clients, example reverse proxy configs, more detailed explainer about how the foci well-known works.

Can all be added later though

Yeah, example reverse proxy is definitely a good idea. I don't think more explanations about the well-known are needed personally.

@Jade wrote in https://forgejo.ellis.link/continuwuation/continuwuity/pulls/1354#issuecomment-23730: > Thins maybe missing: explaining the practical differences, listed working clients, example reverse proxy configs, more detailed explainer about how the foci well-known works. > > Can all be added later though Yeah, example reverse proxy is definitely a good idea. I don't think more explanations about the well-known are needed personally.
Contributor

BTW, do you want docker only here or should i add docs for nix too? (can do separately anyways)

BTW, do you want docker only here or should i add docs for nix too? (can do separately anyways)
@ -0,0 +14,4 @@
### 2. Services
Using LiveKit with matrix requires two services - Livekit itself, and a service that grants Matrix users permission to connect to it.
First-time contributor

"and a service called lk-jwt-service" for clarity i hope

"and a service called [lk-jwt-service](https://github.com/element-hq/lk-jwt-service)" for clarity i hope
Author
Owner

Yeah, although that's not the only one - github.com/JadedBlueEyes/jwt-service-rs exists, ideally I want this integrated in the software at some point

Yeah, although that's not the only one - github.com/JadedBlueEyes/jwt-service-rs exists, ideally I want this integrated in the software at some point
Jade marked this conversation as resolved
@ -0,0 +16,4 @@
Using LiveKit with matrix requires two services - Livekit itself, and a service that grants Matrix users permission to connect to it.
You must generate a key and secret to allow the Matrix service to authenticate with LiveKit. `LK_MATRIX_KEY` should be around 20 random characters, and `LK_MATRIX_SECRET` should be around 64. Remember to replace these with the actual values!
First-time contributor

maybe use docker run --rm livekit/livekit-server:latest generate-keys for this step

maybe use `docker run --rm livekit/livekit-server:latest generate-keys` for this step
Jade marked this conversation as resolved
@ -0,0 +120,4 @@
## Additional Configuration
### TURN Integration
First-time contributor

would you wanna add a section to doc the builtin livekit TURN too? From my minimal setup, it's basically this:

### add this to livekit.yaml ###
turn:
  enabled: true
  udp_port: 3478
  relay_range_start: 50300
  relay_range_end: 50400
  domain: matrix-rtc.example.com

and this

      ### Add these to docker-compose ###
      - "3478:3478/udp"
      - "50300-50400:50300-50400/udp"

seems convenient for discorders to just need one software

would you wanna add a section to doc the builtin livekit TURN too? From my minimal setup, it's basically this: ```yaml ### add this to livekit.yaml ### turn: enabled: true udp_port: 3478 relay_range_start: 50300 relay_range_end: 50400 domain: matrix-rtc.example.com ``` and this ```yaml ### Add these to docker-compose ### - "3478:3478/udp" - "50300-50400:50300-50400/udp" ``` seems convenient for discorders to just need one software
Jade marked this conversation as resolved
docs: Apply feedback
All checks were successful
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m26s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m31s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 8m38s
642ed742aa
Author
Owner

Nix docks might belong in the nix deploying guide? This one relies on docker compose. Depends on the contents of the Nix guide and if it includes 'ignore everything prior' lol

Nix docks might belong in the nix deploying guide? This one relies on docker compose. Depends on the contents of the Nix guide and if it includes 'ignore everything prior' lol
nex requested changes 2026-02-11 23:37:52 +00:00
docs/calls.mdx Outdated
@ -0,0 +2,4 @@
Matrix supports two types of calls:
- Element Call powered by MatrixRTC
Owner

"MatrixRTC (most commonly Element Call)" is probably more technically correct

"MatrixRTC (most commonly Element Call)" is probably more technically correct
Author
Owner

I don’t know, people are doing like whiteboards and stuff with MatrixRTC

I don’t know, people are doing like whiteboards and stuff with MatrixRTC
Contributor

Yeah I would say Jade is correct here.

Yeah I would say Jade is correct here.
First-time contributor

I suggest "powered by MatrixRTC and Livekit" with links to both specs

I suggest "powered by MatrixRTC and Livekit" with links to both specs
nex marked this conversation as resolved
docs/calls.mdx Outdated
@ -0,0 +10,4 @@
For either one to work correctly, you have to do some additional setup.
- For legacy calls to work, you need to set up a TURN/STUN server. [Read the TURN guide for tips on how to set up coturn](./calls/turn.mdx)
- For MatrixRTC to work, you have to set up the LiveKit backend (foci). LiveKit also uses TURN/STUN to increase reliability, so you might want to configure your TURN server first. [Read the LiveKit guide](./calls/livekit.mdx)
Owner

Might be worth mentioning that while LiveKit has its own TURN/STUN server, it will only work with LiveKit, so can't be re-used for legacy calls

Might be worth mentioning that while LiveKit has its own TURN/STUN server, it will only work with LiveKit, so can't be re-used for legacy calls
First-time contributor
- For MatrixRTC to work
+ For Element Call to work
``` - For MatrixRTC to work + For Element Call to work ```
@ -0,0 +35,4 @@
- LIVEKIT_URL=wss://livekit.example.com
- LIVEKIT_KEY=LK_MATRIX_KEY
- LIVEKIT_SECRET=LK_MATRIX_SECRET
- LIVEKIT_FULL_ACCESS_HOMESERVERS=yourdomain.com
Owner

yourdomain.com -> your.server.name or something like that

`yourdomain.com` -> `your.server.name` or something like that
@ -0,0 +80,4 @@
To tell clients where to find LiveKit, we need to modify the file served at `https://example.com/.well-known/matrix/client` (for example https://continuwuity.org/.well-known/matrix/client).
Unfortunately Continuwuity doesn't yet provide an easy way to do this (We're working on it). You'll need to serve this file using your web server.
Owner
- (We're working on it)

Seems unnecessary

```diff - (We're working on it) ``` Seems unnecessary
@ -0,0 +110,4 @@
```
### 4. Configure your Reverse Proxy
Owner

This section feels very rushed, akin to "then you just draw the rest of the owl". Perhaps some example configurations for caddy/nginx/traefik would be a good idea

This section feels very rushed, akin to "then you just draw the rest of the owl". Perhaps some example configurations for caddy/nginx/traefik would be a good idea
First-time contributor

FWIW:

https://example.com {

    @well-known-matrix-client path /.well-known/matrix/client
    handle @well-known-matrix-client {
        header Access-Control-Allow-Origin *
        respond <<JSON
        {
            "m.homeserver": {
                "base_url": "https://matrix.example.com/"
            },
            "org.matrix.msc3575.proxy": {
                "url": "https://matrix.example.com/"
            },
            "org.matrix.msc4143.rtc_foci": [
                {
                "type": "livekit",
                "livekit_service_url": "https://livekit.example.com"
                }
            ]
        }
        JSON
    }

    # == your other stuff here == #
}
FWIW: ``` https://example.com { @well-known-matrix-client path /.well-known/matrix/client handle @well-known-matrix-client { header Access-Control-Allow-Origin * respond <<JSON { "m.homeserver": { "base_url": "https://matrix.example.com/" }, "org.matrix.msc3575.proxy": { "url": "https://matrix.example.com/" }, "org.matrix.msc4143.rtc_foci": [ { "type": "livekit", "livekit_service_url": "https://livekit.example.com" } ] } JSON } # == your other stuff here == # } ```
@ -0,0 +181,4 @@
- "50300-50400:50300-50400/udp"
```
### Related Documentation
Owner

Should probably link to the MatrixRTC proposal and the Element Call stuff

Should probably link to the MatrixRTC proposal and the Element Call stuff
@ -0,0 +19,4 @@
:::tip Generating a secure secret
A common way to generate a suitable alphanumeric secret key is by using:
```bash
pwgen -s 64 1
Owner

or openssl rand -hex 64, which is usually installed by default on most systems

or `openssl rand -hex 64`, which is usually installed by default on most systems
@ -0,0 +72,4 @@
### Security Recommendations
For security best practices, see Synapse's [Coturn documentation](https://element-hq.github.io/synapse/latest/turn-howto.html), which includes important firewall and access control recommendations.
Owner

Can't we just mirror that here? It's not like we're paying per word

Can't we just mirror that here? It's not like we're paying per word
@ -0,0 +120,4 @@
```
:::warning
Static credentials are less secure than shared secrets because they don't expire and must be configured in coturn separately. Use shared secret authentication.
Owner
- Use shared secret authentication.
+ It is strongly advised you use shared secret authentication.
```diff - Use shared secret authentication. + It is strongly advised you use shared secret authentication. ```
@ -0,0 +132,4 @@
```
:::caution
This is not recommended as it allows unauthenticated users to access your TURN server, potentially enabling abuse by bots. All major Matrix clients support authenticated TURN access.
Owner
- All major Matrix clients support authenticated TURN access.
+ All major Matrix clients that support legacy calls *also* support authenticated TURN access.
```diff - All major Matrix clients support authenticated TURN access. + All major Matrix clients that support legacy calls *also* support authenticated TURN access. ```
@ -0,0 +112,4 @@
### 4. Configure your Reverse Proxy
Reverse proxies can be configured in many different ways - so we can't provide a step by step for this.
First-time contributor

FWIW here's my minimal Caddyfile, working and tested live with Joop (Caddy on host)

matrix-rtc.example.com {

    # for lk-jwt-service
    @lk-jwt-service path /sfu/get* /healthz* /get_token*
    route @lk-jwt-service {
        reverse_proxy 127.0.0.1:8080
    }

    # for livekit
    reverse_proxy 127.0.0.1:7880
}

It follows LIVEKIT_URL=wss://livekit.example.com and serves everything from root dir

FWIW here's my minimal Caddyfile, working and tested live with Joop (Caddy on host) ``` matrix-rtc.example.com { # for lk-jwt-service @lk-jwt-service path /sfu/get* /healthz* /get_token* route @lk-jwt-service { reverse_proxy 127.0.0.1:8080 } # for livekit reverse_proxy 127.0.0.1:7880 } ``` It follows `LIVEKIT_URL=wss://livekit.example.com` and serves everything from root dir
First-time contributor

Kinda OT: maybe TURNS/:443 and other stuff (performance tuning, DNS tuning) could be in a separate Advanced section in the future

Kinda OT: maybe TURNS/:443 and other stuff (performance tuning, DNS tuning) could be in a separate Advanced section in the future
@ -0,0 +14,4 @@
### 2. Services
Using LiveKit with matrix requires two services - Livekit itself, and a service (`lk-jwt-service`) that grants Matrix users permission to connect to it.
Owner

s/matrix/Matrix

s/matrix/Matrix
@ -0,0 +82,4 @@
Unfortunately Continuwuity doesn't yet provide an easy way to do this (We're working on it). You'll need to serve this file using your web server.
Check the existing content and add the following lines, remembering to replace the URL with your own matrix-rtc-jwt deployment:
First-time contributor

s/matrix-rtc-jwt/lk-jwt-service (?)

for consistency with current docs until new solutions arrive

s/matrix-rtc-jwt/lk-jwt-service (?) for consistency with current docs until new solutions arrive
First-time contributor
To tell clients where to find LiveKit, we need to modify the file served at https://example.com/.well-known/matrix/client (for example https://continuwuity.org/.well-known/matrix/client).

Unfortunately Continuwuity doesn't yet provide an easy way to do this (We're working on it). You'll need to serve this file using your web server.

Check the existing content and add the following lines, remembering to replace the URL with your own matrix-rtc-jwt deployment:

I think this can be shortened to two paragraphs with code snippets inbetween. Example:


To tell clients where to find LiveKit, we need to modify the file served at https://example.com/.well-known/matrix/client (for example https://continuwuity.org/.well-known/matrix/client) to add the following fields

  "org.matrix.msc4143.rtc_foci": [
    {
      "type": "livekit",
      "livekit_service_url": "https://livekit.example.com"
    }
  ]

Unfortunately Continuwuity doesn't yet provide an easy way to do this (we're working on it!). So you'll need to serve a file like this using your web server:

{
  "m.homeserver": {
    "base_url":"https://matrix.example.com"
  },
  "org.matrix.msc4143.rtc_foci": [
    {
      "type": "livekit",
      "livekit_service_url": "https://livekit.example.com"
    }
  ]
}

(Maybe add Caddy configs here)

``` To tell clients where to find LiveKit, we need to modify the file served at https://example.com/.well-known/matrix/client (for example https://continuwuity.org/.well-known/matrix/client). Unfortunately Continuwuity doesn't yet provide an easy way to do this (We're working on it). You'll need to serve this file using your web server. Check the existing content and add the following lines, remembering to replace the URL with your own matrix-rtc-jwt deployment: ``` I think this can be shortened to two paragraphs with code snippets inbetween. Example: --- To tell clients where to find LiveKit, we need to modify the file served at https://example.com/.well-known/matrix/client (for example https://continuwuity.org/.well-known/matrix/client) to add the following fields ``` "org.matrix.msc4143.rtc_foci": [ { "type": "livekit", "livekit_service_url": "https://livekit.example.com" } ] ``` Unfortunately Continuwuity doesn't yet provide an easy way to do this (we're working on it!). So you'll need to serve a file like this using your web server: ``` { "m.homeserver": { "base_url":"https://matrix.example.com" }, "org.matrix.msc4143.rtc_foci": [ { "type": "livekit", "livekit_service_url": "https://livekit.example.com" } ] } ``` (Maybe add Caddy configs here)
Contributor

I think this should be possible now that #1356 has been done. The option as an environment variable should be: CONTINUWUITY_RTC_FOCUS_SERVER_URLS = '[{ type = "livekit", livekit_service_url = "https://livekit.example.com" }]' but I haven't tested that.

I think this should be possible now that #1356 has been done. The option as an environment variable should be: `CONTINUWUITY_RTC_FOCUS_SERVER_URLS = '[{ type = "livekit", livekit_service_url = "https://livekit.example.com" }]'` but I haven't tested that.
@ -0,0 +182,4 @@
```
### Related Documentation
First-time contributor

Imo this can be included, albeit they serve both services on subpaths

And the community's previous guides too

Imo this can be included, albeit they serve both services on subpaths - https://github.com/element-hq/element-call/blob/livekit/docs/self-hosting.md And the community's previous guides too - https://tomfos.tr/matrix/livekit/ - https://blog.kimiblock.top/2024/12/24/hosting-element-call/ <-- this one uses systemd
@ -0,0 +184,4 @@
### Related Documentation
- [LiveKit GitHub](https://github.com/livekit/livekit)
- [LiveKit Connection Tester](https://livekit.io/connection-test) - use with the token returned by `/sfu/get` or `/get_token`
First-time contributor

This may be in a separate Testing section.

Furthermore, can you write steps (e.g. curl commands) to fetch such a token?

Alternatively, I've found this command to also provide a fitting token to test with this website

docker run --rm livekit/livekit-cli create-token --url <your-livekit-url> --api-key API_KEY --api-secret API_SECRET --create --join
This may be in a separate Testing section. Furthermore, can you write steps (e.g. curl commands) to fetch such a token? Alternatively, I've found this command to also provide a fitting token to test with this website ``` docker run --rm livekit/livekit-cli create-token --url <your-livekit-url> --api-key API_KEY --api-secret API_SECRET --create --join ```
stratself approved these changes 2026-02-13 20:11:28 +00:00
Author
Owner

As noted elsewhere, !1370 and !1356 mean this needs a little bit of an update

As noted elsewhere, !1370 and !1356 mean this needs a little bit of an update
ginger force-pushed jade/liveit-guide from 642ed742aa
All checks were successful
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m26s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m31s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 8m38s
to ee6bcc95ae
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m21s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 3m0s
Checks / Prek / Clippy and Cargo Tests (pull_request) Failing after 13m8s
2026-02-14 19:27:48 +00:00
Compare
docs/calls.mdx Outdated
@ -0,0 +12,4 @@
- For legacy calls to work, you need to set up a TURN/STUN server. [Read the TURN guide for tips on how to set up coturn](./calls/turn.mdx)
- For MatrixRTC to work, you have to set up the LiveKit backend (foci). LiveKit also uses TURN/STUN to increase reliability, so you might want to configure your TURN server first. [Read the LiveKit guide](./calls/livekit.mdx)
:::warning
Owner

No longer applicable now that !1370 is merged.

No longer applicable now that !1370 is merged.
ginger added this to the 0.5.5 milestone 2026-02-15 15:11:03 +00:00
Update documentation to feature LiveKit-related configuration options present in continuwuity.toml
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Has been cancelled
Checks / Prek / Pre-commit & Formatting (pull_request) Has been cancelled
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
7d7c1b90c2
Jade force-pushed jade/liveit-guide from 7d7c1b90c2
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Has been cancelled
Checks / Prek / Pre-commit & Formatting (pull_request) Has been cancelled
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
to cacd8681d1
Some checks failed
Checks / Prek / Pre-commit & Formatting (push) Waiting to run
Checks / Prek / Clippy and Cargo Tests (push) Waiting to run
Release Docker Image / Build linux-amd64 (release) (push) Waiting to run
Release Docker Image / Build linux-arm64 (release) (push) Waiting to run
Release Docker Image / Create Multi-arch Release Manifest (push) Blocked by required conditions
Release Docker Image / Build linux-amd64 (max-perf) (push) Blocked by required conditions
Release Docker Image / Build linux-arm64 (max-perf) (push) Blocked by required conditions
Release Docker Image / Create Max-Perf Manifest (push) Blocked by required conditions
Documentation / Build and Deploy Documentation (push) Has been cancelled
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m36s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 2m37s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 15m49s
2026-02-16 02:55:30 +00:00
Compare
Jade merged commit cacd8681d1 into main 2026-02-16 02:55:45 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
6 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
continuwuation/continuwuity!1354
No description provided.