From 961e5ff392112134b3e4e0eb63f342cfd2b569b6 Mon Sep 17 00:00:00 2001 From: Aiden Vigue Date: Sat, 22 May 2021 18:58:14 -0400 Subject: [PATCH] Fix background threading issues Removes duplicate GlobalData structs Fixes authHeader being passed between thread handlers Moves async handlers in PlayerView to be user initiated Fixes duplicate navigationviews to limit mem usage. --- JellyfinPlayer/ConnectToServerView.swift | 4 ++-- JellyfinPlayer/ContentView.swift | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/JellyfinPlayer/ConnectToServerView.swift b/JellyfinPlayer/ConnectToServerView.swift index c797934c..35623bcd 100644 --- a/JellyfinPlayer/ConnectToServerView.swift +++ b/JellyfinPlayer/ConnectToServerView.swift @@ -153,14 +153,14 @@ struct ConnectToServerView: View { newUser.username = _username.wrappedValue newUser.user_id = json["User"]["Id"].string ?? "" - globalData.authHeader = authHeader - let keychain = KeychainSwift() keychain.set(json["AccessToken"].string ?? "", forKey: "AccessToken_\(json["User"]["Id"].string ?? "")") do { try viewContext.save() DispatchQueue.main.async { [self] in + globalData.authHeader = authHeader + _rootIsActive.wrappedValue = false jsi.did = true } } catch { diff --git a/JellyfinPlayer/ContentView.swift b/JellyfinPlayer/ContentView.swift index fd5d71f2..44bb8877 100644 --- a/JellyfinPlayer/ContentView.swift +++ b/JellyfinPlayer/ContentView.swift @@ -334,11 +334,11 @@ struct ContentView: View { if(needsToSelectServer) { NavigationView() { ConnectToServerView(isActive: $needsToSelectServer) - } + }.environmentObject(globalData) } else if(isSignInErrored) { NavigationView() { ConnectToServerView(skip_server: true, skip_server_prefill: globalData.server, reauth_deviceId: globalData.user?.device_uuid ?? "", isActive: $isSignInErrored) - } + }.environmentObject(globalData) } else { if(!jsi.did) { LoadingView(isShowing: $isLoading) {