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 {
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)
|> deliverOnMainQueue).start(next: { (peers, _) in
for case let peer as TelegramUser in peers {
@ -334,7 +341,7 @@ func openResolvedUrlImpl(_ resolvedUrl: ResolvedUrl, context: AccountContext, ur
break
}
}
})
})*/
}
} else {
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 {
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 {
for queryItem in queryItems {
if let value = queryItem.value {