mirror of
https://github.com/irislib/iris-messenger.git
synced 2024-10-18 14:13:21 +00:00
desktop notification from incoming call
This commit is contained in:
parent
8265d7c0d5
commit
c8b8f850f6
@ -5,6 +5,7 @@ var activeCall;
|
|||||||
var callTimeout;
|
var callTimeout;
|
||||||
var callSoundTimeout;
|
var callSoundTimeout;
|
||||||
var callingInterval;
|
var callingInterval;
|
||||||
|
var incomingCallNotification;
|
||||||
var userMediaStream;
|
var userMediaStream;
|
||||||
var localVideo = $('<video>').attr('autoplay', true).attr('playsinline', true).css({width:'50%', 'max-height': '60%'});
|
var localVideo = $('<video>').attr('autoplay', true).attr('playsinline', true).css({width:'50%', 'max-height': '60%'});
|
||||||
var remoteVideo = $('<video>').attr('autoplay', true).attr('playsinline', true).css({width:'50%', 'max-height': '60%'});
|
var remoteVideo = $('<video>').attr('autoplay', true).attr('playsinline', true).css({width:'50%', 'max-height': '60%'});
|
||||||
@ -32,6 +33,18 @@ function onCallMessage(pub, call) {
|
|||||||
incomingCallEl.append(reject);
|
incomingCallEl.append(reject);
|
||||||
$('body').append(incomingCallEl)
|
$('body').append(incomingCallEl)
|
||||||
ringSound.play();
|
ringSound.play();
|
||||||
|
if (document.visibilityState !== 'visible') {
|
||||||
|
incomingCallNotification = new Notification(chats[pub].name, {
|
||||||
|
icon: 'img/icon128.png',
|
||||||
|
body: 'Incoming call',
|
||||||
|
requireInteraction: true,
|
||||||
|
silent: true
|
||||||
|
});
|
||||||
|
incomingCallNotification.onclick = function() {
|
||||||
|
showChat(pub);
|
||||||
|
window.focus();
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
clearTimeout(callTimeout);
|
clearTimeout(callTimeout);
|
||||||
callTimeout = setTimeout(() => {
|
callTimeout = setTimeout(() => {
|
||||||
@ -57,10 +70,7 @@ function onCallMessage(pub, call) {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//stopCalling(pub);
|
//stopCalling(pub);
|
||||||
activeCall = null;
|
rejectCall(pub);
|
||||||
ringSound.pause();
|
|
||||||
clearTimeout(callTimeout);
|
|
||||||
$('#incoming-call').remove();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -152,8 +162,14 @@ function endCall(pub) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function rejectCall(pub) {
|
function rejectCall(pub) {
|
||||||
|
activeCall = null;
|
||||||
ringSound.pause();
|
ringSound.pause();
|
||||||
ringSound.currentTime = 0;
|
ringSound.currentTime = 0;
|
||||||
|
clearTimeout(callTimeout);
|
||||||
|
$('#incoming-call').remove();
|
||||||
|
if (incomingCallNotification) {
|
||||||
|
incomingCallNotification.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function createCallElement(pub) {
|
async function createCallElement(pub) {
|
||||||
|
Loading…
Reference in New Issue
Block a user