Data streams v2 #1985

1egoman merged 68 commits into main from data-streams-v2
1egoman
1egoman 1egoman requested a review from lukasIO lukasIO 115 days ago
1egoman 1egoman requested a review from xianshijing-lk xianshijing-lk 115 days ago
changeset-bot
github-advanced-security
github-advanced-security commented on 2026-06-23
1egoman
1egoman commented on 2026-06-23
1egoman 1egoman requested a review from ladvoc ladvoc 115 days ago
lukasIO
lukasIO commented on 2026-06-25
1egoman 1egoman force pushed from a1466412 to deb8b578 113 days ago
github-actions
lukasIO
lukasIO commented on 2026-06-27
xianshijing-lk
xianshijing-lk commented on 2026-06-29
xianshijing-lk
xianshijing-lk commented on 2026-06-29
lukasIO
lukasIO approved these changes on 2026-07-01
yeongkyuyoon
devin-ai-integration
devin-ai-integration commented on 2026-07-07
devin-ai-integration
devin-ai-integration commented on 2026-07-20
1egoman refactor: rename constant
def3c980
1egoman fix: make rpc use datastream.sendText, NOT streamText
9f467c41
1egoman fix: convert rpc tests from streamText -> sendText
632f5519
1egoman feat: add initial support for single packet data streams via hacky me…
b90d2eeb
1egoman feat: add backwards compatibility back in for old multi packet v1 dat…
cb4a54ad
1egoman feat: check all participants in room before broadcasting a v2 data st…
2d7936f3
1egoman feat: add initial data stream benchmark app
a18007c6
1egoman feat: add missing constants file
578dbd86
1egoman feat: add initial data stream compression implementation
7c35a52a
1egoman feat: migrate compression to get rid of "pump" and compress per packe…
aac267bb
1egoman fix: swap else if -> switch/case
c7acc6be
1egoman feat: add initial take at streaming through CompressionStream for data
c406a2e1
1egoman feat: commit hand written data streams compression approach
38b2a0cb
1egoman feat: try out using fflate to share a single compression stream acros…
3f605f1b
1egoman refactor: move to deflate-raw for all compression, move to Compressio…
09e2fa1e
1egoman fix: get rid of singleWrite mode on streamText
b8aaf48f
1egoman fix: clean up code
fe33ba5f
1egoman feat: remove compression from streamText, in practice this doesn't re…
3ca6f5f1
1egoman feat: add compression into bytestreams too
e918ca20
1egoman refactor: move around outgoing data stream single packet / compressio…
6d092602
1egoman fix: reduce needless diff churn
087fe22a
1egoman feat: add max header size breaking change
234d378d
1egoman feat: advertise new CAP_COMPRESSION_DEFLATE_RAW capability to SFU
f79abfcc
1egoman feat: add proper OutgoingDataStreamManager tests
7e342e4b
1egoman feat: add initial IncomingDataStreamManager tests
8d9ec441
1egoman fix: ensure that compression only used when remote participants suppo…
18fe70ca
1egoman fix: fiz zlib Z_SYNC_FLUSH test
1932f777
1egoman feat: add a few more IncomingDataStreamManager tests
209e654b
1egoman fix: reformat code
82b1f4c4
1egoman fix: remove unused import
c744642e
1egoman fix: remove Z_SYNC_FLUSH test, it was not really testing the right thing
01dfa70a
1egoman fix: add participant disconnect test
bead0543
1egoman fix: add sendFile v1 outgoing data stream manager tests
2455a65c
1egoman feat: port over data streams implementation to use newly added proto …
33a3ce4c
1egoman feat: commit initial data streams spec
5464880c
1egoman fix: remove unused tests
a7780dec
1egoman fix: remove earlier drafts mention
0611aba0
1egoman fix: remove more out of date E2EE stuff and note about utf-8 chunk bo…
78fe0153
1egoman fix: update misleading comments
c551b4a6
1egoman fix: add sendBytes method as the main entrypoint for sending inline b…
00ba872a
1egoman fix: make sendFile optional in spec
cc53c78d
1egoman fix: run npm run format
9cc7a282
1egoman fix: address remaining lint errors
66f2811a
1egoman fix: add missing changeset
72ed4f4c
1egoman fix: add log when unknown compression scheme encountered
e4b07a56
1egoman fix: convert intermedite streams to transformstream
2b034a71
1egoman fix: port compression to use TransformStream
2280836c
1egoman feat: add zero length single packet data stream tests
dc69bf74
1egoman fix: swap break for return
1536956e
1egoman fix: ensure data stream payload will only ever be compressed once
21426e2b
1egoman fix: address lint error
7f488819
1egoman feat: add name / mimeType to new sendBytes method
b4326850
1egoman docs: update CompressedStreamState docstring
1edcb689
1egoman feat: add compressedStream.lengthLargerThan to allow for partial stre…
a3ffb95b
1egoman Revert "feat: add compressedStream.lengthLargerThan to allow for part…
27f4afdb
1egoman refactor: rename CompressedStreamState -> MaybeCollectedStream
9dca376a
1egoman feat: adjust progress event to report results more reliably in all co…
4a6e2bb3
1egoman fix: address flipped stream controllers check
3d3e26ca
1egoman fix: make sure textStreamControllers always cleaned up
f45fadcd
1egoman fix: ensure destinationIdentities / compress forwarded along to attac…
2c23c340
1egoman feat: add max payload byte size limit to data streams
fc53b239
1egoman fix: surface an abnormal data stream trailer close reason as an Abnor…
52734f18
1egoman feat: add new test cases for incoming / outgoing data stream handling
902b960d
1egoman fix: adjust uint8array cast to get ci to pass
c8e07904
1egoman 1egoman force pushed from cdc741a0 to 902b960d 88 days ago
lukasIO
lukasIO approved these changes on 2026-07-22
1egoman feat: lift NonSharedUint8Array casts further up and use NonSharedUint…
a0e49219
1egoman fix: upgrade @livekit/protocol to 1.50.4
0d410373
1egoman fix: adjust changeset to minor
f291fd8d
1egoman fix: remove data streams spec and benchmark before merging
c3fd1ab7
1egoman 1egoman merged 2c45da16 into main 85 days ago
1egoman 1egoman deleted the data-streams-v2 branch 85 days ago

Login to write a write a comment.

Login via GitHub

Assignees
No one assigned
Labels
Milestone