mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-03 13:13:55 +00:00
no message
This commit is contained in:
parent
5431b6dbdc
commit
d8a8f02331
@ -123,7 +123,7 @@ func applyUpdateMessage(postbox: Postbox, stateManager: AccountStateManager, mes
|
||||
}
|
||||
}
|
||||
|
||||
let (tags, globalTags) = tagsForStoreMessage(incoming: currentMessage.flags.contains(.Incoming), media: media, textEntities: entitiesAttribute?.entities)
|
||||
let (tags, globalTags) = tagsForStoreMessage(incoming: currentMessage.flags.contains(.Incoming), attributes: attributes, media: media, textEntities: entitiesAttribute?.entities)
|
||||
|
||||
return .update(StoreMessage(id: updatedId, globallyUniqueId: nil, timestamp: updatedTimestamp ?? currentMessage.timestamp, flags: [], tags: tags, globalTags: globalTags, forwardInfo: storeForwardInfo, authorId: currentMessage.author?.id, text: text, attributes: attributes, media: media))
|
||||
})
|
||||
|
||||
@ -211,7 +211,7 @@ func enqueueMessages(modifier: Modifier, account: Account, peerId: PeerId, messa
|
||||
authorId = account.peerId
|
||||
}
|
||||
|
||||
let (tags, globalTags) = tagsForStoreMessage(incoming: false, media: mediaList, textEntities: entitiesAttribute?.entities)
|
||||
let (tags, globalTags) = tagsForStoreMessage(incoming: false, attributes: attributes, media: mediaList, textEntities: entitiesAttribute?.entities)
|
||||
|
||||
storeMessages.append(StoreMessage(peerId: peerId, namespace: Namespaces.Message.Local, globallyUniqueId: randomId, timestamp: timestamp, flags: flags, tags: tags, globalTags: globalTags, forwardInfo: nil, authorId: authorId, text: text, attributes: attributes, media: mediaList))
|
||||
case let .forward(source):
|
||||
@ -257,7 +257,7 @@ func enqueueMessages(modifier: Modifier, account: Account, peerId: PeerId, messa
|
||||
}
|
||||
}
|
||||
|
||||
let (tags, globalTags) = tagsForStoreMessage(incoming: false, media: sourceMessage.media, textEntities: entitiesAttribute?.entities)
|
||||
let (tags, globalTags) = tagsForStoreMessage(incoming: false, attributes: attributes, media: sourceMessage.media, textEntities: entitiesAttribute?.entities)
|
||||
|
||||
storeMessages.append(StoreMessage(peerId: peerId, namespace: Namespaces.Message.Local, globallyUniqueId: randomId, timestamp: timestamp, flags: flags, tags: tags, globalTags: globalTags, forwardInfo: forwardInfo, authorId: account.peerId, text: sourceMessage.text, attributes: attributes, media: sourceMessage.media))
|
||||
}
|
||||
|
||||
@ -532,7 +532,7 @@ private func parseMessage(peerId: PeerId, authorId: PeerId, tagLocalIndex: Int32
|
||||
}
|
||||
}
|
||||
|
||||
let (tags, globalTags) = tagsForStoreMessage(incoming: true, media: parsedMedia, textEntities: entitiesAttribute?.entities)
|
||||
let (tags, globalTags) = tagsForStoreMessage(incoming: true, attributes: attributes, media: parsedMedia, textEntities: entitiesAttribute?.entities)
|
||||
|
||||
return (StoreMessage(id: MessageId(peerId: peerId, namespace: Namespaces.Message.SecretIncoming, id: tagLocalIndex), globallyUniqueId: randomId, timestamp: timestamp, flags: [.Incoming], tags: tags, globalTags: globalTags, forwardInfo: nil, authorId: authorId, text: text, attributes: attributes, media: parsedMedia), resources)
|
||||
case let .decryptedMessageService(randomId, action):
|
||||
|
||||
@ -5,12 +5,24 @@ import Foundation
|
||||
import Postbox
|
||||
#endif
|
||||
|
||||
public func tagsForStoreMessage(incoming: Bool, media: [Media], textEntities: [MessageTextEntity]?) -> (MessageTags, GlobalMessageTags) {
|
||||
public func tagsForStoreMessage(incoming: Bool, attributes: [MessageAttribute], media: [Media], textEntities: [MessageTextEntity]?) -> (MessageTags, GlobalMessageTags) {
|
||||
var isSecret = false
|
||||
for attribute in attributes {
|
||||
if let timerAttribute = attribute as? AutoremoveTimeoutMessageAttribute {
|
||||
if timerAttribute.timeout > 0 && timerAttribute.timeout <= 60 {
|
||||
isSecret = true
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
var tags = MessageTags()
|
||||
var globalTags = GlobalMessageTags()
|
||||
for attachment in media {
|
||||
if let _ = attachment as? TelegramMediaImage {
|
||||
tags.insert(.PhotoOrVideo)
|
||||
if !isSecret {
|
||||
tags.insert(.PhotoOrVideo)
|
||||
}
|
||||
} else if let file = attachment as? TelegramMediaFile {
|
||||
var refinedTag: MessageTags? = .File
|
||||
inner: for attribute in file.attributes {
|
||||
@ -19,7 +31,11 @@ public func tagsForStoreMessage(incoming: Bool, media: [Media], textEntities: [M
|
||||
if flags.contains(.instantRoundVideo) {
|
||||
refinedTag = .VoiceOrInstantVideo
|
||||
} else {
|
||||
refinedTag = .PhotoOrVideo
|
||||
if !isSecret {
|
||||
refinedTag = .PhotoOrVideo
|
||||
} else {
|
||||
refinedTag = nil
|
||||
}
|
||||
}
|
||||
break inner
|
||||
case let .Audio(isVoice, _, _, _, _):
|
||||
@ -471,7 +487,7 @@ extension StoreMessage {
|
||||
attributes.append(NotificationInfoMessageAttribute(flags: notificationFlags))
|
||||
}
|
||||
|
||||
let (tags, globalTags) = tagsForStoreMessage(incoming: storeFlags.contains(.Incoming), media: medias, textEntities: entitiesAttribute?.entities)
|
||||
let (tags, globalTags) = tagsForStoreMessage(incoming: storeFlags.contains(.Incoming), attributes: attributes, media: medias, textEntities: entitiesAttribute?.entities)
|
||||
|
||||
self.init(id: MessageId(peerId: peerId, namespace: Namespaces.Message.Cloud, id: id), globallyUniqueId: nil, timestamp: date, flags: storeFlags, tags: tags, globalTags: globalTags, forwardInfo: forwardInfo, authorId: authorId, text: messageText, attributes: attributes, media: medias)
|
||||
case .messageEmpty:
|
||||
@ -529,7 +545,7 @@ extension StoreMessage {
|
||||
media.append(action)
|
||||
}
|
||||
|
||||
let (tags, globalTags) = tagsForStoreMessage(incoming: storeFlags.contains(.Incoming), media: media, textEntities: nil)
|
||||
let (tags, globalTags) = tagsForStoreMessage(incoming: storeFlags.contains(.Incoming), attributes: attributes, media: media, textEntities: nil)
|
||||
|
||||
self.init(id: MessageId(peerId: peerId, namespace: Namespaces.Message.Cloud, id: id), globallyUniqueId: nil, timestamp: date, flags: storeFlags, tags: tags, globalTags: globalTags, forwardInfo: nil, authorId: authorId, text: "", attributes: attributes, media: media)
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user