Commit graph

62 commits

Author SHA1 Message Date
Garth Vander Houwen
d0e10ef330 Finish up the admin, make the admin dropdown a navigationlink so you can read the full long name 2024-09-05 19:31:29 -07:00
Garth Vander Houwen
c6298f785c Standardize onAppear for settings that support admin messages 2024-08-11 09:07:22 -07:00
Garth Vander Houwen
233518ebbf
Merge branch 'main' into app-routing 2024-07-17 09:15:46 -07:00
Ben Meadors
5d59500d45 30 2024-07-16 11:28:55 -05:00
Ben Meadors
59f3e719d9 Update default intervals 2024-07-16 11:27:58 -05:00
Blake McAnally
fbf059be6a Refactor BLEManager.context setting on all the views, and just do that at the app root instead 2024-07-15 15:57:44 -05:00
Blake McAnally
58da532d32 Extract the generated protobufs into its own Swift package
This change modifies the process for generating and integrating the Meshtastic protobufs into the client application.

* The generated Swift code is now in a local SPM package `MeshtasticProtobufs`
* An Xcode Workspace file `Meshtastic.xcworkspace` was created to more easily manage the new build targets.
* The code generation script for the protos was modified to generate the Swift code into the new location.
* The README.md was updated to reflect these changes.

NOTE: After merging this PR, do not open the project file `Meshtastic.xcodeproj`. You must use the workspace `Meshtastic.xcworkspace`

Extracting out the generated protobuf code into its own library enables several opportunities for the project. This is just a first step, but with some more modularization, a standalone Apple Watch app or other targets starts to become a little bit more achievable to implement.

After extracting the protobufs into a Swift package, I validate these changes by building and running the Meshtastic app to an iPhone 15 Pro Max, and tried changing some settings on a local node. I then messaged back and forth using two local nodes connected to two different iOS devices.
2024-06-28 11:11:01 -05:00
Garth Vander Houwen
847892d45d Log categories 2024-06-03 02:17:55 -07:00
Blake McAnally
4c7cd0d923 Adopt OSLog for logging and replace the majority of calls to print() 2024-06-01 11:30:29 -05:00
Blake McAnally
4d547e48db This change fixes several lint errors throughout the project, and moves the SwiftLint build phase to before compilation.
After this change, a developer can now clone the project and run without the build failing due to lint errors! 😃

* I ran `swiftlint --fix` to resolve many auto-correctable issues (mostly whitespace)
* Excluded the `Meshtastic/Protobufs` directory from lint, since that code is automatically generated.
* Converted some single letter method parameters to lowercase.
* Converted several instances `force_cast` to instead use `guard` or `if let` to unwrap optional values. During this change, some of the SwiftUI views became "too complex to be solved in a reasonable time", so I broke up the views into distinct sub-expressions.

I was able to build and run the app on an iOS simulator.
2024-05-31 21:48:50 -05:00
Garth Vander Houwen
d5f5d70364 Start work to fix the broken node map view
Tidy up suggested mqtt topics
2024-03-14 18:58:05 -07:00
Garth Vander Houwen
d84f2ad91a Add power telemetry config. 2024-03-14 00:04:35 -07:00
Garth Vander Houwen
ed1214891b Add new protobufs, update all the config layouts 2024-02-21 23:35:28 -08:00
Austin Payne
0daf9185e7 refactor: add SaveConfigButton view for settings 2024-02-21 00:07:17 -07:00
Austin Payne
c3cede2d76 refactor: add ConfigHeader view for settings 2024-02-21 00:07:17 -07:00
Garth Vander Houwen
52af088d8c Bump version, fix mqtt port bug, make connected node details smaller on all the settings views, clean up text on position config view 2024-02-19 21:39:53 -08:00
Garth Vander Houwen
61768bee9b Consistent checks for context 2024-01-14 11:25:00 -08:00
Garth Vander Houwen
126cdfbdb3 Settings rework - new async location handler 2023-12-06 12:32:17 -08:00
Garth Vander Houwen
b6cfd07000 Question everything 2023-09-02 17:37:35 -07:00
Garth Vander Houwen
3b76207247 Improved localization helper for strings 2023-05-05 09:27:24 -07:00
Garth Vander Houwen
9059ceba55 Fix real time loading of all remote admin view 2023-03-19 18:37:23 -07:00
Garth Vander Houwen
93006b258d Swift Lint 2023-03-14 12:44:10 -07:00
Garth Vander Houwen
e0f1e243a6 fix dumb disabled logic on telemetry config 2023-03-13 19:27:36 -07:00
Garth Vander Houwen
b336307a22 ACK!
Admin message status content if you have an admin channel
2023-03-13 19:17:43 -07:00
Garth Vander Houwen
fdade220de SwiftLint Whitespace fixes 2023-03-06 10:33:18 -08:00
Garth Vander Houwen
4006de8696 Prevent some crashes 2023-03-05 14:40:07 -08:00
Garth Vander Houwen
dba7889666 Cleanup Client tracking mode some 2023-02-22 20:31:08 -08:00
Garth Vander Houwen
af90966900 Fix getNodeInfo method that was the source of nil nodes 2023-02-06 18:45:03 -08:00
Garth Vander Houwen
f7b45797a8 Handle a few crashes 2023-02-03 10:15:11 -08:00
Garth Vander Houwen
3e779217d5 Pass admin channel index properly to most admin messages 2023-02-03 07:29:12 -08:00
Garth Vander Houwen
f89f5eddd0 Add a couple more modules to the admin config 2023-01-31 23:52:19 -08:00
Garth Vander Houwen
cd0fdec368 localize save config string 2023-01-09 18:34:43 -08:00
Garth Vander Houwen
59be21e38c More localization 2022-12-30 13:18:02 -08:00
Garth Vander Houwen
76e7eef10c Localize config save confirm 2022-12-30 11:08:59 -08:00
Garth Vander Houwen
eedbef57fb * More strings
* Add duty cycle error
* Don't log local telemetry in the mesh log
2022-12-13 17:47:23 -08:00
Garth Vander Houwen
5da522b911 More strings 2022-12-13 08:47:14 -08:00
Garth Vander Houwen
fc0e1daa7d More strings 2022-12-12 22:33:06 -08:00
Garth Vander Houwen
0892214bcd Start of localization 2022-12-12 20:35:38 -08:00
Garth Vander Houwen
c7a9883808 Go back to settings view after saving from a config view
Allow setting of a fixed ble pin
Fix bug that did not show devices to connect to after some failed connections
2022-12-09 18:19:00 -08:00
Garth Vander Houwen
861d824183 Navigation Stack view cleanup 2022-11-29 22:28:52 -08:00
Garth Vander Houwen
02629572ea Remove initial load bools 2022-11-12 08:48:01 -08:00
Garth Vander Houwen
2d24d68203 Update list of sensors, add all enum values for HarewareModel 2022-11-11 09:07:14 -08:00
Garth Vander Houwen
e095e053a5 Fix all the module confirmation dialogs 2022-10-04 18:19:02 -07:00
Garth Vander Houwen
840e5ed2e3 Merge branch 'main' 2022-09-27 22:23:36 -07:00
Garth Vander Houwen
27a90c4dc4 Fix assorted nulls 2022-09-27 22:18:50 -07:00
Garth Vander Houwen
c586a5cbd2 Dismiss keyboards 2022-09-15 12:34:10 -07:00
Garth Vander Houwen
98e7afb0a2 More defaults cleanup 2022-09-10 22:31:01 -07:00
Garth Vander Houwen
9c1de1cf58 fix enums with default of zero 2022-09-10 18:27:44 -07:00
Garth Vander Houwen
56da04827a New protos and assorted bug fixes 2022-08-11 23:34:09 -07:00
Garth Vander Houwen
4759da2c37 Add some text explaining sensor I2C detection 2022-08-01 07:25:39 -07:00