Skip to content

Commit e788bb7

Browse files
committed
Fix translation
1 parent b9aa229 commit e788bb7

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

submodules/TranslateUI/Sources/ChatTranslation.swift

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,14 @@ public struct ChatTranslationState: Codable {
7676
}
7777

7878
private func cachedChatTranslationState(engine: TelegramEngine, peerId: EnginePeer.Id, threadId: Int64?) -> Signal<ChatTranslationState?, NoError> {
79-
let key = EngineDataBuffer(length: 8)
80-
key.setInt64(0, value: peerId.id._internalGetInt64Value())
79+
let key: EngineDataBuffer
8180
if let threadId {
81+
key = EngineDataBuffer(length: 16)
82+
key.setInt64(0, value: peerId.id._internalGetInt64Value())
8283
key.setInt64(8, value: threadId)
84+
} else {
85+
key = EngineDataBuffer(length: 8)
86+
key.setInt64(0, value: peerId.id._internalGetInt64Value())
8387
}
8488

8589
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
8993
}
9094

9195
private func updateChatTranslationState(engine: TelegramEngine, peerId: EnginePeer.Id, threadId: Int64?, state: ChatTranslationState?) -> Signal<Never, NoError> {
92-
let key = EngineDataBuffer(length: 8)
93-
key.setInt64(0, value: peerId.id._internalGetInt64Value())
96+
let key: EngineDataBuffer
9497
if let threadId {
98+
key = EngineDataBuffer(length: 16)
99+
key.setInt64(0, value: peerId.id._internalGetInt64Value())
95100
key.setInt64(8, value: threadId)
101+
} else {
102+
key = EngineDataBuffer(length: 8)
103+
key.setInt64(0, value: peerId.id._internalGetInt64Value())
96104
}
97105

98106
if let state {
@@ -103,10 +111,14 @@ private func updateChatTranslationState(engine: TelegramEngine, peerId: EnginePe
103111
}
104112

105113
public func updateChatTranslationStateInteractively(engine: TelegramEngine, peerId: EnginePeer.Id, threadId: Int64?, _ f: @escaping (ChatTranslationState?) -> ChatTranslationState?) -> Signal<Never, NoError> {
106-
let key = EngineDataBuffer(length: 8)
107-
key.setInt64(0, value: peerId.id._internalGetInt64Value())
114+
let key: EngineDataBuffer
108115
if let threadId {
116+
key = EngineDataBuffer(length: 16)
117+
key.setInt64(0, value: peerId.id._internalGetInt64Value())
109118
key.setInt64(8, value: threadId)
119+
} else {
120+
key = EngineDataBuffer(length: 8)
121+
key.setInt64(0, value: peerId.id._internalGetInt64Value())
110122
}
111123

112124
return engine.data.get(TelegramEngine.EngineData.Item.ItemCache.Item(collectionId: ApplicationSpecificItemCacheCollectionId.translationState, id: key))

0 commit comments

Comments
 (0)