Expose draft updates to iOS bridge

This commit is contained in:
Mikhail Kilin
2026-05-21 00:33:05 +03:00
parent 892582df67
commit 3e67e0d1b8
6 changed files with 48 additions and 0 deletions

View File

@@ -18,6 +18,7 @@ public protocol SessionBridge: Sendable {
func react(chatId: Int64, messageId: Int64, reaction: String) async throws -> [Reaction]
func pinnedMessages(chatId: Int64) async throws -> [Message]
func copyPayload(chatId: Int64, messageId: Int64) async throws -> String
func setDraft(chatId: Int64, text: String) async throws
func downloadPhoto(fileId: Int32) async throws -> DownloadedFile
func downloadVoice(fileId: Int32) async throws -> DownloadedFile
}
@@ -204,6 +205,14 @@ public actor FakeSessionBridge: SessionBridge {
return message.text
}
public func setDraft(chatId: Int64, text: String) async throws {
let draft = Draft(chatId: chatId, text: text)
if let index = chats.firstIndex(where: { $0.id == chatId }) {
chats[index].draft = text.isEmpty ? nil : draft
}
events.append(.draftChanged(draft))
}
public func downloadPhoto(fileId: Int32) async throws -> DownloadedFile {
DownloadedFile(fileId: fileId, path: "/tmp/fake-photo-\(fileId).jpg")
}