From 2a8685a420211e4d524eddef8179a88568c1c6af Mon Sep 17 00:00:00 2001 From: Ethan Pippin Date: Thu, 1 Sep 2022 22:55:13 -0600 Subject: [PATCH] ignore object replacement character (#550) --- Shared/Extensions/StringExtensions.swift | 4 ++++ Shared/ViewModels/ConnectToServerViewModel.swift | 14 ++++---------- Shared/ViewModels/UserSignInViewModel.swift | 5 +++++ 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/Shared/Extensions/StringExtensions.swift b/Shared/Extensions/StringExtensions.swift index 800cb713..20acad28 100644 --- a/Shared/Extensions/StringExtensions.swift +++ b/Shared/Extensions/StringExtensions.swift @@ -55,3 +55,7 @@ extension String { return textSize.width } } + +public extension CharacterSet { + static var objectReplacement: CharacterSet = .init(charactersIn: "\u{fffc}") +} diff --git a/Shared/ViewModels/ConnectToServerViewModel.swift b/Shared/ViewModels/ConnectToServerViewModel.swift index 2b606748..50cc670c 100644 --- a/Shared/ViewModels/ConnectToServerViewModel.swift +++ b/Shared/ViewModels/ConnectToServerViewModel.swift @@ -46,17 +46,11 @@ final class ConnectToServerViewModel: ViewModel { func connectToServer(uri: String, redirectCount: Int = 0) { - #if targetEnvironment(simulator) - var uri = uri - if uri == "http://localhost" || uri == "localhost" { - uri = "http://localhost:8096" - } - #endif + let uri = uri.trimmingCharacters(in: .whitespacesAndNewlines) + .trimmingCharacters(in: .objectReplacement) - let trimmedURI = uri.trimmingCharacters(in: .whitespaces) - - LogManager.log.debug("Attempting to connect to server at \"\(trimmedURI)\"", tag: "connectToServer") - SessionManager.main.connectToServer(with: trimmedURI) + LogManager.log.debug("Attempting to connect to server at \"\(uri)\"", tag: "connectToServer") + SessionManager.main.connectToServer(with: uri) .trackActivity(loading) .sink(receiveCompletion: { completion in // This is disgusting. ViewModel Error handling overall needs to be refactored diff --git a/Shared/ViewModels/UserSignInViewModel.swift b/Shared/ViewModels/UserSignInViewModel.swift index 5c927ddc..0591e040 100644 --- a/Shared/ViewModels/UserSignInViewModel.swift +++ b/Shared/ViewModels/UserSignInViewModel.swift @@ -48,6 +48,11 @@ final class UserSignInViewModel: ViewModel { func signIn(username: String, password: String) { LogManager.log.debug("Attempting to login to server at \"\(server.currentURI)\"", tag: "login") + let username = username.trimmingCharacters(in: .whitespacesAndNewlines) + .trimmingCharacters(in: .objectReplacement) + let password = password.trimmingCharacters(in: .whitespacesAndNewlines) + .trimmingCharacters(in: .objectReplacement) + SessionManager.main.signInUser(server: server, username: username, password: password) .trackActivity(loading) .sink { completion in