Commit graph

99 commits

Author SHA1 Message Date
Garth Vander Houwen
a4d5aefca3 Bossy linter 2024-10-05 15:50:57 -07:00
Garth Vander Houwen
d3a7de2f76 Seperate apps settings and data clearing, update logic for online nodes text 2024-08-25 23:02:43 -07:00
Garth Vander Houwen
53d15a4a33 Dont show acks for received messages 2024-08-23 20:25:58 -07:00
Garth Vander Houwen
55c90a815c Add some text for the new admin channel settings, show missing ack text 2024-08-23 19:49:06 -07:00
Garth Vander Houwen
f7c26f896f New scroll methods 2024-08-23 19:28:13 -07:00
Garth Vander Houwen
39c31980b5 Fix channel ack bug 2024-08-20 18:50:28 -07:00
Garth Vander Houwen
59a104d9e9 ack! 2024-08-14 14:11:08 -07:00
Blake McAnally
fbf059be6a Refactor BLEManager.context setting on all the views, and just do that at the app root instead 2024-07-15 15:57:44 -05:00
Blake McAnally
3a746af27e Refactor the apps routing structure to enable app-wide navigation through a Router to improve how deep link URLs are handled 2024-07-15 15:57:42 -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
df87fb538d log updates 2024-06-24 07:24:24 -07: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
c6965b28ce Remove power values from environment metrics add a little space to the user info in channel messages 2024-04-27 18:55:51 -07:00
Garth Vander Houwen
5869a27369 Mute all channel message notifications 2024-04-26 18:06:23 -07:00
Garth Vander Houwen
a17c90a657 Remove the bang 2024-04-26 15:49:38 -07:00
Garth Vander Houwen
940026b1eb Show long name and userid in group messages, above the message like imessage. 2024-04-26 15:35:08 -07:00
Matthew Davies
70d4c6043e
Fix bug where MQTT was showing connected even if down/up was not enabled 2024-04-06 16:02:25 -07:00
Matthew Davies
3219ab6982
Better mqtt status icons, including up/down icons 2024-04-03 14:52:41 -07:00
Matthew Davies
769a35c485
Add mqtt status icon in channels with uplink/downlink enabled 2024-03-29 15:04:00 -07:00
Austin Payne
a16c6be659 fix: channel message retry not updating ack state 2024-02-21 00:29:26 -07:00
Austin Payne
9efdd568d8 fix: don't push ack text left
Aligns RetryButton to look more like iMessages retry button
2024-02-17 14:10:25 -07:00
Austin Payne
8b751f462a improvement: add TapbackResponses view 2024-02-17 14:10:25 -07:00
Austin Payne
bb0acba742 improvement: dedupe canRetry definition 2024-02-17 14:10:25 -07:00
Austin Payne
d0f84662db improvement: add MessageText views 2024-02-17 14:10:25 -07:00
Garth Vander Houwen
231a160c1e Let duty cycle restricted messages be retried 2024-02-15 20:09:33 -08:00
Garth Vander Houwen
bdce50cc20 Only show retry for ack error 5 and 3 2024-02-13 18:47:07 -08:00
Austin Payne
6849977239 feature: add simple retry mechanism 2024-02-12 23:56:33 -07:00
Austin Payne
3882add56a fix: slow typing speed when lots of messages
Refactors both the channel and user message views to isolate typing state which
prevents excessive re-rendering of large message lists on every new character
typed. Also consolidates typing view code of both lists into the new
TextMessageField and related sub views.
2024-02-11 21:47:09 -07:00
Garth Vander Houwen
10359784f7 Set tapbacks to read as scrolling by in messages 2024-01-21 17:42:23 -08:00
Garth Vander Houwen
6595fdfe3c Allow sending positions over all channels 2024-01-13 09:35:38 -08:00
Garth Vander Houwen
d744b21be4 Remove excess focused field, add space to trace route text 2023-12-21 13:29:18 -08:00
Garth Vander Houwen
690ef05b1d Remove meshtastic username 2023-12-21 09:49:08 -08:00
Garth Vander Houwen
87ea501479 Remove app username, uncomment some trace route code 2023-12-21 09:03:24 -08:00
Garth Vander Houwen
026f2e463c Add field for gpsEnGpio 2023-12-20 20:15:05 -08:00
Garth Vander Houwen
09e1a0702a Fix channel list on mac and ipad 2023-12-20 19:34:35 -08:00
Garth Vander Houwen
e7a5aa40f0 Group box for Position Altitude Chart on the node map
Save Prefered node id so messages show up when not connected via ble
2023-11-20 13:20:55 -08:00
Garth Vander Houwen
fd23e0734c Fix admin message for store and forward config. 2023-09-30 12:42:49 -07:00
Garth Vander Houwen
0210f0e760 Check for nil context on message views 2023-09-25 09:44:57 -07:00
Garth Vander Houwen
0b11f8ed7d Assorted cleanup 2023-09-19 17:06:47 -07:00
Garth Vander Houwen
a5b86d6c14 Remove extra navigation stack 2023-09-16 08:48:36 -07:00
Garth Vander Houwen
49a8146767 Merge branch '2.2.5_Working_Changes'
Conflicts:
	Meshtastic/Views/Nodes/NodeList.swift
2023-09-10 14:25:13 -07:00
Garth Vander Houwen
9fccb74f43 Three column working point 2023-09-08 18:52:59 -07:00
Garth Vander Houwen
3658aacbe1 Assorted ios 17 updates and live activity cleanup 2023-09-07 16:26:25 -07:00
Garth Vander Houwen
1b25be694c Properly refresh channel after read message, delete problematic mute channel feature 2023-09-04 22:31:30 -07:00
Garth Vander Houwen
1c19ae11e6 Clean up object graph updates 2023-09-04 20:17:09 -07:00
Garth Vander Houwen
3330c88c49 Update unread app icon when messages are read 2023-09-03 17:46:57 -07:00
Garth Vander Houwen
23affc1ffb Clean up unread messages view 2023-09-03 16:47:35 -07:00
Garth Vander Houwen
06f39d40f2 Remove another circletext parameter 2023-09-02 18:02:51 -07:00