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] EX: Send a warning to the caller making a legacy call #2563

Open
2 tasks done
manuroe opened this issue Oct 9, 2024 · 7 comments
Open
2 tasks done

[Story] EX: Send a warning to the caller making a legacy call #2563

manuroe opened this issue Oct 9, 2024 · 7 comments

Comments

@manuroe
Copy link
Member

manuroe commented Oct 9, 2024

Description

  • As a caller
  • I want to be warned the callee may not be able to answer to my legacy call with their EX app
  • So that I do not felt ghosted and I will retry using EX or an Element Call capable app

Acceptance criteria

  • Caller is aware by a notice in the timeline that the callee cannot answer because they are using EX
  • Callee EX app sends a notice in the timeline when receiving a legacy call
  • There is single notice per legacy call
  • The notice will be in the language of the callee EX app

Leads

  • Tech:
  • Design:

Size estimate

None

Dependencies

  • None

Out of scope

  • Nothing

Open questions

Questions

Subtasks

Android

No tasks being tracked yet.

iOS

No tasks being tracked yet.

Other

No tasks being tracked yet.

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
@manuroe manuroe changed the title [Story] Send a warning to the caller making legacy call if the callee is using EX [Story] EX: Send a warning to the caller making legacy call Oct 9, 2024
@manuroe manuroe changed the title [Story] EX: Send a warning to the caller making legacy call [Story] EX: Send a warning to the caller making a legacy call Oct 9, 2024
@mxandreas
Copy link

mxandreas commented Oct 9, 2024

do we want to display a popup asking for confirmation before sending like "Alice is trying to call you using legacy call. Do you want inform them they should use Element Call to reach you"

Given, this is a temporary/workaround, I would keep it simple and without confirmation. I think it does not compromise privacy much, only exposes that one is using EX.

Are we ok with "The notice will be in the language of the callee EX app"?

I think that is fine; even hardcoding to English is also probably fine.

In terms of the message itself, I would propose something like:

"Bob may not be able to answer your call since you're using legacy calling. Please use Element X to reach them".

@manuroe
Copy link
Member Author

manuroe commented Oct 9, 2024

We had a tech discussion about it. We are all aligned that we need a long term plan for the migration from lecacy calls to Element Calls BUT we cannot go quick to implement it, even with the band aid solution described in the issue. We tried to not overthinking but we kept raising concerns. It makes think we cannot converge in a better solution than what we have now in the 1 or 2 days of work allocate for this.

From the meeting:
Problems:

  • Privacy concern: the app is going to automatically send message in place of the callee
  • Several clients can generate several notices, poluting the timeline
  • Privacy concern: it will advertise the app the callee is using
  • Tech: we need to manage timeline resets. A stupid and simple implementation will create bugs that we are going to manage

Discussed options:

  • Implement this-auto sending in the SDK where it manages call notifications
  • Another user flow: The user taps the incoming call notification -> the app opens on the room -> the app sends the notice
    • Problem: there is no notification if the user is already looking at the room
  • Ideally: we need MSC work to address it properly like having a negotiation setup step in the call flow. But it is going to budgeted time by a lot
  • EX could send m.call.reject to say "sorry, can't answer now as you need to speak MatrixRTC". We then make a trivial change to the legacy apps to display that appropriately
  • For group calls, we could display the Jitsi link in the timeline. It implies to add Widget API support in EX.

@manuroe
Copy link
Member Author

manuroe commented Oct 9, 2024

The current solution is that the callee gets a notification and a timeline item saying "Call in progress (unsupported)". Then, the callee can they interact with the caller to find a way to communicate.

image

Another option could be to iterate on the wording on this not useful information in the timeline. The copy could invite the callee to engage and chat with the caller.
Doing so, we could revisit the mechanism that computes the call state in that timeline item. It is not working well.

@bmarty
Copy link
Member

bmarty commented Oct 9, 2024

Note: if by "notice" we're talking about m.notice msgtype, we will need to handle element-hq/element-x-android#3636 as well on Android.

@davidmehren
Copy link

Instead of just showing "Call in progress (unsupported)", could you not display the Jitsi link, so the callee may join using the Jitsi app or their browser?

@ara4n
Copy link
Member

ara4n commented Oct 10, 2024

How about we spec m.call.reject code which EX can send to say "sorry, can't answer now as you need to speak MatrixRTC". We then make a trivial change to the legacy apps to display that appropriately?

@manuroe
Copy link
Member Author

manuroe commented Oct 10, 2024

Instead of just showing "Call in progress (unsupported)", could you not display the Jitsi link, so the callee may join using the Jitsi app or their browser?

Thanks for the hint. We were focused on the DM case but we could definitely used the Jitsi link for group calls. We just™️ need to make Element X support the widget API :/

How about we spec m.call.reject code which EX can send to say "sorry, can't answer now as you need to speak MatrixRTC". We then make a trivial change to the legacy apps to display that appropriately?

Oh, yes. @bmarty raised it too. I added it to the list

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants