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

cross native and wasm, ice trickle and data channel creation #54

Merged
merged 4 commits into from
Dec 17, 2022

Conversation

rozgo
Copy link
Contributor

@rozgo rozgo commented Dec 15, 2022

This is an attempt to get cross data communication between native and WASM WebRTC, to address #47

The screenshot shows our own app using matchbox, 2 chrome tabs, 1 firefox tab, 2 desktop (native), all communicating with each other. We also tested order of launching and making sure no matter who offers or accepts it still connects. But this is all pretty tricky and might still have some bugs.

image

Copy link
Owner

@johanhelsing johanhelsing left a comment

Choose a reason for hiding this comment

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

Amazing! This all looks great to me. I had a few nitpicks, and I still don't understand what exactly was different from my previous attempts at this that made this work, but maybe you do? Would be interesting to know.

I tested also tested the box_game example on chrome, firefox and windows native, and it appears to be working as expected.

I had a small hope that #36 was somehow related to ice trickle, but firefox still breaks for me after ~10 seconds, unless I have the media panel extension enabled :/

Let me know if you'd like to fix the nits yourself, or I can just merge this and do it after

Thanks again for working on this!

@johanhelsing johanhelsing added the enhancement New feature or request label Dec 15, 2022
@johanhelsing johanhelsing added this to the 0.5 milestone Dec 15, 2022
@johanhelsing
Copy link
Owner

I did some further testing, and unfortunately chrome-to-chrome connections on the same machine works on the main branch, but not with this one :/

@rozgo
Copy link
Contributor Author

rozgo commented Dec 15, 2022

Can you provide more info on your setup and what you tried? I was able, and have been, testing mostly with chrome, and works as expected. Maybe there is a corner case I haven't seen.

Box game:
image
Note: The image doesn't show, but was able to move the boxes in their respective windows and see the other window sync correctly.

Our app with 3 chrome clients:
image

@johanhelsing
Copy link
Owner

Can you provide more info on your setup and what you tried? I was able, and have been, testing mostly with chrome, and works as expected. Maybe there is a corner case I haven't seen.

Sorry! Turned out I was actually using an old version of matchbox_server. Guess I was coding too late in the evening. That means I still haven't seen any regressions :)

@johanhelsing
Copy link
Owner

Really excited to get this one in and start using it :)

Great work!

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

Successfully merging this pull request may close these issues.

3 participants