mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 06:35:51 +00:00
no message
This commit is contained in:
@@ -57,7 +57,7 @@ public extension Message {
|
||||
case _ as TelegramMediaImage:
|
||||
return true
|
||||
case let file as TelegramMediaFile:
|
||||
if file.isVideo {
|
||||
if file.isVideo || file.isAnimated || file.isVoice {
|
||||
return true
|
||||
}
|
||||
default:
|
||||
|
||||
@@ -7,9 +7,17 @@ import Foundation
|
||||
import SwiftSignalKit
|
||||
#endif
|
||||
|
||||
public func topPeerActiveLiveLocationMessages(viewTracker: AccountViewTracker, peerId: PeerId) -> Signal<[Message], NoError> {
|
||||
return viewTracker.aroundMessageHistoryViewForLocation(.peer(peerId), index: .upperBound, anchorIndex: .upperBound, count: 100, fixedCombinedReadStates: nil, tagMask: .liveLocation, orderStatistics: [])
|
||||
|> map { (view, _, _) -> [Message] in
|
||||
public func topPeerActiveLiveLocationMessages(viewTracker: AccountViewTracker, accountPeerId: PeerId, peerId: PeerId) -> Signal<(Peer?, [Message]), NoError> {
|
||||
return viewTracker.aroundMessageHistoryViewForLocation(.peer(peerId), index: .upperBound, anchorIndex: .upperBound, count: 100, fixedCombinedReadStates: nil, tagMask: .liveLocation, orderStatistics: [], additionalData: [.peer(accountPeerId)])
|
||||
|> map { (view, _, _) -> (Peer?, [Message]) in
|
||||
var accountPeer: Peer?
|
||||
for entry in view.additionalData {
|
||||
if case let .peer(id, peer) = entry {
|
||||
accountPeer = peer
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
let timestamp = Int32(CFAbsoluteTimeGetCurrent() + kCFAbsoluteTimeIntervalSince1970)
|
||||
var result: [Message] = []
|
||||
for entry in view.entries {
|
||||
@@ -25,6 +33,6 @@ public func topPeerActiveLiveLocationMessages(viewTracker: AccountViewTracker, p
|
||||
}
|
||||
}
|
||||
}
|
||||
return result
|
||||
return (accountPeer, result)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -141,6 +141,14 @@ public final class PendingMessageManager {
|
||||
updateUploadingPeerIds.insert(id.peerId)
|
||||
context.sendDisposable.dispose()
|
||||
context.uploadDisposable.dispose()
|
||||
|
||||
if context.status != nil {
|
||||
context.status = nil
|
||||
for subscriber in context.statusSubscribers.copyItems() {
|
||||
subscriber(nil)
|
||||
}
|
||||
}
|
||||
|
||||
if context.statusSubscribers.isEmpty {
|
||||
self.messageContexts.removeValue(forKey: id)
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ public enum RequestEditMessageResult {
|
||||
|
||||
public enum RequestEditMessageError {
|
||||
case generic
|
||||
case restricted
|
||||
}
|
||||
|
||||
public func requestEditMessage(account: Account, messageId: MessageId, text: String, media: RequestEditMessageMedia, entities: TextEntitiesMessageAttribute? = nil, disableUrlPreview: Bool = false) -> Signal<RequestEditMessageResult, RequestEditMessageError> {
|
||||
@@ -125,7 +126,10 @@ public func requestEditMessage(account: Account, messageId: MessageId, text: Str
|
||||
return .fail(error)
|
||||
}
|
||||
}
|
||||
|> mapError { _ -> RequestEditMessageError in
|
||||
|> mapError { error -> RequestEditMessageError in
|
||||
if error.errorDescription.hasPrefix("CHAT_SEND_") && error.errorDescription.hasSuffix("_FORBIDDEN") {
|
||||
return .restricted
|
||||
}
|
||||
return .generic
|
||||
}
|
||||
|> mapToSignal { result -> Signal<RequestEditMessageResult, RequestEditMessageError> in
|
||||
|
||||
Reference in New Issue
Block a user