110 Commits

Author SHA1 Message Date
Benjamin Pracht
3688e156dc Redact ice server credentials in logs (#1408)
---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-10 20:23:24 -08:00
Raja Subramanian
c6ffa8ef53 Option to control auto subscribe of data tracks. (#1365)
* Option to control auto subscribe of data tracks.

* generated protobuf

* Create plenty-jobs-pump.md

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-14 11:02:43 +05:30
Paul Wells
099b489990 temporarily move extension ids to avoid etcd conflict (#1352)
* temporarily move extension ids to avoid etcd conflict

see #1350

* generated protobuf

* Create three-plums-end.md

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-27 15:19:13 -08:00
renovate[bot]
fc7b4fa301 chore(deps): update actions/cache action to v5 (#1333)
* chore(deps): update actions/cache action to v5

Generated by renovateBot

* generated protobuf

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-14 22:20:19 -08:00
Raja Subramanian
21f6904952 Data tracks initial protocol definition. (#1327)
* Data tracks initial protocol definition.

Just cutting and pasting protocol changes in this PR
(https://github.com/livekit/protocol/pull/1229) from @ladvoc. As
merging/generating code has been a challenge, just copying over protocol
changes and re-building.

* Create fair-candles-repeat.md

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-04 09:25:22 +05:30
Raja Subramanian
f5993a2691 Redact metadata, attribute, participant name from logs. (#1309)
* Redact metadata, attribute, participant name from logs.

Add size option to those.

* generated protobuf

* redact from connector protos

* generated protobuf

* Update changeset to redact log metadata

Redacts sensitive information from logs.

* Redact SIP fields.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Denys Smirnov <dennwc@pm.me>
2025-11-18 14:05:15 +05:30
Raja Subramanian
0236ffc17f Include mid -> trackID in SDP. (#1256)
* Include mid -> trackID in SDP.

And send it in subscriber peer connection offer also. It can be useful
to clients even in dual peer connection case.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-15 23:01:18 +05:30
Raja Subramanian
bfdbffc082 Use mapped SDP answer when using single peer connection mode. (#1255)
* Use mapped SDP answer when using single peer connection mode.

In single peer connection mode, the client does not get the
TR_ ids for tracks. That is because the transceiver is created with a
receiver when the offer is generated and a random id assigned. Once the
id is assigned, it is not updated. So, when client gets `onTrack`, the
id of the associated MediaStreamTrack is not the TR_ variety.

So, send the mapping of mid -> trackID in signalling when sending
answer. And used that on client side to find LK track ID for given mid.

Side note: Probably worth doing it for dual peer connection also when
subscriber sends offer so that we do not have to deduce it on client
side using some rules.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-15 18:18:54 +05:30
Raja Subramanian
99e83f9ba9 Marking width and height as not deprecated. (#1239)
* Marking width and height as not deprecated.

Those fields reflect the capture dimensions.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-04 22:38:10 +05:30
Raja Subramanian
7e8f7f1f94 Suport for simulcast codec of audio. (#1207)
* Suport for simulcast codec of audio.

Note that a disable should be a mute on client side and not a track
stop to allow re-enabling the track again.

* generated protobuf

* name change

* generated protobuf

* Create young-mayflies-wash.md

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-12 03:15:55 +05:30
ac
650cd08183 updating the reporter interface to include the gateway noop reporter (#1201)
* updating the reporter inteface to include the gateway noop reporter

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-10 07:56:50 -07:00
Raja Subramanian
e46b3f58f6 Protocol error handling (#1184)
* Add request in error response

* generated protobuf

* more handlers

* generated protobuf

* label

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-02 21:25:48 +05:30
Raja Subramanian
c714707269 Protocol changes to potentially support single peer connection mode. (#1174)
* Protocol changes to potentially support single peer connection mode.

* generated protobuf

* add UseSinglePeerConnection

* generated protobuf

* sync state revert changes

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-26 13:04:47 +05:30
Raja Subramanian
746c9d6852 Allow clients to specify video layers mode. (#1158)
* Allow clients to specify video layers mode.

The main issue is distinguishing between one RTP streaming carry
multiple spatial layers (example SVC codecs) vs one spatial layer
(codecs that are typically simulcast). The enum names are long, but
wanted them to be clear.

* generated protobuf

* Create unlucky-birds-drive.md

* comment

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-09 11:41:03 +05:30
Raja Subramanian
82ec7d7473 Support per simulcast codec layers. (#1157)
* Support per simulcast codec layers.

* generated protobuf

* Create dull-trainers-obey.md

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-08 12:33:28 +05:30
Raja Subramanian
1d6123ccc9 Include SyncState in join request (#1154)
* Include SyncState in join request

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-08 00:29:25 +05:30
Raja Subramanian
ccbae8154e Wrapped join request to indicate compression. (#1153)
* Wrapped join request to indicate compression.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-07 16:28:28 +05:30
Raja Subramanian
7f6468a6a0 join request as proto message (#1151)
* join request as proto message

* generated protobuf

* add join_publish

* generated protobuf

* comments

* generated protobuf

* simulcast not yet deprecated

* generated protobuf

* remove join_publish

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-07 11:00:07 +05:30
Raja Subramanian
93319bf9e3 Filling out some messages that are unlikely to change in v2. (#1137)
* Filling out some messages that are unlikely to change in v2.

* generated protobuf

* comment

* mage

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-21 12:04:19 +05:30
lukasIO
de4c760d0e Add id field to SessionDescription message (#1105)
* Add id field to SessionDescription message

* generated protobuf

* Create tricky-worms-sleep.md

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-12 18:22:13 +02:00
cnderrauber
4ba773363c e2e reliability for data channel (#1099)
* e2e reliability for data channel

* space

* generated protobuf

* changset

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-10 10:04:55 +08:00
cnderrauber
53d1afe260 Add ServerInfo to ReconnectResponse (#1082)
* Add ServerInfo to ReconnectResponse

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-19 10:16:05 +08:00
David Zhao
677d114d56 feat: MoveParticipant API (#1051)
* feat: MoveParticipant API

This new API would move a participant from one cloud room to another.
It will support the following use cases:
- warm transfer in voice AI
- fast switching between different live streams
- prejoin room in meetings

* generated protobuf

* add RTC message

* repeat field number

* generated protobuf

* rpc

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: cnderrauber <zengjie9004@gmail.com>
2025-05-07 10:28:20 +08:00
David Zhao
b7ee9e0582 use SetVideoGrant instead of deprecated AddGrant (#1059)
* use SetVideoGrant instead of deprecated AddGrant

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-02 23:43:17 -07:00
lukasIO
d5b5240751 Add PreconnectBuffer to AudioTrackFeatures (#1057)
* Add PreconnectBuffer to AudioTrackFeatures

* generated protobuf

* changeset

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-30 14:09:04 +02:00
cnderrauber
53e0c88edf Refine backup codec policy (#1022)
* Refine backup codec policy

Make the default behavior to be a `preferred` value that
the sfu will determine proper policy by room information.

* rename

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-26 15:53:25 +08:00
lukasIO
3d92d3e0b1 Add KindDetails to ParticipantInfo (#1019)
* Add cloud features enum

* Create cuddly-dryers-guess.md

* add next id

* generated protobuf

* rename to more specific KindDetail

* generated protobuf

* Update cuddly-dryers-guess.md

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-25 10:16:46 +01:00
renovate[bot]
fdd5408773 Update dependency typescript to v5.7.3 (#939)
* Update dependency typescript to v5.7.3

Generated by renovateBot

* generated protobuf

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-06 17:11:38 -06:00
cnderrauber
07992dd19e Add backup codec policy to AddTrackRequest (#947)
* Add backup codec policy

* changeset

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-06 10:21:55 +08:00
Raja Subramanian
9a579a69ba Add a nonce to data messages. (#953)
* Add a nonce to data messages.

Will be used to de-dupe messages sent via SendData API.

* generated protobuf

* comment

* generated protobuf

* add nonce to UserPacket

* generated protobuf

* 128-bit UUID as string for nonce

* generated protobuf

* UUID bytes

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-27 14:46:25 +05:30
lukasIO
afe463fe84 Rename File* related DataStream messages to Byte* (#948)
* Rename File related DataStream messages to Byte

* generated protobuf

* Add changeset

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-21 13:07:00 +01:00
Benjamin Pracht
8714744cc1 Make IngressInfo.enabled optional (#937)
To provide backward compatibility with already existing Ingresses
---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-07 14:21:10 -08:00
David Zhao
2c4895fbc2 adding room configuration in SIP dispatch rule (#923)
* adding room configuration in SIP dispatch rule

* generated protobuf

* changeset

* generated protobuf

* add to io.proto

* fix imports

* generated protobuf

* pass along room preset and config details

* comment about token flow

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-25 15:59:02 -06:00
cnderrauber
bc388341b9 Check element cound in parallel execute (#924)
* Check element cound in parallel execute

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-17 09:33:17 +08:00
renovate[bot]
e0e51ac651 Update go deps (#627)
* Update go deps

Generated by renovateBot

* fix import change

* generated protobuf

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: David Zhao <dz@livekit.io>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-16 01:24:00 -06:00
Paul Wells
970e76a1dc use AgentDispatch in internal request (#839)
* use AgentDispatch in internal request

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-08 00:52:06 -07:00
cnderrauber
2ecf29c230 Add fast_publish option to JoinResponse (#796)
* Add fast_publish option to JoinResponse

* comment

* changeset

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-28 11:45:51 +08:00
cnderrauber
81856d2807 Add EnabledCodecs in JoinReponse (#791)
* Add EnabledCodecs in JoinReponse

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-23 18:12:47 +08:00
Raja Subramanian
77997d3438 Send non-error responses also. (#786)
* Send non-error responses also.

Settling on the name `RequestResponse` (after not being able to find a
solid candidate) as it is response sent only when `request_id != 0`.

Renaming `UNKNOWN` reason to `OK` as it was unused. Will bump up
protocol and send `OK` only to client supporting that protocol version.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-12 15:31:47 +05:30
Paul Wells
b5404e5c9a add final field to TrickleRequest (#763)
* add final field to TrickleRequest

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-16 09:36:57 -07:00
lukasIO
18c869b108 Rename ErrorResponse Reason INVALID_ARGUMENT to LIMIT_EXCEEDED (#758)
* Rename ErrorResponse Reason INVALID_ARGUMENT to LIMIT_EXCEEDED

* generated protobuf

* Create tough-dingos-love.md

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-11 12:26:51 +02:00
cnderrauber
94a2cfe2f1 Add track subscribed first time notification (#752)
* Add track subscribed first time notification

* empty line

* generated protobuf

* Create proud-gorillas-press.md

* update pnpm action

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: lukasIO <mail@lukasseiler.de>
2024-07-05 21:45:35 +08:00
lukasIO
6dec8d27f9 Add ErrorResponse (#743)
* Add ErrorResponse

* generated protobuf

* Create purple-swans-study.md

* Update purple-swans-study.md

* Add ErrorResponse to possible server responses

* generated protobuf

* Use reason error instead of uint error code

* generated protobuf

* Add invalid argument error

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-21 10:33:50 +02:00
David Zhao
e0c49d3c9d Support for key/value attributes on Participant (#733)
* Support for key/value attributes on Participant

Key/value attributes lets us:
* allow various components to provide more information about the participant (i.e. SIP including the phone number)
* allow Agents to communicate their own status to the end user via RTC
* enable applications to update specific fields without overriding others

* generated protobuf

* Attribute support for SIP.

* generated protobuf

* generated protobuf

* allow specifying attributes during token generation

* Remove sip prefix and rename phone number attrs.

* regenerate protos

* update tests

* add kv attrs to sip token

* add attribute test

* changeset

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Denys Smirnov <dennwc@pm.me>
2024-06-19 22:27:09 -07:00
David Colburn
1dd95af542 s3 session token (#734)
* s3 session token

* changeset

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-11 17:39:00 -07:00
Raja Subramanian
30cee625bf Adding a simulation option for leave request. (#713)
* Adding a simulation option for leave request.

@lukasIO I was thinking of making the simulation option
just a `LeaveRequest`. And when simulating, client side
can just set `Action` field of `LeaveRequest`.
But, decided against it as I did not use case for it
and also wanted to keep it simple/specific.

Let me know if I should change that to a generic `LeaveRequest`.
If doing generic `LeaveRequest`, server behaviour would be
1. `Action = DISCONNECT`: server will close the participant and send a
   `LeaveRequest` with `Action = DISCONNECT`.
2. `Action = RESUME`, server will send `LeaveRequest` with `Action = RESUME`
   and it will not include self region in `RegionSettings`.
3. `Action = RECONNECT`, server will send `LeaveRequest` with `Action = RECONNECT`
   and it will not include self region in `RegionSettings`.

As the current simulation is only for full reconnect, it will behave
like #3 above.

Also, this option will be supported in cloud.

Please let me know if I should change this or just leave it as a
boolean.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-13 00:06:19 +05:30
Paul Wells
72c0789f38 allow setting min log level for logger (#705)
* allow setting min log level for logger

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-06 22:22:14 -07:00
Denys Smirnov
151d757a97 Expose Logger constructor for Zap (#701)
* Expose Logger constructor for Zap.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-01 13:27:48 +03:00
Raja Subramanian
fd19ad24b8 Deprecate UpdateVideoLayers. (#698)
* Deprecate UpdateVideoLayers.

Believe this was never used.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-26 12:00:20 +05:30
lukasIO
981fefbbe9 Add signal requests for local track updates (#651)
* Add signal requests for local track updates

* changeset

* fix indices

* fix field naming

* generated protobuf

* address comment

* generated protobuf

* Remove video features for now

* generated protobuf

* whitespace

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-19 13:26:46 +01:00