Skip to content

Bump livekit-ffi to latest#698

Draft
1egoman wants to merge 1 commit into
mainfrom
bump-livekit-ffi
Draft

Bump livekit-ffi to latest#698
1egoman wants to merge 1 commit into
mainfrom
bump-livekit-ffi

Conversation

@1egoman

@1egoman 1egoman commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Warning

The livekit-ffi version is not updated in this yet.

Updates livekit-ffi to the latest version, which contains data streams v2.

In addition to the ffi package update itself, there's a bit more that has to be done here because the node sdks today has its own data streams implementation. I'm working on migrating this package to use the livekit-ffi provided data streams but in the meantime, if the livekit-ffi was done today, then it would mean that the newly introduced client_protocol of 2 would be advertised, and the pre-existing node implementation would receive data stream v2 messages, not v1 (ie, single packet data streams, compression, etc could be sent to the existing node data streams code).

To address this, I've added a temporary useLegacyClientImplementation flag which can be set to disable advertising the new client protocol. What this means in practice:

  • Outgoing data streams will all be v1 (uses node data streams implementation)
  • Incoming data streams will all be v1 (other participants see client_protocol of 1, so no inline content / compression)
  • Outgoing RPCs will be potentially v1 or v2 (this within the rust code is powered by livekit-ffi's data streams implementation, just like it works today)
  • Incoming RPCs will also potentially be v1 or v2 (for the same reason)

Once #697 is done, I'll merge it and drop this flag both here and on the rust sdk end, and then everything will use data streams v2 everywhere.

I've tested this locally (all the data streams and rpc paths above) with success.

Todo

  • Merge rust data streams v2 pull request: Data streams v2 rust-sdks#1192
  • Do livekit-ffi release
  • Bump version in here, then ci should pass
  • Do final round of testing

…a streams v1 support is advertised

The node and python sdks today have their own data streams
implementations. If the livekit-ffi upgrade in node-sdks were done today, then it would mean
that the new client_protocol=2 would be advertised, and these
pre-existing implementations would receive data stream v2 messages, not
v1 (ie, single packet data streams, compression, etc).

So for now, add a flag which can be set in livekit-ffi to disable
advertising the new client protocol so this can be merged. Once merged,
node and python can be updated to pass this flag and the livekit-ffi
package can be updated. Then, once data streams v2 is done on both node
+ python and both are updated, this flag can be removed by reverting
this commit.
@changeset-bot

changeset-bot Bot commented Jul 23, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: bed4759

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant