mirror of
https://github.com/meshtastic/Meshtastic-Apple.git
synced 2026-04-20 22:13:56 +00:00
Complete user onboarding flow: background activity, firmware version enforcement, security nag, and Siri shortcuts (#1654)
* Initial plan * Add Background Activity onboarding step, firmware version screens, and security nag Agent-Logs-Url: https://github.com/meshtastic/Meshtastic-Apple/sessions/449fe2d6-dec9-4509-920e-e6196ca11d65 Co-authored-by: garthvh <1795163+garthvh@users.noreply.github.com> * Address code review feedback: use @ObservedObject for LocationsHandler, fix firmware label Agent-Logs-Url: https://github.com/meshtastic/Meshtastic-Apple/sessions/449fe2d6-dec9-4509-920e-e6196ca11d65 Co-authored-by: garthvh <1795163+garthvh@users.noreply.github.com> * Improve readability of firmware version checks in Connect.swift Agent-Logs-Url: https://github.com/meshtastic/Meshtastic-Apple/sessions/449fe2d6-dec9-4509-920e-e6196ca11d65 Co-authored-by: garthvh <1795163+garthvh@users.noreply.github.com> * Add Siri onboarding step; fix @State→let in version sheets; fix .denied location flow Agent-Logs-Url: https://github.com/meshtastic/Meshtastic-Apple/sessions/654a5abf-8005-4995-974a-5f1f95dfa68a Co-authored-by: garthvh <1795163+garthvh@users.noreply.github.com> * Update protobufs package * Additional onboarding cleanup * Catalyst fixes --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: garthvh <1795163+garthvh@users.noreply.github.com> Co-authored-by: Garth Vander Houwen <garthvh@yahoo.com>
This commit is contained in:
parent
6d14a23998
commit
a5c825aaf0
13 changed files with 831 additions and 83 deletions
|
|
@ -307,6 +307,22 @@
|
|||
},
|
||||
"shouldTranslate" : false
|
||||
},
|
||||
"\"Disconnect Meshtastic\" — disconnect from the connected BLE node." : {
|
||||
"comment" : "A description of how to use the \"Disconnect Node\" Siri shortcut.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"\"Send a Meshtastic direct message\" — send a private message to a node." : {
|
||||
"comment" : "A description of how to send a direct message to a node using Siri.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"\"Send a Meshtastic group message\" — send a message to a mesh channel." : {
|
||||
"comment" : "A description of how to send a group message using Siri.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"\"Shut down my Meshtastic node\" or \"Restart my Meshtastic node\"." : {
|
||||
"comment" : "A description of how to use Siri to restart or shut down a node.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"(Re)define PIN_GPS_EN for your board." : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -2339,6 +2355,7 @@
|
|||
}
|
||||
},
|
||||
"🦕 End of life Version 🦖 ☄️" : {
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
"stringUnit" : {
|
||||
|
|
@ -4085,6 +4102,7 @@
|
|||
}
|
||||
},
|
||||
"Additional help" : {
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
"stringUnit" : {
|
||||
|
|
@ -4136,6 +4154,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Additional Help" : {
|
||||
"comment" : "A button that opens a link to the Meshtastic FAQ.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Address" : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -7014,6 +7036,14 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Background Activity" : {
|
||||
"comment" : "A title for a screen that describes the benefits of enabling background location tracking.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Background Mesh Tracking" : {
|
||||
"comment" : "A description of the background mesh tracking feature.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Backup" : {
|
||||
"localizations" : {
|
||||
"ja" : {
|
||||
|
|
@ -7723,6 +7753,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Battery Usage" : {
|
||||
"comment" : "A description of the battery usage of enabling background activity.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Baud" : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -9479,6 +9513,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"CarPlay Messaging" : {
|
||||
"comment" : "A description of how to send a message to a mesh channel using CarPlay.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Categories" : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -12465,6 +12503,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Configure Siri & Shortcuts" : {
|
||||
"comment" : "A button that will open the app's settings to configure Siri and Shortcuts.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Confirm" : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -12671,6 +12713,14 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Connect to nodes on your local Wi-Fi network." : {
|
||||
"comment" : "A description of how to connect to nodes on your local Wi-Fi network.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Connect to your Meshtastic node via Bluetooth Low Energy for the best messaging experience." : {
|
||||
"comment" : "A description of the Bluetooth connectivity feature.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Connected" : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -12753,6 +12803,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Connected firmware: **%@**" : {
|
||||
"comment" : "A label displaying the firmware version of a device. The argument is the firmware version.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Connected Node %@" : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -13239,6 +13293,14 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Continue" : {
|
||||
"comment" : "A button that will continue to the next step in the onboarding process.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Continuous Location Updates" : {
|
||||
"comment" : "A description of the continuous location updates feature.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Control Type" : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -14015,6 +14077,7 @@
|
|||
}
|
||||
},
|
||||
"Current Firmware Version: %@, Latest Firmware Version: %@" : {
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
"stringUnit" : {
|
||||
|
|
@ -14072,6 +14135,16 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Current Firmware Version: %@, Minimum Required Version: %@" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Current Firmware Version: %1$@, Minimum Required Version: %2$@"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Current: %lld" : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -18853,6 +18926,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Enable Background Activity" : {
|
||||
"comment" : "A toggle to enable or disable background activity.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Enable broadcasting device metrics to the mesh network. When disabled, metrics are only sent to connected clients." : {
|
||||
"localizations" : {
|
||||
"es" : {
|
||||
|
|
@ -19387,6 +19464,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Enabling background activity may increase battery usage. You can toggle this at any time in the app settings." : {
|
||||
"comment" : "A description of the battery usage of enabling background activity.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Enabling Ethernet will disable the bluetooth connection to the app." : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -22158,6 +22239,7 @@
|
|||
}
|
||||
},
|
||||
"Firmware update docs" : {
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
"stringUnit" : {
|
||||
|
|
@ -22209,6 +22291,14 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Firmware Update Docs" : {
|
||||
"comment" : "A link to the firmware update documentation.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Firmware Update Required" : {
|
||||
"comment" : "A title for a screen that displays a firmware update is required message.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Firmware Updates" : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -26233,6 +26323,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"How to Update" : {
|
||||
"comment" : "A label displayed above the list of available firmware update options.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"How to update Firmware" : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -28134,6 +28228,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Keep the mesh map updated and send your position to the mesh even while using other apps." : {
|
||||
"comment" : "A description of the benefits of continuous location updates.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Key" : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -31439,7 +31537,12 @@
|
|||
"comment" : "A description of the read-only mode feature in TAK Server.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Meshtastic does not collect any personal information. We do anonymously collect usage and crash data to improve the app." : {
|
||||
"comment" : "A description of how user data is used by Meshtastic.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Meshtastic does not collect any personal information. We do anonymously collect usage and crash data to improve the app. You can opt out under app settings." : {
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"es" : {
|
||||
"stringUnit" : {
|
||||
|
|
@ -31767,6 +31870,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Message Notifications" : {
|
||||
"comment" : "A description of the message notifications feature.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Message received from the text message app." : {
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
|
|
@ -32286,6 +32393,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Minimum required: **%@**" : {
|
||||
"comment" : "A label displaying the minimum required firmware version.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Minimum time between detection broadcasts" : {
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
|
|
@ -37046,6 +37157,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Open Web Flasher" : {
|
||||
"comment" : "A button that opens the Web Flasher app.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Optimized for 2 color displays" : {
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
|
|
@ -42037,6 +42152,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Read and reply to Meshtastic channel and direct messages directly from your car's display using CarPlay." : {
|
||||
"comment" : "A description of how to use CarPlay with Meshtastic.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Read-Only Mode" : {
|
||||
"comment" : "A toggle that allows the user to enable or disable read-only mode for the TAK server.",
|
||||
"isCommentAutoGenerated" : true
|
||||
|
|
@ -42344,6 +42463,14 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Receive notifications for incoming messages and critical alerts even when the app is in the background." : {
|
||||
"comment" : "A description of the notification feature.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Receive position updates from other nodes and maintain an accurate picture of the mesh while in the background." : {
|
||||
"comment" : "A description of the benefits of enabling background mesh tracking.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Received a negative acknowledgment" : {
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
|
|
@ -42613,6 +42740,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Recommended secure version: **%@**" : {
|
||||
"comment" : "A label displaying the recommended secure version of the connected device.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Recording route" : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -46664,6 +46795,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Security Advisory" : {
|
||||
"comment" : "A title for a security advisory displayed in a card.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Security Config" : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -46780,6 +46915,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Security Update Recommended" : {
|
||||
"comment" : "A title for a view that warns the user that their device is running an outdated firmware version.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Select" : {
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
|
|
@ -47733,6 +47872,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Send and receive Meshtastic messages hands-free using Siri and CarPlay." : {
|
||||
"comment" : "A description of how to use Siri and CarPlay with Meshtastic.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Send ASCII bell with alert message. Useful for triggering external notification on bell." : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -50796,6 +50939,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Shut Down / Restart Node" : {
|
||||
"comment" : "A Siri shortcut to restart or shut down a node.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Shut Down Node?" : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -51152,6 +51299,14 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Siri & CarPlay" : {
|
||||
"comment" : "A description of how to use Siri and CarPlay with Meshtastic.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Siri, Shortcuts & CarPlay" : {
|
||||
"comment" : "A label displayed above the Siri, Shortcuts & CarPlay onboarding view.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Six Hours" : {
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
|
|
@ -54143,7 +54298,12 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"The Meshtastic Apple app requires firmware version %@ or later. Older firmware versions are no longer supported and may have compatibility issues or missing features." : {
|
||||
"comment" : "A body text that explains that the app requires a certain version of the firmware.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"The Meshtastic Apple apps support firmware version %@ and above." : {
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
"stringUnit" : {
|
||||
|
|
@ -60283,6 +60443,7 @@
|
|||
}
|
||||
},
|
||||
"Version %@ includes substantial network optimizations and extensive changes to devices and client apps. Only nodes version %@ and above are supported." : {
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
"stringUnit" : {
|
||||
|
|
@ -61412,6 +61573,7 @@
|
|||
}
|
||||
},
|
||||
"Welcome to" : {
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"de" : {
|
||||
"stringUnit" : {
|
||||
|
|
@ -61439,6 +61601,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Welcome to Meshtastic" : {
|
||||
"comment" : "The title of the onboarding screen.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"What does the lock mean?" : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
@ -62645,6 +62811,10 @@
|
|||
"comment" : "A message displayed when a user successfully configures their primary channel for TAK. It instructs the user to share the QR code to invite TAK buddies.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Your connected device is running firmware older than **%@**, which contains known security vulnerabilities. Updating your firmware is strongly recommended to protect your device and mesh network." : {
|
||||
"comment" : "A body text that describes the security advisory.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Your current location will be set as the fixed position and broadcast over the mesh on the position interval." : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue