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

[e2ee] Make ratcheting configurable #616

Merged
merged 54 commits into from
Mar 16, 2023
Merged

Conversation

lukasIO
Copy link
Contributor

@lukasIO lukasIO commented Mar 10, 2023

No description provided.

davidliu and others added 30 commits January 24, 2023 00:23
* Allow for background timers to be overriden for platform specific implementations

* Add changeset

* Formatting

* More timers converted and renamed to CriticalTimers
* avoid using class scope for timers

* fix copy paste error

* protocol
* Update dependency ua-parser-js to v1.0.33 [SECURITY]

* Create tall-cycles-judge.md

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: lukasIO <mail@lukasseiler.de>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Export CheckStatus

* Create afraid-plants-grab.md

---------

Co-authored-by: lukasIO <lukas.seiler@neesh.de>
* Add getDisplayMedia support check

* Create friendly-trainers-yawn.md

---------

Co-authored-by: lukasIO <lukas.seiler@neesh.de>
When we switched to using oneof in generated protobufs, it broke the ability to handle unknown signal messages from the server. This is due to the protobuf parser returning undefined for message field, versus a new value for $case.
* drop participant updates with wrong sid

* Create smooth-students-poke.md
* Update devDependencies (non-major)

* rerun prettier after update

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lukas <mail@lukasseiler.de>
…ts (#569)

* emit Participant.PermissionChanged event also for remote participants

* fix typo

* cleanup

* update protocol with source permissions

* better compare

* Create angry-pugs-repair.md
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Add reconnect reason and signal rtt caculation

* changeset
* Provide more context to ConnectionError when connecting to a room

* Fix prettier issues

* Create mighty-boats-wonder.md

---------

Co-authored-by: lukasIO <lukas.seiler@neesh.de>
* only restart track after permission change if not muted

* fix implicit restart case

* Create rotten-bottles-work.md

* restart audio track on unmute if readyState is ended
if multiple get/setParameter are called concurrently, certain timing of
events could lead to the browser throwing an exception in `setParameter`,
due to a missing `getParameter` call.
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Disable red encoding by default for stereo track

* changeset

* prettier

* Update src/room/track/options.ts

Co-authored-by: David Zhao <dz@livekit.io>

* Update src/room/track/options.ts

Co-authored-by: David Zhao <dz@livekit.io>

---------

Co-authored-by: David Zhao <dz@livekit.io>
StreamState is used to communicate when congestion controller pauses.
It does not make sense to initialize this value to paused since in most
cases, congestion controller has not paused the track and we'd want it to
avoid flickering.
When a resume sequence fails, a full reconnect is attempted. There were
a few issues there with that sequence
- We did not always fire EngineEvent.Restarting, so Room missed tearing down existing participants
- With selective subscriptions, when existing `isDesired` isn't cleared, it will not send a subscribe request when requested
- New tracks were not republished successfully when reconnected (due to sender not being reset early enough)
* always fire EngineEvent.Resuming

* changed RTCEngine.connectedServerAddress to an async getter getConnectedServerAddress()
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* add support for experimental getDisplayMedia options

* reset formatting

* Create .changeset/bright-dancers-worry.md
lukasIO and others added 12 commits March 6, 2023 11:26
* update REASON to RR enum

* update protocol

* update proto stubs
* Add support for setting topics on data messages

* make destination comment clearer

* update protocol to current main

* update REASON to RR enum

* Create .changeset/metal-otters-give.md
* defer track publishing during reconnection

* keep track of pending publications

* Create .changeset/cuddly-pumpkins-tie.md

* make sure pending promise is always deleted

* guard against multiple reconnect events emitted
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Reject publish future if engine disconnects

* Create .changeset/gold-tips-complain.md

* set future to undefined
Other errors could be raised when playing back an audio track.
For example: a user could attach to another track, aborting the current
attempt.

In those cases, we do not want to fire AudioPlaybackFailed incorrectly.
@changeset-bot
Copy link

changeset-bot bot commented Mar 10, 2023

⚠️ No Changeset found

Latest commit: a30fab7

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@lukasIO lukasIO changed the title Remove auto ratcheting from cryptor [e2ee] Make ratcheting configurable Mar 16, 2023
@lukasIO lukasIO marked this pull request as ready for review March 16, 2023 16:29
@lukasIO lukasIO merged commit 329c928 into lukas/e2ee-next Mar 16, 2023
@lukasIO lukasIO deleted the lukas/e2ee-next-noratchet branch March 16, 2023 16:29
@initpwn
Copy link

initpwn commented Mar 31, 2023

Status of this PR?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants