diff --git a/Meshtastic/Views/Settings/Config/DeviceConfig.swift b/Meshtastic/Views/Settings/Config/DeviceConfig.swift index cc4ee5ec..68596dab 100644 --- a/Meshtastic/Views/Settings/Config/DeviceConfig.swift +++ b/Meshtastic/Views/Settings/Config/DeviceConfig.swift @@ -90,7 +90,7 @@ struct DeviceConfig: View { VStack(alignment: .leading) { HStack { Label("Time Zone", systemImage: "clock.badge.exclamationmark") - TextField("Time Zone", text: $tzdef) + TextField("Time Zone", text: $tzdef, axis: .vertical) .foregroundColor(.gray) .onChange(of: tzdef, perform: { _ in let totalBytes = tzdef.utf8.count @@ -100,6 +100,7 @@ struct DeviceConfig: View { } }) .foregroundColor(.gray) + } .keyboardType(.default) .disableAutocorrection(true) diff --git a/Meshtastic/Views/Settings/FirmwareApi.swift b/Meshtastic/Views/Settings/FirmwareApi.swift index fe9b5128..e4de909c 100644 --- a/Meshtastic/Views/Settings/FirmwareApi.swift +++ b/Meshtastic/Views/Settings/FirmwareApi.swift @@ -58,6 +58,15 @@ class Api : ObservableObject{ DispatchQueue.main.async { completion(deviceHardware) } + + if let data = data { + if let deviceHardware = try? JSONDecoder().decode([DeviceHardware].self, from: data) { + DispatchQueue.main.async { + completion(deviceHardware) + } + return + } + } }.resume() } @@ -67,9 +76,13 @@ class Api : ObservableObject{ return } URLSession.shared.dataTask(with: url) { data, response, error in - let firmwareReleases = try! JSONDecoder().decode(FirmwareReleases.self, from: data!) - DispatchQueue.main.async { - completion(firmwareReleases) + if let data = data { + if let firmwareReleases = try? JSONDecoder().decode(FirmwareReleases.self, from: data) { + DispatchQueue.main.async { + completion(firmwareReleases) + } + return + } } }.resume() }