1 files changed, 18 insertions, 1 deletions
diff --git a/webclient/room/room-controller.js b/webclient/room/room-controller.js
index 304b06c1f1..30f66de458 100644
--- a/webclient/room/room-controller.js
+++ b/webclient/room/room-controller.js
@@ -137,6 +137,23 @@ angular.module('RoomController', ['ngSanitize'])
$scope.$on(eventHandlerService.MSG_EVENT, function(ngEvent, event, isLive) {
if (isLive && event.room_id === $scope.room_id) {
scrollToBottom();
+
+ if (window.Notification) {
+ // FIXME: we should also notify based on a timer or other heuristics
+ // rather than the window being minimised
+ if (document.hidden) {
+ var notification = new window.Notification(
+ ($scope.members[event.user_id].displayname || event.user_id) +
+ " (" + $scope.room_alias + ")",
+ {
+ "body": event.content.body,
+ "icon": $scope.members[event.user_id].avatar_url,
+ });
+ $timeout(function() {
+ notification.close();
+ }, 5 * 1000);
+ }
+ }
}
});
@@ -154,7 +171,7 @@ angular.module('RoomController', ['ngSanitize'])
paginate(MESSAGES_PER_PAGINATION);
}
};
-
+
var paginate = function(numItems) {
// console.log("paginate " + numItems);
if ($scope.state.paginating) {
|