Various fixes

This commit is contained in:
Ilya Laktyushin
2023-09-14 18:16:51 +04:00
parent a288c543f2
commit ab0faf8073
9 changed files with 49 additions and 28 deletions

View File

@@ -494,6 +494,7 @@ public func parseInternalUrl(query: String) -> ParsedInternalUrl? {
} else if pathComponents.count == 2 && pathComponents[0] == "c" {
if let channelId = Int64(pathComponents[1]) {
var threadId: Int32?
var boost: Bool = false
if let queryItems = components.queryItems {
for queryItem in queryItems {
if let value = queryItem.value {
@@ -502,12 +503,19 @@ public func parseInternalUrl(query: String) -> ParsedInternalUrl? {
threadId = intValue
}
}
} else {
if queryItem.name == "boost" {
boost = true
}
}
}
}
if let threadId = threadId {
return .peer(.id(PeerId(namespace: Namespaces.Peer.CloudChannel, id: PeerId.Id._internalFromInt64Value(channelId))), .replyThread(threadId, threadId))
let peerId = PeerId(namespace: Namespaces.Peer.CloudChannel, id: PeerId.Id._internalFromInt64Value(channelId))
if boost {
return .peer(.id(peerId), .boost)
} else if let threadId = threadId {
return .peer(.id(peerId), .replyThread(threadId, threadId))
} else {
return nil
}