Commit graph

108 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
512f6b8c9e assorted backup fixes 2024-06-26 15:12:24 -07:00
Garth Vander Houwen
a4546247a9 Clean up logs with privacy 2024-06-23 18:25:22 -07:00
Garth Vander Houwen
b73b3864ea Delete admin message list 2024-06-23 12:25:08 -07:00
Garth Vander Houwen
d456a7a6e6 translation strings for log headers, add device log setting to save 2024-06-23 08:23:05 -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
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
3911703f81 Bump version, add incomplete user icon 2024-05-29 12:52:35 -07: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
3aefd67d06 Check for last postion before sending phone location 2024-05-26 10:37:22 -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
61c4b23d49 Remove unnessary old hop count logic 2024-05-10 12:14:08 -07:00
Garth Vander Houwen
8bcf40f543 Deep Links
Updated position precision
2024-05-06 23:03:51 -07:00
Garth Vander Houwen
a3a5c4084b Try and fix a nil context crash, created shareed ble manager 2024-05-04 08:20:53 -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
benjaminfaershtein
102bbf521e Added New Node Notification setting and notification 2024-04-09 16:59:34 -07:00
Garth Vander Houwen
8156777fea Timezone 2024-04-08 11:41:54 -07:00
Garth Vander Houwen
d64acccc3e Remove VIP, clean up add channel method 2024-04-01 10:51:06 -07:00
Garth Vander Houwen
5cd2b3342b Mqtt config updates 2024-03-26 13:26:23 -07:00
Garth Vander Houwen
457116657a Save favorite and hops away 2024-03-26 09:59:07 -07:00
Garth Vander Houwen
02cca19f26 Assorted updates 2024-03-23 09:01:44 -07:00
Garth Vander Houwen
550add228c Move node map into map content view
Dont change channel for node infos directed at other nodes
2024-03-14 23:05:05 -07:00
Garth Vander Houwen
d84f2ad91a Add power telemetry config. 2024-03-14 00:04:35 -07:00
Garth Vander Houwen
2ba208fa8e Bump version and protos 2024-03-09 20:07:12 -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
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
9ee3df519c Pax Counter Config 2024-02-25 11:24:01 -08:00
Garth Vander Houwen
5d9b25b0aa Polish up the reduced position accuracy 2024-02-25 00:36:03 -08:00
Garth Vander Houwen
e462055ad7 Reduced precision map circles for the node map 2024-02-24 16:25:08 -08:00
Austin Payne
a87d4fd3a6 feature: add power configuration 2024-02-21 00:07:17 -07:00
Garth Vander Houwen
a89490097f Add Singapore
Update store and forward logic
2024-02-10 17:21:31 -08:00
Garth Vander Houwen
029a820f76 Bump version, fix client hidden crash 2024-02-07 15:42:20 -08:00
Garth Vander Houwen
4d420a8008 Save GPS state 2024-02-06 11:11:03 -08:00
Garth Vander Houwen
b0272e0578 Via MQTT 2024-02-05 23:48:23 -08:00
Garth Vander Houwen
c3f4923531 Add via mqtt, does not seem to be working with the client proxy 2024-02-05 23:02:33 -08:00
Garth Vander Houwen
96d6987b10
Merge pull request #475 from Austinpayne/fix/offline-map-option
fix: offline map type option getting out of sync
2024-02-05 22:51:09 -07:00
Roger Pettett
2bb0a7342b
Update UpdateCoreData.swift 2024-01-31 15:04:33 +00:00
Garth Vander Houwen
1bec0dae66 Add ignoremqtt to mqttconfig upsert method 2024-01-26 17:42:13 -08:00
Garth Vander Houwen
7302dc3e35 Localize route recorder buttons
Actually record data with the route recorder
Add version number to about view
Make speed faster
2023-12-25 20:26:50 -08:00
Garth Vander Houwen
0dbc426c50 Set default GPS interval values 2023-12-22 19:08:32 -08:00
Garth Vander Houwen
668fe30806 Use locationshandler for GPS data on ios17 2023-12-22 06:31:27 -08:00
Garth Vander Houwen
a60228d119 Put GPS setting in the right place 2023-12-21 11:31:40 -08:00
Garth Vander Houwen
4eb18f66b8 Add useI2cAsBuzzer setting 2023-12-20 10:24:01 -08:00
Garth Vander Houwen
67900bfa51 Remove GPS Update interval
Remove GPS Attempt Time options
Don't show positions with empty times in the elevation graph
Hook up ambient lighitng config
2023-11-28 20:03:08 -08:00
Garth Vander Houwen
906d22c350 Update some intervals, throw out the last postion log if the latest one is < 10 meters away. 2023-11-26 17:50:10 -08:00