Merge pull request #2700 from vector-im/dbkr/fix_notification_click

Fix clicking on notifications
This commit is contained in:
Richard van der Hoff 2016-12-06 14:47:41 +00:00 committed by GitHub
commit 96f620829f
3 changed files with 10 additions and 2 deletions

View File

@ -202,3 +202,9 @@ electron.app.on('activate', () => {
electron.app.on('before-quit', () => { electron.app.on('before-quit', () => {
appQuitting = true; appQuitting = true;
}); });
// Set the App User Model ID to match what the squirrel
// installer uses for the shortcut icon.
// This makes notifications work on windows 8.1 (and is
// a noop on other platforms).
electron.app.setAppUserModelId('com.squirrel.riot-web.Riot');

View File

@ -79,7 +79,7 @@ export default class ElectronPlatform extends VectorBasePlatform {
return true; return true;
} }
displayNotification(title: string, msg: string, avatarUrl: string): Notification { displayNotification(title: string, msg: string, avatarUrl: string, room: Object): Notification {
// Notifications in Electron use the HTML5 notification API // Notifications in Electron use the HTML5 notification API
const notification = new global.Notification( const notification = new global.Notification(
title, title,
@ -97,6 +97,7 @@ export default class ElectronPlatform extends VectorBasePlatform {
room_id: room.roomId room_id: room.roomId
}); });
global.focus(); global.focus();
electron.remote.getCurrentWindow().restore();
}; };
return notification; return notification;

View File

@ -103,7 +103,7 @@ export default class WebPlatform extends VectorBasePlatform {
return defer.promise; return defer.promise;
} }
displayNotification(title: string, msg: string, avatarUrl: string) { displayNotification(title: string, msg: string, avatarUrl: string, room: Object) {
const notification = new global.Notification( const notification = new global.Notification(
title, title,
{ {
@ -120,6 +120,7 @@ export default class WebPlatform extends VectorBasePlatform {
room_id: room.roomId room_id: room.roomId
}); });
global.focus(); global.focus();
notification.close();
}; };
// Chrome only dismisses notifications after 20s, which // Chrome only dismisses notifications after 20s, which