Memory management issues

This commit is contained in:
Ali
2023-09-21 00:12:53 +02:00
parent 5799d7a2d9
commit 62765b241d
123 changed files with 1291 additions and 1332 deletions

View File

@@ -93,7 +93,7 @@ public final class TelegramRootController: NavigationController, TelegramRootCon
super.init(mode: .automaticMasterDetail, theme: NavigationControllerTheme(presentationTheme: self.presentationData.theme))
self.presentationDataDisposable = (context.sharedContext.presentationData
|> deliverOnMainQueue).start(next: { [weak self] presentationData in
|> deliverOnMainQueue).startStrict(next: { [weak self] presentationData in
if let strongSelf = self {
strongSelf.detailsPlaceholderNode?.updatePresentationData(presentationData)
@@ -109,12 +109,12 @@ public final class TelegramRootController: NavigationController, TelegramRootCon
if context.sharedContext.applicationBindings.isMainApp {
self.applicationInFocusDisposable = (context.sharedContext.applicationBindings.applicationIsActive
|> distinctUntilChanged
|> deliverOn(Queue.mainQueue())).start(next: { value in
|> deliverOn(Queue.mainQueue())).startStrict(next: { value in
context.sharedContext.mainWindow?.setForceBadgeHidden(!value)
})
self.storyUploadEventsDisposable = (context.engine.messages.allStoriesUploadEvents()
|> deliverOnMainQueue).start(next: { [weak self] event in
|> deliverOnMainQueue).startStrict(next: { [weak self] event in
guard let self else {
return
}
@@ -395,7 +395,7 @@ public final class TelegramRootController: NavigationController, TelegramRootCon
storyTarget = target
let _ = (self.context.engine.data.get(TelegramEngine.EngineData.Item.Peer.Peer(id: targetPeerId))
|> deliverOnMainQueue).start(next: { [weak self] peer in
|> deliverOnMainQueue).startStandalone(next: { [weak self] peer in
guard let self, let peer else {
return
}
@@ -437,7 +437,7 @@ public final class TelegramRootController: NavigationController, TelegramRootCon
|> filter { $0 }
|> take(1)
|> timeout(isPeerArchived ? 0.5 : 0.25, queue: .mainQueue(), alternate: .single(true))
|> deliverOnMainQueue).start(completed: { [weak chatListController] in
|> deliverOnMainQueue).startStandalone(completed: { [weak chatListController] in
guard let chatListController else {
return
}
@@ -461,7 +461,7 @@ public final class TelegramRootController: NavigationController, TelegramRootCon
let entities = generateChatInputTextEntities(caption)
Logger.shared.log("MediaEditor", "Calling uploadStory for image, randomId \(randomId)")
let _ = (context.engine.messages.uploadStory(target: target, media: .image(dimensions: dimensions, data: imageData, stickers: stickers), mediaAreas: mediaAreas, text: caption.string, entities: entities, pin: options.pin, privacy: options.privacy, isForwardingDisabled: options.isForwardingDisabled, period: options.timeout, randomId: randomId)
|> deliverOnMainQueue).start(next: { stableId in
|> deliverOnMainQueue).startStandalone(next: { stableId in
moveStorySource(engine: context.engine, peerId: context.account.peerId, from: randomId, to: Int64(stableId))
})
@@ -495,7 +495,7 @@ public final class TelegramRootController: NavigationController, TelegramRootCon
Logger.shared.log("MediaEditor", "Calling uploadStory for video, randomId \(randomId)")
let entities = generateChatInputTextEntities(caption)
let _ = (context.engine.messages.uploadStory(target: target, media: .video(dimensions: dimensions, duration: duration, resource: resource, firstFrameFile: firstFrameFile, stickers: stickers), mediaAreas: mediaAreas, text: caption.string, entities: entities, pin: options.pin, privacy: options.privacy, isForwardingDisabled: options.isForwardingDisabled, period: options.timeout, randomId: randomId)
|> deliverOnMainQueue).start(next: { stableId in
|> deliverOnMainQueue).startStandalone(next: { stableId in
moveStorySource(engine: context.engine, peerId: context.account.peerId, from: randomId, to: Int64(stableId))
})