From a348c9a63afd524c3e4385c80f8c357748662ef6 Mon Sep 17 00:00:00 2001 From: Seiike <122684677+Seeike@users.noreply.github.com> Date: Sun, 8 Jun 2025 20:05:09 +0200 Subject: [PATCH] boom shakalaka (#160) * now if the user leaves mediainfoview on chunk 51-100 it will remember it and put him back the next time same with seasons * fixed memory leak from urldelegate --------- Co-authored-by: cranci <100066266+cranci1@users.noreply.github.com> --- Sora/Utils/Extensions/JavaScriptCore+Extensions.swift | 6 +++++- Sora/Utils/Extensions/URLSession.swift | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Sora/Utils/Extensions/JavaScriptCore+Extensions.swift b/Sora/Utils/Extensions/JavaScriptCore+Extensions.swift index f5113dc..419434a 100644 --- a/Sora/Utils/Extensions/JavaScriptCore+Extensions.swift +++ b/Sora/Utils/Extensions/JavaScriptCore+Extensions.swift @@ -111,7 +111,11 @@ extension JSContext { } } Logger.shared.log("Redirect value is \(redirect.boolValue)", type: "Error") - let task = URLSession.fetchData(allowRedirects: redirect.boolValue).downloadTask(with: request) { tempFileURL, response, error in + let session = URLSession.fetchData(allowRedirects: redirect.boolValue) + + let task = session.downloadTask(with: request) { tempFileURL, response, error in + defer { session.finishTasksAndInvalidate() } + let callReject: (String) -> Void = { message in DispatchQueue.main.async { reject.call(withArguments: [message]) diff --git a/Sora/Utils/Extensions/URLSession.swift b/Sora/Utils/Extensions/URLSession.swift index b712ec1..629117a 100644 --- a/Sora/Utils/Extensions/URLSession.swift +++ b/Sora/Utils/Extensions/URLSession.swift @@ -9,9 +9,12 @@ import Foundation class FetchDelegate: NSObject, URLSessionTaskDelegate { private let allowRedirects: Bool + init(allowRedirects: Bool) { self.allowRedirects = allowRedirects } + deinit { Logger.shared.log("FetchDelegate deallocated", type: "Debug") + } func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse, newRequest request: URLRequest, completionHandler: @escaping (URLRequest?) -> Void) { if(allowRedirects) {