cinnyapp / cinny

Yet another matrix client
https://cinny.in
GNU Affero General Public License v3.0
1.98k stars 257 forks source link

Video and Voice Calling #528

Open viasux opened 2 years ago

viasux commented 2 years ago

Describe the problem

Currently, there is no way to voice call someone in Cinny.

Describe the solution you'd like

An option to voice call ppl :)

Alternatives considered

Using another matrix client

Additional context

No response

menturion commented 2 years ago

+1

Support/integration of Element Call (https://github.com/vector-im/element-call).

C0ffeeCode commented 2 years ago

https://matrix.to/#/!rgQbWTfsoUcbvEDAvs:matrix.org/$IxJSHKXwmcSkfKgrybxlJb6hC-THyPD4oP3Ew-_dlyo?via=matrix.org&via=envs.net&via=kde.org

There are no plans for calls right now. But it's probably going to be the new matrix inhouse VoIP calls and not jitsi.

reesericci commented 2 years ago

This would be great, as I could finally replace element with something much nicer to use IMO. I currently have to use element to talk to my friends over VoIP.

ilyakooo0 commented 2 years ago

I want to implement this. Does anyone have any pointers? (I have no experience with matrix APIs).

kfiven commented 2 years ago

This is blocked by https://github.com/matrix-org/matrix-js-sdk/pull/2553

FarisZR commented 2 years ago

the pr is now merged

viasux commented 2 years ago

the pr is now merged

Could you link it?

FarisZR commented 2 years ago

https://github.com/matrix-org/matrix-js-sdk/pull/2553

reesericci commented 2 years ago

@ilyakooo0

ilyakooo0 commented 2 years ago

I am currently preoccupied by other projects, so I will not be implementing this in the foreseeable future.

I will post a comment if I decide to pick this up again.

reesericci commented 2 years ago

no worries!

viasux commented 1 year ago

+1

Support/integration of Element Call (https://github.com/vector-im/element-call).

I'd like to mention that I think using element call as a backend would be great, but it would make more sense to develop a user interface for it which follows the cinny design language. This could always be added down the line after just sloppily importing it though, so I'm not too worried about it, but one of the biggest strengths of cinny is how uniform its design language is.

C0ffeeCode commented 1 year ago

Unpopular opinion: Call functionality might bloat Cinny

SteveGremory commented 1 year ago

has any progress been made on this topic?

viasux commented 1 year ago

has any progress been made on this topic?

Pretty sure none has

SteveGremory commented 1 year ago

well that's kinda sad

viasux commented 1 year ago

well that's kinda sad

Still the one thing holding me back from really daily driving matrix

(including screen sharing with audio, but id at least use it a lot more if any form of calling was implemented)

IceDBorn commented 1 year ago

https://github.com/cinnyapp/cinny/pull/1163

FarisZR commented 1 year ago

The problem is matrix itself is moving away from jitsi and into its own matrix VOIP

IceDBorn commented 1 year ago

@FarisZR This is a temporary solution until Cinny devs figure out how they're going to handle calls, I do not want my draft to be merged.

K4LCIFER commented 1 year ago

Would adding in voice/video call functionality to Cinny include Discord-like voice/video rooms ("Rooms" in the sense of being able to pop in and out)?

rwjack commented 1 year ago

So should we wait for Element Call, hoping that it will replace both Jitsi for conference calls, and Coturn servers for 1:1 calling, or is Element Call only replacing Jitsi?

If that's the case, we'd still be missing the regular 1:1 call feature in Cinny, using self-hosted Coturn servers, as available in Element.

FarisZR commented 1 year ago

AFAIK element call is just element 1:1 calls but for groups.

kimabjorkede commented 1 year ago

Would adding in voice/video call functionality to Cinny include Discord-like voice/video rooms ("Rooms" in the sense of being able to pop in and out)?

Element already has this functionality.

rwjack commented 1 year ago

Element already has this functionality.

He was probably referring to the UI simplicity of Discord, as in showing small Avatars that are in the voice channel call, and the ability to join by clicking the Channel, and leave with a disconnect button on the bottom of the UI.

K4LCIFER commented 1 year ago

Element already has this functionality.

He was probably referring to the UI simplicity of Discord, as in showing small Avatars that are in the voice channel call, and the ability to join by clicking the Channel, and leave with a disconnect button on the bottom of the UI.

Correct, this is what I am referring to. Popping in and out of a persistent channel is an incredibly useful feature.

42Willow commented 11 months ago

Element has video rooms already and they're pretty stable as far as I know. Is there anything blocking this from being implemented?

EDIT: Never mind, element uses Jitsi for video rooms (for now until element call is stable)

I'd be happy to work on this if someone roughly pointed me in the right direction, I have quite a bit of spare time at the moment. My three weeks of spare time are over but I can still help

FarisZR commented 11 months ago

I think you should just work on embedding element Call inside Cinny similar to how Jitsi currently works in element. This should be quick and easy, and Element call is almost ready anyway. You can go further and try to implement it 'natively' but I'm not sure if this is possible or not.

In any case, the project should definitely skip implementing Jitsi.

SnoutBug commented 10 months ago

I am also in favor of adding VoIP to Cinny, however I am not sure whether implementing Element Call is the right way to go. Currently Element Call is a pain to set up and I would not consider version 0.5 to be "almost ready".

Element Call feels unfinished and more like a prove of concept, rather than a feature which is ready to be implemented. If I am not mistaken, implementing Element Call in Cinny would mean to add a Room which hosts an iframe to call.element.io or any other URL the hoster specified. In my mind this would be no different to adding Jitsi to Cinny, but correct me if I'm wrong about that.

In that case anyone wanting a call feature could just host Element Call separately and link it to their Matrix instance instead. While this is probably not the prettiest way of doing things, its probably more pretty than including Element Call as an iframe in Cinny which breaks the theme consistency and having to implement the feature anew once a proper solution arrives, eg. native VoIP via Matrix.

fbievan commented 7 months ago

I think we should have 1 on 1 voice calling until group calling is fully fledged out.

deepadmax commented 4 months ago

The proposals will probably be finished in a couple months and it would be better to wait than to implement a soon-to-be-dated version of calls.

I think it would be a great disservice to the much appealing design of Cinny to simply embed Element Call rather than to follow it to its conclusion and implement video rooms like Discord voice channels.

Beryesa commented 1 month ago

In the meantime an Element call widget would be really useful though. Just to scale, Element call is progressing really well already.

42Willow commented 1 month ago

The proposals will probably be finished in a couple months and it would be better to wait than to implement a soon-to-be-dated version of calls.

I think it would be a great disservice to the much appealing design of Cinny to simply embed Element Call rather than to follow it to its conclusion and implement video rooms like Discord voice channels.

@deepadmax where can these proposals be found? Apparently element call is production ready now :tada: https://element.io/blog/we-have-lift-off-element-x-call-and-server-suite-are-ready/ I've tested it at call.element.io and it seems to be running smoothly without any noticeable issues.

Regarding the idea of implementing Discord-like voice channels: Has there been any discussion about this with the core maintainers of Cinny? It would be good to agree on this first, so that if someone starts working on it, they won’t have to make significant changes later on. Personally I think it's a great idea, but I'm not yet sure if Element Call is fast enough to make popping in and out of a call as seamless as it is on Discord. Another thing to note is on Discord, the UI is updated with your profile appearing in the call list before you have actually connected to the call backend.

SnoutBug commented 1 month ago

I am not sure what the blog post is talking about. Maybe I am misunderstanding the procedure, but the proposals for VoIP via Matrix still have not been merged. Element Call has worked before, but I could not find any significant change. So far it is still required to host a separate endpoint for calls (develop.element.io requires call.element.dev for calls) Also it seems Element Call is still in early development (v0.6.6). element-x-ios is [...] work in progress. The app does not cover yet all functionalities we expect. element-x-android [...] is currently in a pre-alpha release stage with only basic functionalities.

I have come to the conclusion that I don't understand what I should expect from Element-X, Element Call or VoIP in Matrix.