-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
[MM-57486] [MM-58008] Calls: Mobile ringing for incoming calls #7984
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good @cpoile.
- In the settings, can we make it play the preview sound when you tap it the first time and then tapping again would stop it? Right now we're requiring an extra tap here.
- When a call comes in while my phone is locked or if the app is in the background, I get a regular notification along with persistent vibration, but the sound plays in the phone speaker (which I can only hear when I raise to my ear) rather than out loud. Is this intended? Or should the sound play out loud as long as I have my volume on?
- There is not an easy way to silence the persistent ringing/vibration if the app is in the background or my phone is locked. I have to tap the notification and enter the app to stop it from ringing. We need to figure out a way to make this better. I'm wondering what options we have to provide users the ability to silence an incoming call ring while not in the app. Are we able to add 'join' and 'dismiss' buttons within the notification? Also, if I press the volume down button on my phone while there is a ring happening, it should stop the ringing as well.
We may need to discuss 3 in more detail.
@matthewbirtch Thanks for the review. 1 is addressed in c0a1240. As for 2 and 3, my guess is you're using Android for that test, right? And you must be receiving the call within ~15 seconds of the app going into the background. On iOS there's no sound the moment the app goes into the background. I've added code to prevent Android from doing that too. The reason is both to keep it consistent with iOS, and because after ~15 seconds the websocket disconnects and it's not possible for the app to receive the incoming call ws event. |
@cpoile I suppose it would be challenging to have the visual notification show on top of every screen? |
@streamer45 Do you mean the green incoming call notification bar? It's where it is supposed to be, according to the designs. :) We would need new designs for where to put it if we wanted to put it on any other screens. But not impossible, just more work. |
Okay, because this functionality becomes increasingly less effective if we don't show it everywhere. Not a blocker of course, just a thought. |
Totally open to adding them in more screens. But I would caution about starting down a path where effort-to-reward ratio might get low -- there's dozens of screens that the user is in only briefly. Design team -- please feel free to open tickets or raise it in channel and we can add them in as needed. |
@streamer45 I get what you mean. I noticed this too while I was on my profile screen and a ring started, but I had no banner on this screen to join or dismiss the call. Maybe for the main screens that are accessible from the main bottom tab navigation, we should show the banner on the bottom like we do on the homescreen (could do this in a follow-up ticket). It would be challenging to consider every other possible screen though.
@cpoile I was using iOS actually. I just tested again on my iPhone and after I put Mattermost in the background while it's ringing, sound does indeed stop, so number 2 above seems to be resolved. However, here's some other things I notices:
|
@matthewbirtch Thanks again, that's helpful. 1) fixed, everything stops when going into the background;
|
I'm getting two notification sounds on top of each other: the standard iOS notification sound (that I get for normal MM messages) plays on top of the ringing notification sound. |
@matthewbirtch Hmm, I've never heard that before, I didn't even know we had an in-product notification sound. This is different from the push notification sound? |
Sorry, the push notification sound is what I mean |
@cpoile I've build the app locally and is working as expected, I can hear 4 different tones as I select the values. I built locally with give it a try and let's see if it builds correctly from the CI |
@enahum True, |
@cpoile after some testing and digging, I see that it's possible to reproduce the behaviour of CI locally by utilizing the same env vars used for PR builds:
(or as I later found, you can just run Among the variables used for PR builds, the culprit for the name mangling (e.g. for renaming I'm not familiar with the internals of the build scripts though, perhaps Elias would be able to best assist you with those. |
@mvitale1989 Awesome, thank you for this! So, building locally with But why doesn't the ci step bundle the mp3s? |
@cpoile CI seems to embed them in the same ways as the E.g. if you look at the
Do the ringtones work with that build? |
@mvitale1989 Ahh, that artifact seems to be different from the one that was posted to the Mobile: Test Builds channel. I wonder why? The test channel build does not have the mp3s, but the artifact you pointed to does. And it works on my device. 🎉 Thanks so much Mario, you're a life saver. |
@DHaussermann Please take a look now -- most recent android QA build should be working, thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested and passed
Since the last round of testing, The only remaining issue was the mp3 files.
I have confirmed on the more recent build the ring tones are now available
Also did a quick spot check over the feature again.
Tested and passed based on testing above #7984 (comment)
LGTM!
Thanks @cpoile!
Summary
Ticket Link
Checklist
Device Information
This PR was tested on:
Screenshots
Release Note