Commit graph

242 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
Garth Vander Houwen
facd235cc9 Hook up first heard, don't ever show 54 years ago 2024-07-10 00:08:17 -07:00
Garth Vander Houwen
f6c1ca33fd truncate some ints that are crashing 2024-07-06 09:02:44 -07:00
Garth Vander Houwen
d5efb15aca Log updates 2024-06-29 11:05:29 -07:00
Blake McAnally
bc77834a86
Merge branch '2.3.12_Working_Changes' into fetch-request-api 2024-06-28 11:49:24 -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
Blake McAnally
a58c5d894b Refactor fetch requests to use the EntityName.fetchRequest() API to prevent unnecessary branching 2024-06-28 09:04:24 -05:00
Garth Vander Houwen
fc97247b8c Logging and linting 2024-06-23 16:11:02 -07:00
Garth Vander Houwen
1ac5bc9697 Update logs 2024-06-23 08:40:38 -07:00
Garth Vander Houwen
847892d45d Log categories 2024-06-03 02:17:55 -07:00
Garth Vander Houwen
82a8336e35 Additional swift lint fixes 2024-06-02 20:13:40 -07:00
Garth Vander Houwen
51929b3a35 Swiftlint fixes 2024-06-02 18:32:14 -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
0b855a08bf Check node num length before making a new node info or user core data object 2024-05-26 12:15:50 -07:00
Garth Vander Houwen
3046361dd0 Assorted changes 2024-05-24 18:15:53 -07:00
Garth Vander Houwen
a4c1fc4fe6 Remove up and downlink from QR codes
Open node details view from new node notification
Fix speed
Simple deep linking structure
2024-05-14 22:39:07 -07:00
Garth Vander Houwen
8bcf40f543 Deep Links
Updated position precision
2024-05-06 23:03:51 -07:00
Garth Vander Houwen
7f14f69dc3 Improve block range test packet logic 2024-05-01 11:38:34 -07:00
Garth Vander Houwen
60831f6e75 Mute channels 2024-04-30 11:09:04 -07:00
Garth Vander Houwen
5869a27369 Mute all channel message notifications 2024-04-26 18:06:23 -07:00
Garth Vander Houwen
81437d12bb uptime! 2024-04-15 19:32:36 -07:00
Garth Vander Houwen
59b9fa9581 Button to request updated device metadata for admin channels 2024-04-15 17:31:53 -07:00
Garth Vander Houwen
9d4a864ee3 Add Indoor Air Quality for BME680 Environment Metrics 2024-04-09 22:19:07 -07:00
Garth Vander Houwen
cb06af0b6c Bump version, add notification settings to settings bundle. 2024-04-09 22:04:37 -07:00
Garth Vander Houwen
e68734135b Add node num to text search 2024-04-02 07:00:07 -07:00
Garth Vander Houwen
457116657a Save favorite and hops away 2024-03-26 09:59:07 -07:00
Garth Vander Houwen
594ece35a5 Dont crash when you get emoji 2024-03-25 17:19:03 -07:00
Garth Vander Houwen
7eb6659c0c Move fetch requests to mapcontent 2024-03-25 15:21:38 -07:00
Garth Vander Houwen
554fe9a3ca Node distance filter for the mesh map 2024-03-24 22:23:55 -07:00
Garth Vander Houwen
02cca19f26 Assorted updates 2024-03-23 09:01:44 -07:00
Garth Vander Houwen
b22ca2db81 Hops away! 🐰 2024-03-02 16:38:59 -08:00
Garth Vander Houwen
0dcdca5e23 Fix messaging bug, fix bug where node would not create user 2024-02-29 21:26:17 -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
Garth Vander Houwen
9ee3df519c Pax Counter Config 2024-02-25 11:24:01 -08:00
Garth Vander Houwen
e462055ad7 Reduced precision map circles for the node map 2024-02-24 16:25:08 -08:00
Garth Vander Houwen
5a0f180acf Update protobufs, hook up precision 2024-02-24 14:11:03 -08:00
Garth Vander Houwen
3798cd43be Channel Location Precision mockup 2024-02-23 23:18:48 -08:00
Garth Vander Houwen
32fe4f1ca1 Hide esp32 sleep options 2024-02-23 08:00:34 -08:00
Austin Payne
a87d4fd3a6 feature: add power configuration 2024-02-21 00:07:17 -07:00
Garth Vander Houwen
79d5aab240 Stop clearing channels on each connect 2024-02-20 21:24:32 -08:00
Garth Vander Houwen
3c623d3441 Traceroute has position flag
Fix MQTT server port crash
Adjust device metrics grid colums
Fix some index issues in the channel editor
Clean up settings view, add duty cycle warning
2024-02-20 18:50:49 -08:00
Garth Vander Houwen
caef40addc Handle incoming store and forward messages 2024-02-13 14:21:49 -08:00
Garth Vander Houwen
d4ff24cb16 Add some padding to the share location button 2024-02-13 10:58:07 -08:00
Garth Vander Houwen
c23e18316d Store and Forward updates 2024-02-12 16:35:29 -08:00
Garth Vander Houwen
350ec121d7 Revert broken channel key validation
Remove block range test
Add notes that router role is not for mobile nodes
2024-01-28 09:36:19 -08:00
Garth Vander Houwen
bc3fc5e50c Add 48 as a GPIO pin 2024-01-22 13:21:17 -08:00
Garth Vander Houwen
e2872b34c9 Link to waypoint directly from new waypoint notification 2024-01-20 19:14:20 -08:00