Cherry-pick various improvements

This commit is contained in:
Ilya Laktyushin
2023-01-08 01:37:02 +04:00
parent bd974e8521
commit 415182b4d2
52 changed files with 1287 additions and 253 deletions

View File

@@ -353,8 +353,8 @@ public class ShareRootControllerImpl {
} |> runOn(Queue.mainQueue())
}
let sentItems: ([PeerId], [PreparedShareItemContent], Account, Bool) -> Signal<ShareControllerExternalStatus, NoError> = { peerIds, contents, account, silently in
let sentItems = sentShareItems(account: account, to: peerIds, items: contents, silently: silently)
let sentItems: ([PeerId], [PeerId: Int64], [PreparedShareItemContent], Account, Bool) -> Signal<ShareControllerExternalStatus, NoError> = { peerIds, threadIds, contents, account, silently in
let sentItems = sentShareItems(account: account, to: peerIds, threadIds: threadIds, items: contents, silently: silently)
|> `catch` { _ -> Signal<
Float, NoError> in
return .complete()
@@ -366,7 +366,7 @@ public class ShareRootControllerImpl {
|> then(.single(.done))
}
let shareController = ShareController(context: context, subject: .fromExternal({ peerIds, additionalText, account, silently in
let shareController = ShareController(context: context, subject: .fromExternal({ peerIds, threadIds, additionalText, account, silently in
if let strongSelf = self, let inputItems = strongSelf.getExtensionContext()?.inputItems, !inputItems.isEmpty, !peerIds.isEmpty {
let rawSignals = TGItemProviderSignals.itemSignals(forInputItems: inputItems)!
return preparedShareItems(account: account, to: peerIds[0], dataItems: rawSignals, additionalText: additionalText)
@@ -392,11 +392,11 @@ public class ShareRootControllerImpl {
return requestUserInteraction(value)
|> castError(ShareControllerError.self)
|> mapToSignal { contents -> Signal<ShareControllerExternalStatus, ShareControllerError> in
return sentItems(peerIds, contents, account, silently)
return sentItems(peerIds, threadIds, contents, account, silently)
|> castError(ShareControllerError.self)
}
case let .done(contents):
return sentItems(peerIds, contents, account, silently)
return sentItems(peerIds, threadIds, contents, account, silently)
|> castError(ShareControllerError.self)
}
}