Fixed message unread
This commit is contained in:
parent
758d1cb771
commit
f10033a1af
@ -1470,7 +1470,7 @@ angular.module('izhukov.mtproto', ['izhukov.utils'])
|
|||||||
var self = this
|
var self = this
|
||||||
Storage.get('dc').then(function (baseDcID) {
|
Storage.get('dc').then(function (baseDcID) {
|
||||||
if (baseDcID == self.dcID && !self.upload && updatesProcessor) {
|
if (baseDcID == self.dcID && !self.upload && updatesProcessor) {
|
||||||
updatesProcessor(message)
|
updatesProcessor(message, true)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
break
|
break
|
||||||
@ -1551,7 +1551,7 @@ angular.module('izhukov.mtproto', ['izhukov.utils'])
|
|||||||
|
|
||||||
// console.log('Update', message)
|
// console.log('Update', message)
|
||||||
if (updatesProcessor) {
|
if (updatesProcessor) {
|
||||||
updatesProcessor(message)
|
updatesProcessor(message, true)
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
|
|
||||||
@ -1561,7 +1561,7 @@ angular.module('izhukov.mtproto', ['izhukov.utils'])
|
|||||||
function startAll () {
|
function startAll () {
|
||||||
if (akStopped) {
|
if (akStopped) {
|
||||||
akStopped = false
|
akStopped = false
|
||||||
updatesProcessor({_: 'new_session_created'})
|
updatesProcessor({_: 'new_session_created'}, true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1118,15 +1118,15 @@ angular.module('myApp.services')
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var toPeerID = AppPeersManager.getPeerID(apiMessage.to_id)
|
var peerID = getMessagePeer(apiMessage)
|
||||||
var isChannel = apiMessage.to_id._ == 'peerChannel'
|
var isChannel = apiMessage.to_id._ == 'peerChannel'
|
||||||
var channelID = isChannel ? -toPeerID : 0
|
var channelID = isChannel ? -peerID : 0
|
||||||
var isBroadcast = isChannel && !AppChatsManager.isMegagroup(channelID)
|
var isBroadcast = isChannel && !AppChatsManager.isMegagroup(channelID)
|
||||||
|
|
||||||
var mid = AppMessagesIDsManager.getFullMessageID(apiMessage.id, channelID)
|
var mid = AppMessagesIDsManager.getFullMessageID(apiMessage.id, channelID)
|
||||||
apiMessage.mid = mid
|
apiMessage.mid = mid
|
||||||
|
|
||||||
var dialog = getDialogByPeerID(toPeerID)[0]
|
var dialog = getDialogByPeerID(peerID)[0]
|
||||||
if (dialog && mid > 0) {
|
if (dialog && mid > 0) {
|
||||||
var dialogKey = apiMessage.pFlags.out
|
var dialogKey = apiMessage.pFlags.out
|
||||||
? 'read_outbox_max_id'
|
? 'read_outbox_max_id'
|
||||||
@ -1137,6 +1137,7 @@ angular.module('myApp.services')
|
|||||||
else if (options.isNew) {
|
else if (options.isNew) {
|
||||||
apiMessage.pFlags.unread = true
|
apiMessage.pFlags.unread = true
|
||||||
}
|
}
|
||||||
|
// console.log(dT(), 'msg unread', mid, apiMessage.pFlags.out, dialog && dialog[apiMessage.pFlags.out ? 'read_outbox_max_id' : 'read_inbox_max_id'])
|
||||||
|
|
||||||
if (apiMessage.reply_to_msg_id) {
|
if (apiMessage.reply_to_msg_id) {
|
||||||
apiMessage.reply_to_mid = AppMessagesIDsManager.getFullMessageID(apiMessage.reply_to_msg_id, channelID)
|
apiMessage.reply_to_mid = AppMessagesIDsManager.getFullMessageID(apiMessage.reply_to_msg_id, channelID)
|
||||||
@ -1150,8 +1151,8 @@ angular.module('myApp.services')
|
|||||||
fwdHeader.date -= ServerTimeManager.serverTimeOffset
|
fwdHeader.date -= ServerTimeManager.serverTimeOffset
|
||||||
}
|
}
|
||||||
|
|
||||||
apiMessage.toID = toPeerID
|
apiMessage.peerID = peerID
|
||||||
apiMessage.fromID = apiMessage.pFlags.post ? toPeerID : apiMessage.from_id
|
apiMessage.fromID = apiMessage.pFlags.post ? peerID : apiMessage.from_id
|
||||||
apiMessage.signID = apiMessage.pFlags.post && apiMessage.from_id ||
|
apiMessage.signID = apiMessage.pFlags.post && apiMessage.from_id ||
|
||||||
fwdHeader && fwdHeader.channel_id && fwdHeader.from_id
|
fwdHeader && fwdHeader.channel_id && fwdHeader.from_id
|
||||||
|
|
||||||
@ -1483,7 +1484,7 @@ angular.module('myApp.services')
|
|||||||
apiFileName = 'document.' + file.type.split('/')[1]
|
apiFileName = 'document.' + file.type.split('/')[1]
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(attachType, apiFileName, file.type)
|
// console.log(attachType, apiFileName, file.type)
|
||||||
|
|
||||||
if (historyStorage === undefined) {
|
if (historyStorage === undefined) {
|
||||||
historyStorage = historiesStorage[peerID] = {count: null, history: [], pending: []}
|
historyStorage = historiesStorage[peerID] = {count: null, history: [], pending: []}
|
||||||
@ -2658,6 +2659,7 @@ angular.module('myApp.services')
|
|||||||
}
|
}
|
||||||
|
|
||||||
saveMessages([message], {isNew: true})
|
saveMessages([message], {isNew: true})
|
||||||
|
// console.warn(dT(), 'message unread', message.mid, message.pFlags.unread)
|
||||||
|
|
||||||
if (historyStorage !== undefined) {
|
if (historyStorage !== undefined) {
|
||||||
var history = historyStorage.history
|
var history = historyStorage.history
|
||||||
@ -2821,6 +2823,8 @@ angular.module('myApp.services')
|
|||||||
var messageID, message
|
var messageID, message
|
||||||
var i
|
var i
|
||||||
|
|
||||||
|
// console.warn(dT(), 'read', peerID, isOut ? 'out' : 'in', maxID)
|
||||||
|
|
||||||
if (peerID > 0 && isOut) {
|
if (peerID > 0 && isOut) {
|
||||||
AppUsersManager.forceUserOnline(peerID)
|
AppUsersManager.forceUserOnline(peerID)
|
||||||
}
|
}
|
||||||
@ -2838,7 +2842,7 @@ angular.module('myApp.services')
|
|||||||
if (!message.pFlags.unread) {
|
if (!message.pFlags.unread) {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
// console.log('read', messageID, message.pFlags.unread, message)
|
// console.warn('read', messageID, message.pFlags.unread, message)
|
||||||
if (message && message.pFlags.unread) {
|
if (message && message.pFlags.unread) {
|
||||||
message.pFlags.unread = false
|
message.pFlags.unread = false
|
||||||
if (messagesForHistory[messageID]) {
|
if (messagesForHistory[messageID]) {
|
||||||
@ -2869,6 +2873,7 @@ angular.module('myApp.services')
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (newUnreadCount !== false) {
|
if (newUnreadCount !== false) {
|
||||||
|
// console.warn(dT(), 'cnt', peerID, newUnreadCount)
|
||||||
$rootScope.$broadcast('dialog_unread', {peerID: peerID, count: newUnreadCount})
|
$rootScope.$broadcast('dialog_unread', {peerID: peerID, count: newUnreadCount})
|
||||||
}
|
}
|
||||||
if (foundAffected) {
|
if (foundAffected) {
|
||||||
|
@ -2909,7 +2909,8 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function processUpdateMessage (updateMessage) {
|
function processUpdateMessage (updateMessage, fromMTProto) {
|
||||||
|
// return forceGetDifference()
|
||||||
var processOpts = {
|
var processOpts = {
|
||||||
date: updateMessage.date,
|
date: updateMessage.date,
|
||||||
seq: updateMessage.seq,
|
seq: updateMessage.seq,
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<div class="im_bot_intro_message" ng-bind-html="::historyMessage.action.rDescription"></div>
|
<div class="im_bot_intro_message" ng-bind-html="::historyMessage.action.rDescription"></div>
|
||||||
</div>
|
</div>
|
||||||
<div ng-switch-default class="im_service_message">
|
<div ng-switch-default class="im_service_message">
|
||||||
<a class="im_message_author" ng-if="::historyMessage.fromID > 0" my-peer-link="historyMessage.fromID" short="historyMessage.toID > 0" color="historyMessage.toID < 0" no-watch="true"></a>
|
<a class="im_message_author" ng-if="::historyMessage.fromID > 0" my-peer-link="historyMessage.fromID" short="historyMessage.peerID > 0" color="historyMessage.peerID < 0" no-watch="true"></a>
|
||||||
<span class="im_message_service" my-service-message></span>
|
<span class="im_message_service" my-service-message></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -44,7 +44,7 @@
|
|||||||
<div class="im_message_body" ng-class="::{im_message_body_media: historyMessage._ == 'message' && historyMessage.media ? true : false}">
|
<div class="im_message_body" ng-class="::{im_message_body_media: historyMessage._ == 'message' && historyMessage.media ? true : false}">
|
||||||
|
|
||||||
<span class="im_message_author_wrap">
|
<span class="im_message_author_wrap">
|
||||||
<span class="copyonly">[<span ng-bind="::historyMessage.date | time"></span>] </span><a class="im_message_author" my-peer-link="historyMessage.fromID" short="historyMessage.toID > 0" color="historyMessage.toID < 0" no-watch="true"></a><a ng-if="::historyMessage.viaBotID && !historyMessage.fwdFromID" class="im_message_author_via" ng-click="selectInlineBot(historyMessage.viaBotID, $event)"><span class="copyonly"> </span><span my-i18n="message_via_bot"><my-i18n-param name="bot"><span class="im_message_fwd_author" my-peer-link="historyMessage.viaBotID" username="true" no-watch="true"></span></my-i18n-param></span></a><span class="copyonly">:</span>
|
<span class="copyonly">[<span ng-bind="::historyMessage.date | time"></span>] </span><a class="im_message_author" my-peer-link="historyMessage.fromID" short="historyMessage.peerID > 0" color="historyMessage.peerID < 0" no-watch="true"></a><a ng-if="::historyMessage.viaBotID && !historyMessage.fwdFromID" class="im_message_author_via" ng-click="selectInlineBot(historyMessage.viaBotID, $event)"><span class="copyonly"> </span><span my-i18n="message_via_bot"><my-i18n-param name="bot"><span class="im_message_fwd_author" my-peer-link="historyMessage.viaBotID" username="true" no-watch="true"></span></my-i18n-param></span></a><span class="copyonly">:</span>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<div class="im_bot_intro_message" ng-bind-html="::historyMessage.action.rDescription"></div>
|
<div class="im_bot_intro_message" ng-bind-html="::historyMessage.action.rDescription"></div>
|
||||||
</div>
|
</div>
|
||||||
<div ng-switch-default class="im_service_message">
|
<div ng-switch-default class="im_service_message">
|
||||||
<a class="im_message_author" ng-if="::historyMessage.fromID > 0" my-peer-link="historyMessage.fromID" short="historyMessage.toID > 0" color="historyMessage.toID < 0" no-watch="true"></a>
|
<a class="im_message_author" ng-if="::historyMessage.fromID > 0" my-peer-link="historyMessage.fromID" short="historyMessage.peerID > 0" color="historyMessage.peerID < 0" no-watch="true"></a>
|
||||||
<span class="im_message_service" my-service-message></span>
|
<span class="im_message_service" my-service-message></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -43,7 +43,7 @@
|
|||||||
<div my-message-body="historyMessage">
|
<div my-message-body="historyMessage">
|
||||||
<div class="im_message_body" ng-class="::{im_message_body_media: historyMessage._ == 'message' && historyMessage.media && historyMessage.media._ != 'messageMediaWebPage' && !historyMessage.media.rCaption && !historyMessage.viaBotID ? true : false}">
|
<div class="im_message_body" ng-class="::{im_message_body_media: historyMessage._ == 'message' && historyMessage.media && historyMessage.media._ != 'messageMediaWebPage' && !historyMessage.media.rCaption && !historyMessage.viaBotID ? true : false}">
|
||||||
|
|
||||||
<a class="im_message_author" my-peer-link="historyMessage.fromID" short="historyMessage.toID > 0" color="historyMessage.toID < 0" no-watch="true"></a>
|
<a class="im_message_author" my-peer-link="historyMessage.fromID" short="historyMessage.peerID > 0" color="historyMessage.peerID < 0" no-watch="true"></a>
|
||||||
<a ng-if="::historyMessage.viaBotID && !historyMessage.fwdFromID" class="im_message_author_via" my-i18n="message_via_bot" ng-click="selectInlineBot(historyMessage.viaBotID, $event)"><my-i18n-param name="bot"><span class="im_message_fwd_author" my-peer-link="historyMessage.viaBotID" username="true" no-watch="true"></span></my-i18n-param></a>
|
<a ng-if="::historyMessage.viaBotID && !historyMessage.fwdFromID" class="im_message_author_via" my-i18n="message_via_bot" ng-click="selectInlineBot(historyMessage.viaBotID, $event)"><my-i18n-param name="bot"><span class="im_message_fwd_author" my-peer-link="historyMessage.viaBotID" username="true" no-watch="true"></span></my-i18n-param></a>
|
||||||
|
|
||||||
<a class="im_message_reply_wrap" my-reply-message="::historyMessage.reply_to_mid" ng-if="::historyMessage.reply_to_mid"></a>
|
<a class="im_message_reply_wrap" my-reply-message="::historyMessage.reply_to_mid" ng-if="::historyMessage.reply_to_mid"></a>
|
||||||
|
Loading…
Reference in New Issue
Block a user