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

[Story] Ringing for incoming call #2385

Closed
5 tasks done
manuroe opened this issue Apr 10, 2024 · 4 comments
Closed
5 tasks done

[Story] Ringing for incoming call #2385

manuroe opened this issue Apr 10, 2024 · 4 comments
Labels
App: ElementX Android App: ElementX iOS T-Epic Issue is at Epic level T-User Story Team: Element X Platform X-Needs-Signoff Stories and Epics which are ready for review by product, design and QA

Comments

@manuroe
Copy link
Member

manuroe commented Apr 10, 2024

Description

  • As a user
  • I want to my device to ring on an incoming call
  • So that I do not miss them

Based on MSC4075

Acceptance criteria

  • The client applications should attempt to send a new m.call.notify event every time they access Element Call. This should be done through the means of the newly added send_call_notification_if_needed SDK method which will check if the right conditions are met:

    • if the room already has an active call then no new notification will be sent
    • if the room is a DM then a ring notification will be sent
    • if the room is not a DM then a notification notification will be sent
  • The interlocutor client will receive a CallNotify event as a push notification payload and:

    • If the notification is older than 10 seconds ignore the notify_type and display it as a normal notification
    • If the notify type is ring display the native OS incoming call dialog
    • Otherwise display it as a normal notification
  • From the native call dialog the decline action should ignore the call (similar to just not opening it up from within the room) while the accept action should open the app and that particular ElementCall

  • The call dialog should be automatically dismissed after 15 seconds of inactivity and the call handled as unanswered

  • NB These actions above should be available irrespective of the application (state, running, active, background, killed etc.)

  • These new m.call.notify events should be rendered in the timeline to indicate the start of a call. Designs will be based on this WIP version and will not contain a join button or durations

  • We would also like to track Element Call interactions so we've defined new events here https://github.com/matrix-org/matrix-analytics-events/pull/107/files

Leads

Size estimate

M

Subtasks

Android

  1. T-Task
    jmartinesp

iOS

  1. T-Enhancement

Rust

Other

Out-of-scope

  • Cancelling the ringing call when the other user in a DM hangs up.
  • Displaying when a call has finished in the notifications and timeline items.

Sign-off

Android

  • Design sign-off on completion
  • QA sign-off on completion
  • Product sign-off on completion

iOS

  • Design sign-off on completion
  • QA sign-off on completion
  • Product sign-off on completion
@rajil
Copy link

rajil commented May 27, 2024

I would like a ring to be sent to all members of a group. This is how a group call is supposed to work.

There is a long standing bug in Element Android related to this. The group call ring was implemented in iOS but not on Android.

image

@rajil
Copy link

rajil commented May 28, 2024

Here is a old video of how Whatsapp does group call. Another one.

@manuroe manuroe added the X-Needs-Signoff Stories and Epics which are ready for review by product, design and QA label Jun 21, 2024
@manuroe
Copy link
Member Author

manuroe commented Sep 11, 2024

The feature is live for a while. We are more than happy about it

@manuroe manuroe closed this as completed Sep 11, 2024
@alexander-potemkin
Copy link

@manuroe , I'm sorry, where is it available for a group calls?
There is a PR on that feature for Android, which is not merged yet.
Or am I missing something?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
App: ElementX Android App: ElementX iOS T-Epic Issue is at Epic level T-User Story Team: Element X Platform X-Needs-Signoff Stories and Epics which are ready for review by product, design and QA
Projects
None yet
Development

No branches or pull requests

3 participants