Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from jitsi:master #36

Open
wants to merge 188 commits into
base: master
Choose a base branch
from
Open

[pull] master from jitsi:master #36

wants to merge 188 commits into from

Conversation

pull[bot]
Copy link

@pull pull bot commented Mar 18, 2023

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

bgrozev and others added 4 commits March 15, 2023 10:29
A bump to 2.2 was intended with the mono repo changes, but it was only
partially done (a v2.2 tag exists, but pom.xml still lists 2.1).
…2003)

* feat: Support setting the initial value of last-n through colibri2.

* fix: initial-last-n only has effect before constraints are received.

* chore: Update jitsi-xmpp-extensions.
* Move SctpHandler and DataChannelHandler out of Endpoint.

* Add datachannel support for relay message transport.

* Put sctp in transport response if it was in the request.

* Update docs to mention that relays can use SCTP.

* Don't advertise websockets for relay connections if told to use data channels in the signaling.

* Fix typo in exception message.
@pull pull bot added the ⤵️ pull label Mar 18, 2023
@codecov-commenter
Copy link

Codecov Report

Patch coverage: 7.01% and project coverage change: -0.12 ⚠️

Comparison is base (1c5748a) 43.14% compared to head (7a3271b) 43.03%.

📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #36      +/-   ##
============================================
- Coverage     43.14%   43.03%   -0.12%     
- Complexity     1675     1677       +2     
============================================
  Files           323      325       +2     
  Lines         16740    16888     +148     
  Branches       2202     2227      +25     
============================================
+ Hits           7222     7267      +45     
- Misses         8808     8910     +102     
- Partials        710      711       +1     
Impacted Files Coverage Δ
...n/java/org/jitsi/videobridge/sctp/SctpManager.java 0.00% <0.00%> (ø)
.../src/main/kotlin/org/jitsi/videobridge/Endpoint.kt 20.50% <0.00%> (+0.03%) ⬆️
.../videobridge/colibri2/Colibri2ConferenceHandler.kt 1.16% <0.00%> (-0.11%) ⬇️
...g/jitsi/videobridge/relay/RelayMessageTransport.kt 7.92% <4.76%> (-1.18%) ⬇️
...c/main/kotlin/org/jitsi/videobridge/relay/Relay.kt 16.63% <7.00%> (-1.40%) ⬇️
...n/org/jitsi/videobridge/sctp/DataChannelHandler.kt 12.50% <12.50%> (ø)
...n/kotlin/org/jitsi/videobridge/sctp/SctpHandler.kt 17.39% <17.39%> (ø)

... and 5 files with indirect coverage changes

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

JonathanLennox and others added 24 commits March 20, 2023 11:57
…n endpoint error (#1999)

* Added functionality to send back UNKNOWN_ENDPOINT Colibri2Error when there is no such endpoint. This addition reason will help jicofo to recognise this colibri2 error and re-invite participant instead of invalidating whole bridge and re-inviting all participants.

* ref: Move UnknownEndpointException definition.

* Update jitsi-xmpp-extensions.

* feat: Return feature_not_implemented for colibri2 requests

that use features known not to be properly supported by jitsi-videobridge
(and not used in jicofo). This is mostly to help spot problems early if
developing a different colibri2 client (not jicofo).

* feat: Suppress UNKNOWN_ENDPOINT errors for some requests

When the request is just trying to expire and endpoint or relay that is
missing (presumably already expired) we don't need to throw an error.
Same if the request only updates the force-mute state of an endpoint
(the only other operation that is currently performed in a batch by
jicofo).

Other requests, which create an endpoint/relay or update the
media/sources/transport of an endpoint still throw UNKNOWN_ENDPOINT
erorrs. These requests are now required to reference a single endpoint
or relay (to simplify error handling).

---------

Co-authored-by: Boris Grozev <boris@jitsi.org>
* Put assumed-bandwidth-bps behind a config flag.
…ints. (#2010)

* Call conference.addEndpoints() a single time when adding RelayedEndpoints.
Even if it has no participants - it might be bridging to a visitor relay.
* Add meshId to debug state.
* Add stats for packet/byte count organized by conference size.
* Update to Jetty 11.0.14.

(Including jicoco dependency.)

* Bump jicoco, and jersey version.

This also necessitated bumping junit and kotest versions for tests, and fixing one test syntax.

* Exclude some spotbugs errors from new kotest.

* Pull in the correct junit-jupiter-api version.

* Fix some deprecated kotest API usages.
* Remove unnecessary try/catch.

* Actually return health check result.
)

This fixes inter-relay bridge channels when SCTP datachannels are disabled.
…ot send for screensharing. (#2017)

* fix: Fix sending preemptive keyframe requests with source names, do not send for screensharing.
Fixes finding the AudioSourceDesc when it belongs to a RelayedEndpoint.
The Relay already has its ID in the context resulting in:
relayId=jvb-foo-bar relay-id=jvb-foo-bar
or suspiciously high, or the sender's "delay since last SR" values is
too high.
Disable some rules that are annoying.

Corresponding code format changes (should be no substantive change).
bgrozev and others added 30 commits July 18, 2024 17:19
* feat: Remove support for ICE/TCP.

* TURN/TLS provides a better solution for the same problem.
* The implementation has been known to have issues with threads getting blocked.
* ICE/TCP gets in the way of improvements we're currently working on.
* We (jitsi team) haven't used it in any of our deployments since at least 2018.
* See also: jitsi/docker-jitsi-meet@7a93978
Rather than processing them synchronously in the I/O thread.
VP9 flexible mode doesn't announce temporal layers in advance, so add them to the encoding desc
as they are encountered.
Bumps [io.sentry:sentry](https://github.com/getsentry/sentry-java) from 7.9.0 to 7.14.0.
- [Release notes](https://github.com/getsentry/sentry-java/releases)
- [Changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md)
- [Commits](getsentry/sentry-java@7.9.0...7.14.0)

---
updated-dependencies:
- dependency-name: io.sentry:sentry
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [io.sentry:sentry](https://github.com/getsentry/sentry-java) from 7.9.0 to 7.14.0.
- [Release notes](https://github.com/getsentry/sentry-java/releases)
- [Changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md)
- [Commits](getsentry/sentry-java@7.9.0...7.14.0)

---
updated-dependencies:
- dependency-name: io.sentry:sentry
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
)

* Don't feed SCTP packets to the SCTP stack after it's been closed.

(It results in harmless-but-scary warnings in the logs about verification tags being wrong.)

* Change an sctp log to info.
* feat: Use the ice4j push API.
* feat: Put incoming DTLS packets on a queue.
* Start writing to the ICE transport as soon as we have any validated pair.
* chore: Bump to ice4j 3.2

---------

Co-authored-by: Jonathan Lennox <jonathan.lennox@8x8.com>
* Agent should fail on SocketNotFoundException
* Don't start multiple PaceMakers for a single CheckList.
* ref: Move Prometheus from jicoco.

* chore: Update jicoco to 1.1-143.
…#2236)

Bump ice4j to use SocketPool.  Remove usePlainDatagramSocketImpl flag (no longer needed).
* fix: Drop the packet if a preProcessor exists and rejects it.

* fix: Also pre-process RTCP packets.

* fix: Move the notifyRtcpSent call to the sender pipeline.

Notably, this calls the notifier after the RTCP packet has passed
the preProcessor where SSRC rewriting may change the packet.

The callback is also moved from the receiver pipeline thread (calling
into Conference.sendOut -> Endpoint.send) to the sender pipeline thread.

The only code which uses this callback is EndpointConnectionStats,
which saves sent SRs to calculate RTT. This commit fixes the RTT
calculation when SSRC rewriting is used.
We used to have non-deterministic behavior when no Accept header was
included, or it was set to */* (presumably depending on the order in
which the jakarta annotations were loaded). We now always default to
openmetrics.
This fixes an issue when a receiver joins a conference and one of the senders has a disabled source. The source was signaled with type NONE, which is not handled correctly by receivers.

* fix: Do not signal mappings for disabled sources.
* feat: Read initial VideoType from colibri.
* feat: Log a warning when video type changes between CAMERA and DESKTOP.
* fix: Improve logging.

* ref: Remove unused code.

* ref: Remove unnecessary functions.

* ref: Remove unused config option.

* ref: Remove unused code.

* ref: Single line comments.
* feat: Split config for default constraints.

* squash: Use the correct property.
* feat: Add a metric for XMPP disconnects.

* chore: Update jicoco to 1.1-148 (enable XMPP SM)
  feat: Add an endpointId field to StartEvent.
  feat: Move jwt utils from jibri into jicoco-jwt.
  chore: Update jitsi-metaconfig.
  Add Java 21 to GitHub testing matrix
  feat: Enables stream resumption.
* chore: Adapt to jicoco changes.
A reconnect fix on startup a race may lead to keep trying to  reconnect filling up the logs with:
WARNING: [25] [hostname=localhost id=shard] MucClient.lambda$getConnectAndLoginCallable$9#693: Error connecting:
org.jivesoftware.smack.SmackException$AlreadyConnectedException: Client is already connected
* fix: Fail early if IMDS returns an error. (jitsi/ice4j#298)
  * Add IMDSv2 support to AwsCandidateHarvester and replace URLConnectionn with HttpRequest (jitsi/ice4j#297)
  * Add Java 21 to GitHub testing matrix (jitsi/ice4j#296)
* feat: Add BitReader utilities and tests.
* feat: Add a parser for the VLA RTP header extension.
* ref: Remove unused function.
* feat: Update layers with info found in VLA.
* feat: Add an option to use targetBitrate instead of measured bitrate for allocation
* feat: Warn if replacing width/frameRate.
* test: Add tests for invalid VLAs.
* ref: Simplify code, add a comment.
* feat: Retain the VLA extension between relays.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants