mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 07:07:35 +01:00
rtc fixes: do not show notification if message was sent by current user from different computer or mobile, put back message syncing on posting for guilds and tavern
This commit is contained in:
@@ -26,8 +26,13 @@ habitrpg.controller('ChatCtrl', ['$scope', 'Groups', 'Chat', 'User', '$http', 'A
|
|||||||
$scope.postChat = function(group, message){
|
$scope.postChat = function(group, message){
|
||||||
if (_.isEmpty(message) || $scope._sending) return;
|
if (_.isEmpty(message) || $scope._sending) return;
|
||||||
$scope._sending = true;
|
$scope._sending = true;
|
||||||
// var previousMsg = (group.chat && group.chat[0]) ? group.chat[0].id : false;
|
|
||||||
Chat.postChat(group._id, message) //, previousMsg) not sending the previousMsg as we have real time updates
|
var previousMsg = false;
|
||||||
|
if (group.type !== 'party' && group.chat && group.chat[0]) { // not sending the previousMsg for parties as we have real time updates
|
||||||
|
previousMsg = group.chat[0].id;
|
||||||
|
}
|
||||||
|
|
||||||
|
Chat.postChat(group._id, message, previousMsg)
|
||||||
.then(function(response) {
|
.then(function(response) {
|
||||||
var message = response.data.data.message;
|
var message = response.data.data.message;
|
||||||
|
|
||||||
|
|||||||
@@ -115,14 +115,14 @@ angular.module('habitrpg')
|
|||||||
|
|
||||||
// When the user is booted from the party, they get disconnected from Pusher
|
// When the user is booted from the party, they get disconnected from Pusher
|
||||||
partyChannel.bind('user-removed', function (data) {
|
partyChannel.bind('user-removed', function (data) {
|
||||||
if (data.userId === user._id) {
|
if (data.userId === $rootScope.User.user._id) {
|
||||||
api.pusher.unsubscribe(partyChannelName);
|
api.pusher.unsubscribe(partyChannelName);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Same when the user leaves the party
|
// Same when the user leaves the party
|
||||||
partyChannel.bind('user-left', function (data) {
|
partyChannel.bind('user-left', function (data) {
|
||||||
if (data.userId === user._id) {
|
if (data.userId === $rootScope.User.user._id) {
|
||||||
api.pusher.unsubscribe(partyChannelName);
|
api.pusher.unsubscribe(partyChannelName);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -147,7 +147,8 @@ angular.module('habitrpg')
|
|||||||
var docHasFocus = document.hasFocus();
|
var docHasFocus = document.hasFocus();
|
||||||
var isOnPartyPage = $state.is('options.social.party');
|
var isOnPartyPage = $state.is('options.social.party');
|
||||||
|
|
||||||
if (isOnPartyPage && docHasFocus) { // if we're on the party page, mark the chat as read
|
// if we're on the party page or the message was sent by us, mark the chat as read but don't show notifications
|
||||||
|
if ((isOnPartyPage && docHasFocus) || chatData.uuid === $rootScope.User.user._id) {
|
||||||
Chat.markChatSeen($rootScope.party._id);
|
Chat.markChatSeen($rootScope.party._id);
|
||||||
} else { // show a notification
|
} else { // show a notification
|
||||||
$rootScope.User.user.newMessages[$rootScope.party._id] = {
|
$rootScope.User.user.newMessages[$rootScope.party._id] = {
|
||||||
@@ -160,7 +161,7 @@ angular.module('habitrpg')
|
|||||||
groupName: $rootScope.party.name,
|
groupName: $rootScope.party.name,
|
||||||
}), {
|
}), {
|
||||||
body: (chatData.user || chatData.uuid) + ': ' + chatData.text,
|
body: (chatData.user || chatData.uuid) + ': ' + chatData.text,
|
||||||
icon: '/common/img/gryphon_192-20.png'
|
icon: '/common/img/gryphon_192-20.png',
|
||||||
});
|
});
|
||||||
|
|
||||||
notif.addEventListener('click', function () {
|
notif.addEventListener('click', function () {
|
||||||
|
|||||||
Reference in New Issue
Block a user