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.
This commit is contained in:
Aiden Vigue 2021-05-22 18:58:14 -04:00
parent 4c6e157411
commit 961e5ff392
2 changed files with 4 additions and 4 deletions

View File

@ -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 {

View File

@ -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) {