From 6a030345d0b48b90b228e0e77c8c0160a6db72bf Mon Sep 17 00:00:00 2001 From: Ilya Laktyushin Date: Fri, 14 Nov 2025 16:45:48 +0400 Subject: [PATCH] Save privacy on live stream start --- .../CameraScreen/Sources/CameraScreen.swift | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/submodules/TelegramUI/Components/CameraScreen/Sources/CameraScreen.swift b/submodules/TelegramUI/Components/CameraScreen/Sources/CameraScreen.swift index fa74ccd343..4f265f9d87 100644 --- a/submodules/TelegramUI/Components/CameraScreen/Sources/CameraScreen.swift +++ b/submodules/TelegramUI/Components/CameraScreen/Sources/CameraScreen.swift @@ -1125,10 +1125,12 @@ private final class CameraScreenComponent: CombinedComponent { controller.updateCameraState({ $0.updatedIsWaitingForStream(true) }, transition: .spring(duration: 0.4)) + let privacy = self.privacy + let isForwardingDisabled = self.isForwardingDisabled let _ = (self.context.engine.messages.beginStoryLivestream( peerId: peerId, rtmp: rtmp, - privacy: self.privacy, + privacy: privacy, isForwardingDisabled: self.isForwardingDisabled, messagesEnabled: self.allowComments, sendPaidMessageStars: self.paidMessageStars @@ -1142,6 +1144,21 @@ private final class CameraScreenComponent: CombinedComponent { controller?.updateCameraState({ $0.updatedIsStreaming(rtmp ? .rtmp : .camera).updatedIsWaitingForStream(false) }, transition: .spring(duration: 0.4)) self.updated(transition: .immediate) }) + + let _ = updateMediaEditorStoredStateInteractively(engine: self.context.engine, { current in + if let current { + let updatedPrivacy: MediaEditorResultPrivacy + if let current = current.privacy { + updatedPrivacy = MediaEditorResultPrivacy(sendAsPeerId: peerId, privacy: privacy, timeout: current.timeout, isForwardingDisabled: isForwardingDisabled, pin: current.pin, folderIds: current.folderIds) + } else { + updatedPrivacy = MediaEditorResultPrivacy(sendAsPeerId: peerId, privacy: privacy, timeout: 86400, isForwardingDisabled: isForwardingDisabled, pin: false, folderIds: []) + } + return current.withUpdatedPrivacy(updatedPrivacy) + } else { + let privacy = MediaEditorResultPrivacy(sendAsPeerId: peerId, privacy: privacy, timeout: 86400, isForwardingDisabled: isForwardingDisabled, pin: false, folderIds: []) + return MediaEditorStoredState(privacy: privacy, textSettings: nil) + } + }).start() } let _ = (self.context.engine.messages.storySubscriptions(isHidden: false)