Fix translation

This commit is contained in:
Ilya Laktyushin 2025-05-06 15:26:36 +04:00
parent b9aa229182
commit e788bb7801

View File

@ -76,10 +76,14 @@ public struct ChatTranslationState: Codable {
}
private func cachedChatTranslationState(engine: TelegramEngine, peerId: EnginePeer.Id, threadId: Int64?) -> Signal<ChatTranslationState?, NoError> {
let key = EngineDataBuffer(length: 8)
key.setInt64(0, value: peerId.id._internalGetInt64Value())
let key: EngineDataBuffer
if let threadId {
key = EngineDataBuffer(length: 16)
key.setInt64(0, value: peerId.id._internalGetInt64Value())
key.setInt64(8, value: threadId)
} else {
key = EngineDataBuffer(length: 8)
key.setInt64(0, value: peerId.id._internalGetInt64Value())
}
return engine.data.subscribe(TelegramEngine.EngineData.Item.ItemCache.Item(collectionId: ApplicationSpecificItemCacheCollectionId.translationState, id: key))
@ -89,10 +93,14 @@ private func cachedChatTranslationState(engine: TelegramEngine, peerId: EnginePe
}
private func updateChatTranslationState(engine: TelegramEngine, peerId: EnginePeer.Id, threadId: Int64?, state: ChatTranslationState?) -> Signal<Never, NoError> {
let key = EngineDataBuffer(length: 8)
key.setInt64(0, value: peerId.id._internalGetInt64Value())
let key: EngineDataBuffer
if let threadId {
key = EngineDataBuffer(length: 16)
key.setInt64(0, value: peerId.id._internalGetInt64Value())
key.setInt64(8, value: threadId)
} else {
key = EngineDataBuffer(length: 8)
key.setInt64(0, value: peerId.id._internalGetInt64Value())
}
if let state {
@ -103,10 +111,14 @@ private func updateChatTranslationState(engine: TelegramEngine, peerId: EnginePe
}
public func updateChatTranslationStateInteractively(engine: TelegramEngine, peerId: EnginePeer.Id, threadId: Int64?, _ f: @escaping (ChatTranslationState?) -> ChatTranslationState?) -> Signal<Never, NoError> {
let key = EngineDataBuffer(length: 8)
key.setInt64(0, value: peerId.id._internalGetInt64Value())
let key: EngineDataBuffer
if let threadId {
key = EngineDataBuffer(length: 16)
key.setInt64(0, value: peerId.id._internalGetInt64Value())
key.setInt64(8, value: threadId)
} else {
key = EngineDataBuffer(length: 8)
key.setInt64(0, value: peerId.id._internalGetInt64Value())
}
return engine.data.get(TelegramEngine.EngineData.Item.ItemCache.Item(collectionId: ApplicationSpecificItemCacheCollectionId.translationState, id: key))