Commit graph

74 commits

Author SHA1 Message Date
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
5869a27369 Mute all channel message notifications 2024-04-26 18:06:23 -07:00
Garth Vander Houwen
7a06a0dbba Merge remote-tracking branch 'refs/remotes/origin/2.3.4_Working_Changes' 2024-04-05 17:14:19 -07:00
Garth Vander Houwen
b5e621df89 Show mqtt errors for the client proxy 2024-04-05 17:14:04 -07:00
Garth Vander Houwen
b050e39a45
Merge pull request #583 from daviesgeek/update-mqtt-status-icons
Better mqtt status icons, including up/down icons
2024-04-04 17:52:36 -07:00
Garth Vander Houwen
aa08f2ff33 Drop the last character for string length validation, bump version 2024-04-04 09:39:03 -07:00
Matthew Davies
3219ab6982
Better mqtt status icons, including up/down icons 2024-04-03 14:52:41 -07:00
Matthew Davies
9aa0a2c7a5
Add mqtt status in mqtt config settings screen 2024-03-29 15:19:06 -07:00
Garth Vander Houwen
0c112e2a55 Online only filter 2024-03-26 14:57:00 -07:00
Garth Vander Houwen
5cd2b3342b Mqtt config updates 2024-03-26 13:26:23 -07:00
Garth Vander Houwen
496451c15c Add node filters 2024-03-26 07:54:16 -07:00
Garth Vander Houwen
d768eb64e9 Dont allow json and the client proxy, max position request of 300 for the mesh map 2024-03-24 22:31:47 -07: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
5d7693b40d New mqtt root size 2024-03-13 20:47:18 -07:00
Garth Vander Houwen
50add85292 Tighten up node list
Add m to dBm on lora config
New reverse geocoded nearby mqtt topics
2024-03-13 05:52:31 -07:00
Garth Vander Houwen
ed1214891b Add new protobufs, update all the config layouts 2024-02-21 23:35:28 -08:00
Garth Vander Houwen
07768d98cd
Merge pull request #511 from Austinpayne/feature/power-config
feature: add power configuration
2024-02-21 18:12:20 -08:00
Garth Vander Houwen
dd1c1522b5 Handle duty cycle of 0 for UNSET region 2024-02-21 17:42:46 -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
0758aaea56 Clean up the node list 2024-02-14 21:43:29 -08:00
Garth Vander Houwen
69e61cac53 Warn that using MQTT with a duty cycle is the end of your mesh 2024-02-06 09:13:57 -08:00
Garth Vander Houwen
e0073ebdc8 Solid lines for routes 2024-01-20 22:49:55 -08:00
Garth Vander Houwen
8cce8e9774 Add toggle to connect and disconnect from the mqtt server when client proxy is enabled. 2024-01-20 21:25:02 -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
60b805faf8 Update lorconfig to include override frequency 2023-10-25 18:54:52 -07:00
Garth Vander Houwen
d07da6298b New smaller style for node history pins 2023-10-03 08:41:44 -07:00
Garth Vander Houwen
b6cfd07000 Question everything 2023-09-02 17:37:35 -07:00
Garth Vander Houwen
a990d7f2bd Lint 2023-08-26 23:17:30 -07:00
Garth Vander Houwen
8fe3197928 Fix up default picker values 2023-08-17 17:00:20 -07:00
Garth Vander Houwen
ddad4d49ce Remove ESP32 range test restriction
Clean up buttons
Remove min app version field
2023-08-14 14:41:26 -07:00
Garth Vander Houwen
8f3d3998ea localize 2023-08-10 10:27:54 -07:00
Garth Vander Houwen
9963a7b1ed Bump to right version for client proxy feature 2023-08-06 17:50:01 -07:00
Garth Vander Houwen
1356ebea14 More MQTT updates 2023-08-06 17:41:46 -07:00
Garth Vander Houwen
3b76207247 Improved localization helper for strings 2023-05-05 09:27:24 -07:00
Garth Vander Houwen
1935308da2 MQTT config updates 2023-05-04 21:49:35 -07:00
Garth Vander Houwen
93ffd8c72d Fix username on mqtt config save
Set mqtt.address character limit to 62
2023-03-24 10:35:54 -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
6b7fb1a693 Fix Display, MQTT and Network admin metadata calls 2023-03-19 08:31:16 -07:00
Garth Vander Houwen
93006b258d Swift Lint 2023-03-14 12:44:10 -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