Commit graph

321 commits

Author SHA1 Message Date
Blake McAnally
b011cbde42 Create dedicated data layer types for querying and updating CoreData 2024-07-10 16:03:38 -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
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