Proto commits in strukturag/nextcloud-spreed-signaling

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

Commit:aaaf8cc
Author:Joachim Bauch

Check version of cluster nodes and log warning if different.

The documentation is generated from this commit.

Commit:d610b0f
Author:Joachim Bauch
Committer:Joachim Bauch

Prepare internal APIs for multiple backend urls.

Commit:72e38b7
Author:Joachim Bauch

Prevent duplicate virtual sessions in participant update events. This can happen if these sessions are returned by Nextcloud and then the local session is added. Also fixes events in clustered scenarios where virtual sessions are available on on server but the update events are generated on a different one.

Commit:9aeb57d
Author:Joachim Bauch
Committer:Joachim Bauch

Encode session ids using protobufs. This will reduce their size and improve encoding / decoding performance. Also fixes GO-2024-3106 (Stack exhaustion in Decoder.Decode in encoding/gob).

Commit:602452f
Author:Joachim Bauch
Committer:Joachim Bauch

Support resuming sessions that exist on a different Hub in the cluster.

Commit:deaa17a
Author:Joachim Bauch

Implement per-backend session limit for clusters.

Commit:95d5e50
Author:Joachim Bauch

Disconnect sessions with the same room session id synchronously. Previously there was a difference in the events being received by other sessions for the clustered case compared to the single-server case. Now the events / ordering are the same for both cases.

Commit:20cc51c
Author:Joachim Bauch
Committer:Joachim Bauch

grpc: Automatically detect if a target is the current server itself. This allows configuring the same list of targets for all instances without having to setup the "own" address differently for each server.

Commit:a0d3af1
Author:Joachim Bauch
Committer:Joachim Bauch

Add initial clustering support.