From edd14a8f418099adc4c5b1901a33b4e69f301d2e Mon Sep 17 00:00:00 2001 From: overtake Date: Mon, 13 Mar 2017 19:43:35 +0300 Subject: [PATCH] no message --- TelegramCore/Account.swift | 3 +++ TelegramCore/EnqueueMessage.swift | 9 ++++++++- TelegramCore/StoreMessage_Telegram.swift | 5 +++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/TelegramCore/Account.swift b/TelegramCore/Account.swift index e9f91b02f1..1313a58774 100644 --- a/TelegramCore/Account.swift +++ b/TelegramCore/Account.swift @@ -204,6 +204,7 @@ private var declaredEncodables: Void = { declareEncodable(GlobalNotificationSettings.self, f: { GlobalNotificationSettings(decoder: $0) }) declareEncodable(CloudChatRemoveChatOperation.self, f: { CloudChatRemoveChatOperation(decoder: $0) }) declareEncodable(SynchronizePinnedChatsOperation.self, f: { SynchronizePinnedChatsOperation(decoder: $0) }) + declareEncodable(SynchronizeConsumeMessageContentsOperation.self, f: { SynchronizeConsumeMessageContentsOperation(decoder: $0) }) declareEncodable(RecentMediaItem.self, f: { RecentMediaItem(decoder: $0) }) declareEncodable(RecentPeerItem.self, f: { RecentPeerItem(decoder: $0) }) declareEncodable(LoggedOutAccountAttribute.self, f: { LoggedOutAccountAttribute(decoder: $0) }) @@ -529,6 +530,8 @@ public class Account { self.managedOperationsDisposable.add(managedRecentGifs(postbox: self.postbox, network: self.network).start()) self.managedOperationsDisposable.add(managedRecentlyUsedInlineBots(postbox: self.postbox, network: self.network).start()) self.managedOperationsDisposable.add(managedLocalTypingActivities(activities: self.localInputActivityManager.allActivities(), postbox: self.postbox, network: self.network).start()) + self.managedOperationsDisposable.add(managedSynchronizeConsumeMessageContentOperations(postbox: self.postbox, network: self.network, stateManager : self.stateManager).start()) + let updatedPresence = self.shouldKeepOnlinePresence.get() |> distinctUntilChanged diff --git a/TelegramCore/EnqueueMessage.swift b/TelegramCore/EnqueueMessage.swift index b7c99926c8..6a6418fe47 100644 --- a/TelegramCore/EnqueueMessage.swift +++ b/TelegramCore/EnqueueMessage.swift @@ -189,7 +189,14 @@ func enqueueMessages(modifier: Modifier, account: Account, peerId: PeerId, messa } } - storeMessages.append(StoreMessage(peerId: peerId, namespace: Namespaces.Message.Local, globallyUniqueId: randomId, timestamp: timestamp, flags: flags, tags: tagsForStoreMessage(media: mediaList, textEntities: entitiesAttribute?.entities), forwardInfo: nil, authorId: account.peerId, text: text, attributes: attributes, media: mediaList)) + let authorId:PeerId? + if let peer = peer as? TelegramChannel, case let .broadcast(info) = peer.info, !info.flags.contains(.messagesShouldHaveSignatures) { + authorId = nil + } else { + authorId = account.peerId + } + + storeMessages.append(StoreMessage(peerId: peerId, namespace: Namespaces.Message.Local, globallyUniqueId: randomId, timestamp: timestamp, flags: flags, tags: tagsForStoreMessage(media: mediaList, textEntities: entitiesAttribute?.entities), forwardInfo: nil, authorId: authorId, text: text, attributes: attributes, media: mediaList)) case let .forward(source): if let sourceMessage = modifier.getMessage(source), let author = sourceMessage.author { if let peer = peer as? TelegramSecretChat { diff --git a/TelegramCore/StoreMessage_Telegram.swift b/TelegramCore/StoreMessage_Telegram.swift index 13df80c1a0..9eadbdf038 100644 --- a/TelegramCore/StoreMessage_Telegram.swift +++ b/TelegramCore/StoreMessage_Telegram.swift @@ -345,10 +345,11 @@ extension StoreMessage { } } - if let file = media as? TelegramMediaFile { + for case let file as TelegramMediaFile in medias { if peerId.namespace == Namespaces.Peer.CloudUser || peerId.namespace == Namespaces.Peer.CloudGroup { if file.isVoice { - attributes.append(ConsumableContentMessageAttribute(consumed: (flags & (1 << 5)) != 0)) + attributes.append(ConsumableContentMessageAttribute(consumed: (flags & (1 << 5)) == 0)) + break } } }