From 7c27918419bcef032f4c1fa0bd8014b95ac56484 Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Sun, 30 Mar 2025 17:25:41 -0700 Subject: [PATCH 1/5] Bump version --- Meshtastic.xcodeproj/project.pbxproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Meshtastic.xcodeproj/project.pbxproj b/Meshtastic.xcodeproj/project.pbxproj index 3156850d..e5e362e5 100644 --- a/Meshtastic.xcodeproj/project.pbxproj +++ b/Meshtastic.xcodeproj/project.pbxproj @@ -1845,7 +1845,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 2.5.21; + MARKETING_VERSION = 2.5.22; PRODUCT_BUNDLE_IDENTIFIER = gvh.MeshtasticClient; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTS_MACCATALYST = YES; @@ -1879,7 +1879,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 2.5.21; + MARKETING_VERSION = 2.5.22; PRODUCT_BUNDLE_IDENTIFIER = gvh.MeshtasticClient; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTS_MACCATALYST = YES; @@ -1911,7 +1911,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 2.5.21; + MARKETING_VERSION = 2.5.22; PRODUCT_BUNDLE_IDENTIFIER = gvh.MeshtasticClient.Widgets; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1944,7 +1944,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 2.5.21; + MARKETING_VERSION = 2.5.22; PRODUCT_BUNDLE_IDENTIFIER = gvh.MeshtasticClient.Widgets; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; From fe5fb276018c618210367233ecfa39b13f224f81 Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Sun, 30 Mar 2025 17:38:00 -0700 Subject: [PATCH 2/5] Supported badge updates --- Localizable.xcstrings | 6 ++++++ Meshtastic/Views/Nodes/Helpers/NodeInfoItem.swift | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Localizable.xcstrings b/Localizable.xcstrings index d3cc60ca..b18b2c18 100644 --- a/Localizable.xcstrings +++ b/Localizable.xcstrings @@ -4251,6 +4251,9 @@ } } } + }, + "Community Support" : { + }, "Config" : { "localizations" : { @@ -10673,6 +10676,9 @@ } } } + }, + "Full Support" : { + }, "gas" : { "extractionState" : "manual", diff --git a/Meshtastic/Views/Nodes/Helpers/NodeInfoItem.swift b/Meshtastic/Views/Nodes/Helpers/NodeInfoItem.swift index 9f3b8105..67ea1c10 100644 --- a/Meshtastic/Views/Nodes/Helpers/NodeInfoItem.swift +++ b/Meshtastic/Views/Nodes/Helpers/NodeInfoItem.swift @@ -22,12 +22,12 @@ struct NodeInfoItem: View { if user.hwModel != "UNSET" { VStack(alignment: .center) { Spacer() - Image(systemName: currentDevice?.activelySupported ?? false ? "checkmark.seal.fill" : "x.circle") + Image(systemName: currentDevice?.activelySupported ?? false ? "checkmark.seal.fill" : "xmark.seal") .resizable() .aspectRatio(contentMode: .fill) .frame(width: 75, height: 75) .foregroundStyle(currentDevice?.activelySupported ?? false ? .green : .red) - Text( currentDevice?.activelySupported ?? false ? "Supported" : "Unsupported") + Text( currentDevice?.activelySupported ?? false ? "Full Support" : "Community Support") .foregroundStyle(.gray) .font(.callout) } From 86621e4f5c6d7084dd64825a27dac7066f7e0ac2 Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Sun, 30 Mar 2025 17:41:43 -0700 Subject: [PATCH 3/5] seal.fix instead of xmark.seal --- Meshtastic/Views/Nodes/Helpers/NodeInfoItem.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Meshtastic/Views/Nodes/Helpers/NodeInfoItem.swift b/Meshtastic/Views/Nodes/Helpers/NodeInfoItem.swift index 67ea1c10..6a8f468a 100644 --- a/Meshtastic/Views/Nodes/Helpers/NodeInfoItem.swift +++ b/Meshtastic/Views/Nodes/Helpers/NodeInfoItem.swift @@ -22,7 +22,7 @@ struct NodeInfoItem: View { if user.hwModel != "UNSET" { VStack(alignment: .center) { Spacer() - Image(systemName: currentDevice?.activelySupported ?? false ? "checkmark.seal.fill" : "xmark.seal") + Image(systemName: currentDevice?.activelySupported ?? false ? "checkmark.seal.fill" : "seal.fill") .resizable() .aspectRatio(contentMode: .fill) .frame(width: 75, height: 75) From ed9f0fde916d497a4feee111ddc7af1694af844c Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Sun, 30 Mar 2025 18:11:55 -0700 Subject: [PATCH 4/5] Revert version to hotfix --- Meshtastic.xcodeproj/project.pbxproj | 8 ++++---- Meshtastic/Extensions/Date.swift | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Meshtastic.xcodeproj/project.pbxproj b/Meshtastic.xcodeproj/project.pbxproj index e5e362e5..3156850d 100644 --- a/Meshtastic.xcodeproj/project.pbxproj +++ b/Meshtastic.xcodeproj/project.pbxproj @@ -1845,7 +1845,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 2.5.22; + MARKETING_VERSION = 2.5.21; PRODUCT_BUNDLE_IDENTIFIER = gvh.MeshtasticClient; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTS_MACCATALYST = YES; @@ -1879,7 +1879,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 2.5.22; + MARKETING_VERSION = 2.5.21; PRODUCT_BUNDLE_IDENTIFIER = gvh.MeshtasticClient; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTS_MACCATALYST = YES; @@ -1911,7 +1911,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 2.5.22; + MARKETING_VERSION = 2.5.21; PRODUCT_BUNDLE_IDENTIFIER = gvh.MeshtasticClient.Widgets; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1944,7 +1944,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 2.5.22; + MARKETING_VERSION = 2.5.21; PRODUCT_BUNDLE_IDENTIFIER = gvh.MeshtasticClient.Widgets; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/Meshtastic/Extensions/Date.swift b/Meshtastic/Extensions/Date.swift index 2cbd37b3..f9acd014 100644 --- a/Meshtastic/Extensions/Date.swift +++ b/Meshtastic/Extensions/Date.swift @@ -20,7 +20,7 @@ extension Date { func formattedDate(format: String) -> String { let dateformat = DateFormatter() dateformat.dateFormat = format - if self.timeIntervalSince1970 > 0 && self < Calendar.current.date(byAdding: .day, value: 1, to: Date())! { + if self.timeIntervalSince1970 > 0 && self < Calendar.current.date(byAdding: .year, value: 5, to: Date())! { return dateformat.string(from: self) } else { return "unknown.age".localized From f1f0845aa2128a54090094d97b9423280c1802af Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Sun, 30 Mar 2025 18:13:03 -0700 Subject: [PATCH 5/5] Hotfix date formats --- Meshtastic/Extensions/Date.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Meshtastic/Extensions/Date.swift b/Meshtastic/Extensions/Date.swift index f9acd014..d8cdd30f 100644 --- a/Meshtastic/Extensions/Date.swift +++ b/Meshtastic/Extensions/Date.swift @@ -10,7 +10,7 @@ import Foundation extension Date { var lastHeard: String { - if self.timeIntervalSince1970 > 0 && self < Calendar.current.date(byAdding: .day, value: 1, to: Date())! { + if self.timeIntervalSince1970 > 0 && self < Calendar.current.date(byAdding: .year, value: 1, to: Date())! { formatted() } else { "unknown.age".localized @@ -20,7 +20,7 @@ extension Date { func formattedDate(format: String) -> String { let dateformat = DateFormatter() dateformat.dateFormat = format - if self.timeIntervalSince1970 > 0 && self < Calendar.current.date(byAdding: .year, value: 5, to: Date())! { + if self.timeIntervalSince1970 > 0 && self < Calendar.current.date(byAdding: .year, value: 1, to: Date())! { return dateformat.string(from: self) } else { return "unknown.age".localized