Commit graph

320 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
fc97247b8c Logging and linting 2024-06-23 16:11:02 -07:00
Garth Vander Houwen
d6f5c77b1a position config 2024-06-23 14:40:28 -07:00
Garth Vander Houwen
6930d87275 Add device logging config, update protobufs 2024-06-23 07:36:03 -07:00
Garth Vander Houwen
847892d45d Log categories 2024-06-03 02:17:55 -07:00
Garth Vander Houwen
6c1e28d94a Core data updates 2024-06-02 09:45:56 -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
Garth Vander Houwen
fe82f1c3df
Merge branch '2.3.10_Working_Changes' into main 2024-06-01 07:30:50 -07:00
Garth Vander Houwen
7341d0b32a Fix nag timeout dropdown
Fix up circle text view
2024-05-31 20:25:37 -07: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
8e07453afd Hid fixed postion checkbox if managing a node over the admin channel 2024-05-11 10:50:58 -07:00
Garth Vander Houwen
08ea85d717 Re order gps mode toggle
add additional position precision options
Updated fixed postion text
2024-05-04 16:03:38 -07:00
Garth Vander Houwen
a27ab21101 Remove extra log 2024-05-04 14:46:42 -07:00
Garth Vander Houwen
cd0ee611eb Remove positions when removing fixed position 2024-05-04 14:27:31 -07:00
Garth Vander Houwen
016a3b748f Clean up fixed position logging 2024-05-04 13:57:35 -07:00
Garth Vander Houwen
da75837bdc Set Timezone properly on load
break device name if it is too long
2024-05-04 13:02:47 -07:00
Garth Vander Houwen
52c5adb7ec Merge changes 2024-05-01 19:39:32 -07:00
Garth Vander Houwen
5869a27369 Mute all channel message notifications 2024-04-26 18:06:23 -07:00
Garth Vander Houwen
d780f103ad Set provide location default to 30 seconds
Don't delete routes unless doing a factory reset
Close route recorder modal when finished
2024-04-21 20:36:29 -07:00
Garth Vander Houwen
5299e75f60 Compact mqtt popover 2024-04-11 19:30:05 -07:00
Garth Vander Houwen
110c9dad4a Multiline timezone field
handle nil in firmware web methods
2024-04-09 13:04:09 -07:00
Garth Vander Houwen
8156777fea Timezone 2024-04-08 11:41:54 -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
3bd5c9c003
Merge pull request #571 from ChDel/2.3.2_Working_Changes
Fixing UserDefault wrapper crashing with enums
2024-03-27 16:30:27 -07:00
Garth Vander Houwen
7c022813a2 Fixed position updates 2024-03-27 16:06:24 -07:00
Christophe Delhaze
1aa5d21226
Merge branch 'meshtastic:2.3.2_Working_Changes' into 2.3.2_Working_Changes 2024-03-27 15:11:24 -07:00
Garth Vander Houwen
1c9d9b65b5 Hook up ui for new fixed position set and remove admin messages. 2024-03-26 23:36:11 -07:00
ChDel
1354427bfe Fixing UserDefault wrapper crashing with enums 2024-03-26 16:45:32 -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
7eb6659c0c Move fetch requests to mapcontent 2024-03-25 15:21:38 -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
e4284d9741 Zero hops, defaults for node info broadcast 2024-03-17 09:07:11 -07:00
Garth Vander Houwen
8d6aa9e88b stop device role save crash 2024-03-15 14:29:50 -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
d84f2ad91a Add power telemetry config. 2024-03-14 00:04:35 -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
08de61ee71 Node list updates 2024-03-09 23:37:00 -08:00
Garth Vander Houwen
7ecba4cabe Disable debug log and serial output if managed mode is on 2024-03-09 20:56:40 -08:00
Garth Vander Houwen
cce30cd9f7 Fix logs for pax counter 2024-02-27 12:24:50 -08:00
Garth Vander Houwen
d3d16e206e Release Cleanup
Add back block range test functionaitly, hook it up to the device range test settings.
Delete messages when deleting a channel
Make pax counter clear work properly
2024-02-27 11:26:26 -08:00
Garth Vander Houwen
505e1128ed Complete pax counter log 2024-02-25 21:40:25 -08:00
Garth Vander Houwen
003b6dbf18 Handle pax packet 2024-02-25 15:32:01 -08:00