Proto commits in signalapp/Signal-Calling-Service

These 14 commits are when the Protocol Buffers files have changed:

Commit:2dfc77b
Author:adel-signal
Committer:GitHub

Handle reliable DeviceToSfu messages sent over MRP

The documentation is generated from this commit.

Commit:55ce2eb
Author:Iñaqui
Committer:GitHub

Raise Hand

Commit:002a535
Author:Jordan Rose
Committer:Jordan Rose

backend: Allow multiple admin actions in the same DeviceToSfu message This adjustment is wire-compatible with clients using the previous version of the protobuf.

Commit:b04d4f7
Author:Jordan Rose
Committer:GitHub

Admin Approval Part 2: Blocking Clients and DeviceToSfu support Introduces blocking; adds the admin actions to DeviceToSfu; and teaches the frontend to pass down the new new_clients_require_approval flag when joining/creating a call.

Commit:62d6ca4
Author:Jordan Rose
Committer:GitHub

Admin Approval Part 1: Pending and Removed Clients This is the first step in the "admin approval" features for call links, introducing two new states for clients: "pending" and "removed". In these states, a client cannot send or receive data or media; they can only send the Leave RTP message; and they receive empty SfuToDevice messages (potentially with a new Removed message in them to suggest leaving).

Commit:f3b0f46
Author:Jordan Rose
Committer:GitHub

backend: Stop using "resolution request IDs" and "long device IDs" They were removed from RingRTC in 2022, so no clients should be using them anymore.

Commit:d0e57c7
Author:Jim Gustafson
Committer:Jim Gustafson

Split calling service into crates

Commit:9aece47
Author:Rashad Sookram
Committer:GitHub

Send allocated video height for forwarding video streams Clients will be able to use this to know when there's going to be a higher resolution stream in the future.

Commit:9938e37
Author:Rashad Sookram
Committer:GitHub

Request higher video layers on active speaker change When the active speaker changes, we'll now send key frame requests for the highest two video layers to the new active speaker if there's someone viewing the active speaker in a large enough view. This will cause higher resolution video to be available sooner than waiting for new video requests from clients.

Commit:ac7f98f
Author:Peter Thatcher
Committer:Jim Gustafson

Send bitrate stats to client

Commit:7ab5c52
Author:Jordan Rose
Committer:Jim Gustafson

Change ForwardingVideo proto to CurrentDevices ...with a list of all demux IDs in addition to the (existing, renamed) list of demux IDs for which video is being forwarded.

Commit:14d80a9
Author:Jordan Rose
Committer:Jim Gustafson

Add a Leave message to the DeviceToSfu proto This allows a client to leave the call without going through the HTTP server. Note that the client's connection is not cleaned up; it's expected to time out. But from the perspective of other clients in the call, they're gone.

Commit:b4eabaf
Author:Jordan Rose
Committer:Jim Gustafson

Add demux_id to VideoRequest (incoming) and Speaker (outgoing) protos Processing a VideoRequest will prefer the demux ID to the resolution request ID ("short device ID") if both are provided, but we don't expect any clients to provide both in practice.

Commit:386601d
Author:Jordan Rose
Committer:Jim Gustafson

Add the DeviceToSfu and SfuToDevice protobuf files to the repo Previously, we had a file generated externally by prost-build, with a few customizations. This changes that to use the .proto (based on the file in RingRTC) as a source of truth.