diff --git a/api/hub.ts b/api/hub.ts index 0512ad1..0451be6 100644 --- a/api/hub.ts +++ b/api/hub.ts @@ -213,19 +213,22 @@ const sendNotification = async (chat, name, type:NotificationType) => { return } const device_id = owner.deviceId + const isIOS = device_id.length===64 + const isAndroid = !isIOS let unseenMessages=await models.Message.count({ where: { sender: { [Op.ne]: owner.id }, seen: false } }) const params:{[k:string]:any} = {device_id} const notification:{[k:string]:any} = { chat_id: chat.id, - badge: unseenMessages + badge: unseenMessages, + sound: '' } if(type!=='badge' && !chat.isMuted) { notification.message = message - if(owner.notificationSound) { - notification.sound = owner.notificationSound - } + notification.sound = owner.notificationSound || 'default' + } else { + if(isAndroid) return // skip on Android if no actual message } params.notification = notification diff --git a/dist/api/hub.js b/dist/api/hub.js index b31496f..7ee2b7d 100644 --- a/dist/api/hub.js +++ b/dist/api/hub.js @@ -205,17 +205,22 @@ const sendNotification = (chat, name, type) => __awaiter(void 0, void 0, void 0, return; } const device_id = owner.deviceId; + const isIOS = device_id.length === 64; + const isAndroid = !isIOS; let unseenMessages = yield models_1.models.Message.count({ where: { sender: { [sequelize_1.Op.ne]: owner.id }, seen: false } }); const params = { device_id }; const notification = { chat_id: chat.id, - badge: unseenMessages + badge: unseenMessages, + sound: '' }; if (type !== 'badge' && !chat.isMuted) { notification.message = message; - if (owner.notificationSound) { - notification.sound = owner.notificationSound; - } + notification.sound = owner.notificationSound || 'default'; + } + else { + if (isAndroid) + return; // skip on Android if no actual message } params.notification = notification; if (type === 'message' && chat.type == constants.chat_types.tribe) { diff --git a/dist/api/hub.js.map b/dist/api/hub.js.map index 66af48d..eabcc04 100644 --- a/dist/api/hub.js.map +++ b/dist/api/hub.js.map @@ -1 +1 @@ -{"version":3,"file":"hub.js","sourceRoot":"","sources":["../../api/hub.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"hub.js","sourceRoot":"","sources":["../../api/hub.ts"],"names":[],"mappings":"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"} \ No newline at end of file