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

DC messages #870

Merged
merged 5 commits into from
Oct 9, 2024
Merged

DC messages #870

merged 5 commits into from
Oct 9, 2024

Conversation

streamer45
Copy link
Collaborator

Summary

Not much of a change on this side. I removed the pako dependency since we now use fflate. Also reworked logging and updated dependencies.

Related PRs

mattermost/rtcd#158
mattermost/calls-common#40

@streamer45 streamer45 added 2: Dev Review Requires review by a core committer Do Not Merge/Awaiting PR Awaiting another pull request before merging (e.g. server changes) labels Oct 2, 2024
@streamer45 streamer45 added this to the v1.2.0 / MM v10.2 milestone Oct 2, 2024
@streamer45 streamer45 requested a review from cpoile October 2, 2024 14:00
@streamer45 streamer45 self-assigned this Oct 2, 2024
Comment on lines +471 to +474
// Waiting a second before transmitting to avoid
// the known race between incoming and outgoing track.
// This is needed as pion doesn't support perfect negotiation yet.
time.Sleep(time.Second)
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using DC further exacerbated the impact of signaling conflicts, so I had to add this to make it usable. Browsers are not affected as they support perfect negotiation (SDP rollback).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gotcha. 👍

Comment on lines +471 to +474
// Waiting a second before transmitting to avoid
// the known race between incoming and outgoing track.
// This is needed as pion doesn't support perfect negotiation yet.
time.Sleep(time.Second)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gotcha. 👍

@@ -5,8 +5,7 @@ import type {EmojiData, CallsClientJoinData} from '@mattermost/calls-common/lib/

import {EventEmitter} from 'events';

// @ts-ignore
import {deflate} from 'pako/lib/deflate';
import {zlibSync, strToU8} from 'fflate';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My own interest, why this change?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cpoile It's ~40% faster, proper typescript and 5 times smaller bundle size. It got me convinced.

@streamer45 streamer45 added 3: Reviews Complete All reviewers have approved the pull request and removed 2: Dev Review Requires review by a core committer labels Oct 9, 2024
* lt: add incoming track handler

* Enable RTC monitor in lt client

* Update dependencies

* Update server mocks

* Bump dependencies
@streamer45 streamer45 removed the Do Not Merge/Awaiting PR Awaiting another pull request before merging (e.g. server changes) label Oct 9, 2024
@streamer45 streamer45 merged commit a07301a into MM-45894 Oct 9, 2024
7 checks passed
@streamer45 streamer45 deleted the dc-msg branch October 9, 2024 22:02
streamer45 added a commit that referenced this pull request Oct 9, 2024
* Allow signaling through data channel

* Update i18n

* Update calls-common

* DC messages (#870)

* Replace pako with faster fflate

* Mitigate signaling race

* Update dependencies

* Fix jest

* [MM-60561] RTC client metrics (#874)

* lt: add incoming track handler

* Enable RTC monitor in lt client

* Update dependencies

* Update server mocks

* Bump dependencies

* Update snapshots
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3: Reviews Complete All reviewers have approved the pull request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants