Resolve phone numbers in msg links

This commit is contained in:
Ali 2023-04-11 23:10:49 +04:00
parent c206824fee
commit a0e9f2bbe4
2 changed files with 25 additions and 2 deletions

View File

@ -324,7 +324,14 @@ func openResolvedUrlImpl(_ resolvedUrl: ResolvedUrl, context: AccountContext, ur
} }
}) })
} else { } else {
let query = to.trimmingCharacters(in: CharacterSet(charactersIn: "0123456789").inverted) let _ = (context.engine.peers.resolvePeerByPhone(phone: to)
|> deliverOnMainQueue).start(next: { peer in
if let peer = peer {
context.sharedContext.applicationBindings.dismissNativeController()
continueWithPeer(peer.id)
}
})
/*let query = to.trimmingCharacters(in: CharacterSet(charactersIn: "0123456789").inverted)
let _ = (context.account.postbox.searchContacts(query: query) let _ = (context.account.postbox.searchContacts(query: query)
|> deliverOnMainQueue).start(next: { (peers, _) in |> deliverOnMainQueue).start(next: { (peers, _) in
for case let peer as TelegramUser in peers { for case let peer as TelegramUser in peers {
@ -334,7 +341,7 @@ func openResolvedUrlImpl(_ resolvedUrl: ResolvedUrl, context: AccountContext, ur
break break
} }
} }
}) })*/
} }
} else { } else {
if let url = url, !url.isEmpty { if let url = url, !url.isEmpty {

View File

@ -194,6 +194,22 @@ public func parseInternalUrl(query: String) -> ParsedInternalUrl? {
if let phone = phone, let hash = hash { if let phone = phone, let hash = hash {
return .cancelAccountReset(phone: phone, hash: hash) return .cancelAccountReset(phone: phone, hash: hash)
} }
} else if peerName == "msg" {
var url: String?
var text: String?
var to: String?
for queryItem in queryItems {
if let value = queryItem.value {
if queryItem.name == "url" {
url = value
} else if queryItem.name == "text" {
text = value
} else if queryItem.name == "to" {
to = value
}
}
}
return .share(url: url, text: text, to: to)
} else { } else {
for queryItem in queryItems { for queryItem in queryItems {
if let value = queryItem.value { if let value = queryItem.value {