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

Calls MVP #799

Closed
3 of 11 tasks
bwindels opened this issue Jul 18, 2022 · 3 comments
Closed
3 of 11 tasks

Calls MVP #799

bwindels opened this issue Jul 18, 2022 · 3 comments

Comments

@bwindels
Copy link
Contributor

bwindels commented Jul 18, 2022

Take #705 and iron all the remaining bugs. Part of #659

Remaining tasks:

  • fix second dial in where other side should call us, m.call.anwser gets queued rather than handled immediately because on one side the seq counter gets reset but the max seq isn't on the receiving side.
  • before fixing the stream id bug, localmedia ownership was clear(er), member owned it and peercall didn't dispose it. But now, it's not so clear anymore because we modify the original stream in peercall by moving the tracks from the new stream back to the old stream, so member won't find the tracks there anymore when disposing.
  • prevent olm encryption from running out of wasm heap memory by implementing SessionLoader, akin to KeyLoader for megolm
  • don't talk to expired members, see matrix-org/matrix-spec-proposals@7a06ed7 and Expire video member events after 1 hour matrix-org/matrix-react-sdk#8776
  • hangup when peerCall.call() fails?
  • remove waitFor (don't think it is used)
  • implement to_device messages arriving before m.call state event (only for m.call.invite arriving before invite so far?)
  • Better error handling: implement GroupCall.error and ensure we don't have any uncaught exceptions by defining all the "root" call paths (e.g. event handlers and public methods? none of which should throw). Should we also have an error prop on the member so we could show in better in the UI? Not sure, might be weird to say "an error happened with Bruno", but maybe "an error occurred with Bruno's stream" might be meaningful to the user. We should build some general purpose utilities that we could use as well in the sync loop to isolate errors. See Report uncaught errors in UI and propose to send logs #905
  • anticipate things throwing better and ensure it at least doesn't spill over to other members
  • test between H & EC and H & H
  • camera is not release while in call and going back to sessionpicker screen. session dispose does not disconnect from call?
@bwindels bwindels modified the milestone: 2022-07-18_Sprint 1 Jul 18, 2022
@bwindels
Copy link
Contributor Author

Also consider whether falling back to non-encrypted to-device message is a good idea: https://github.com/vector-im/hydrogen-web/blob/bwindels/calls/src/matrix/calls/group/Member.ts#L234

@bwindels
Copy link
Contributor Author

matrix-org/thirdroom#276 seems related to the first remaining task about the second dial-in.

@bwindels bwindels self-assigned this Sep 22, 2022
@bwindels bwindels removed their assignment Nov 8, 2022
@fkwp
Copy link

fkwp commented Jan 5, 2023

closed in favor of: #946

@fkwp fkwp closed this as completed Jan 5, 2023
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

No branches or pull requests

2 participants