Commit graph

42 commits

Author SHA1 Message Date
Garth Vander Houwen
026bb80fba
Transports Interface to Support TCP for all Platforms and Serial on Mac (#1341)
* Initial implementation of transports

* Initial LogRadio implementation

* Fixes for Settings view (caused by debug commenting)

* Refinement of the object and actor model

* Connect view text and tab updates

* Fix mac catalyst and tests

* Warning and logging clean-up

* In progress commit

* Serial Transport and Reconnect draft work

* Serial transport and reconnection draft work

* Quick fix for BLE - still more work to do

* interim commit

* More in progress changes

* Minor improvements

* Pretty good initial implementation

* Bump version beyond the app store

* Fix for disconnection swipeAction

* Tweaks to TCPConnection implementation

* Retry for NONCE_ONLY_DB

* Revert json string change

* Simplified some of the API + "Anti-discovery"

* Tweaks for devices leaving the discovery process

* Bump version

* iOS26 Tweaks

* Tweaks and bug fixes

* Add link with slash sf symbol

* update symbol image on connect view

* BLE disconnect handling

* Log privacy attributes

* Onboarding and minor fixes.

* change database to nodes, add emoji to tcp logs

* Error handling improvements

* More logging emojis

* Suppressed unnecessary errors on disconnect

* Heartbeat emoji

* Add bluetooth symbol

* add privacy attributes to [TCP] logs, add custom bluetooth logo

* Improve routing logs

* Emoji for connect logs

* Heartbeat emoji

* Add CBCentralManagerScanOptionAllowDuplicatesKey options to central for bluetooth

* fix nav errors by switching from observableobject to state

* Update connection indicator icon

* fix for BLE disconnects

* Connection process fixes

* More fixes/tweaks to connection process

* Strict concurrency

* Fix some warnings, remove wifi warning

* delete stale keys

* interim commit

* Update privacy for log, fix wrong space

* fix a couple of linting items

* Switch to targeted

* interim commit

* BLE Signal strenth on connect view

* Remove BLE RSSI from long press menu

* Modem lights

* minor spacing tweak

* Additional BLE logging and a scanning fix.

* Discovery and BLE RSSI improvements

* Background suspension

* Update isConnected to enable UI during db load

* update protobufs

* Replace config if statements with switches, Fix unknown module config logging, make dark mode modem circle stroke color white so they are visible

* Additional logging cleanup

* hast

* Set unmessagable to true if the longname has the unmessagable emoji

* Connect error handling improvements

* Admin popup list icon and activity lights updates

* Revert use of .toolbar back to .navigationBarItems

* More public logging

* Better BLE error handling

* Node DB progress meter

* minor tweak to activity light interaction timing

* Fix comment linting, remove stale keys

* Remove stale keys

* Easy linting fixes

* Two more simple linting fixes

* clean up meshtasticapp

* More public logging

* Replay config

* Logging

* Fix for unselected node on Settings

* Tweak to progress meter based on device idiom

* Update protos

* Session replay redaction of messages

* Serial fix for old devices, and a let statement

* Mask text too

* Fix typo

* BLE poweredOff is now an auto-reconnectable error

* Update logging

* Fix for peerRemovedPairingInformation

* Logging for BLE peripheral:didUpdateValueFor errors.

* Fix for inconsistent swipe disconnect behavior

* periperal:didUpdateValueFor error handling

* Fix for BLEConnection continuation guarding

* BLEConnection actor deadlock on disconnect

* Heartbeat nonce

* Fix for swipe disconnect and task cancellation

* Fix for swipe actions not honoring .disabled()

* Tell BLETransport when BLEConnection is cancelled

* Update navigation logging

* Logging updates

* Bump version to 2.7.0

* Organize into folders and heartbeat stuff

* Minor improvements to manual TCP connection

* Auto-connect toggle

* Possible BLE bug, still waiting to see in logs

* Concurrency tweaks

* Concurrency improvements

* requestDeviceMetadata fix. fixes remote admin

* Minor typo fixes

* "All" button for log filters: category and level

* More robust continuation handling for BLE

* @FetchRequest based ChannelMessageList

* Update info.plist and device hardware file

* Move auto connect toggle to app settings and debug mode, tint properly with the accent color

* Add label to auto connect toggle

* Update log for node info received from ourselves over the mesh

* Remove unused scrollViewProxy

* Update Meshtastic/Views/Onboarding/DeviceOnboarding.swift

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update target for connect view

* Properly Set datadog environment

* Comment out ble manager

* Adjust cyclomatic complexity thresholds in .swiftlint.yml

* Linting fixes, delete ble manager

* Make session replay debug only

---------

Co-authored-by: jake-b <jake-b@users.noreply.github.com>
Co-authored-by: jake <jake@jakes-Mac-mini.local>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-27 08:09:02 -07:00
Garth Vander Houwen
22c147f245 remove unnessary onboarding check from blemanager, update locationshandler with long timout if location services do not return 2025-07-20 09:45:47 -07:00
Garth Vander Houwen
83fa9a73f6 Pass router to each tab in the content view 2025-07-15 15:08:14 -07:00
Garth Vander Houwen
4ee9e719c3
Update Meshtastic/Views/ContentView.swift
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-14 20:40:10 -07:00
Garth Vander Houwen
a0f2c897d8 set first launch value after device onboarding is complete 2025-07-11 20:17:44 -07:00
Garth Vander Houwen
a264a09d24 Merge branch '2.6.2'
#Conflicts:
#	Localizable.xcstrings
2025-05-08 22:57:16 -07:00
Garth Vander Houwen
70fa86ae32 Finish updating translation strings 2025-05-08 22:50:44 -07:00
Garth Vander Houwen
dfeaf848e0 Device onboarding initial commit 2025-05-03 20:44:12 -07:00
Garth Vander Houwen
0f7ac9bc59 Translation key updates 2025-05-03 08:58:33 -07:00
Garth Vander Houwen
ea24117be9 Remove so more translation keys 2025-04-27 09:11:54 -07:00
Benjamin Faershtein
114f3c35cc Fixed transparent tab view 2025-04-18 13:09:18 -07:00
Garth Vander Houwen
da03814493 Remove more translation keys 2025-02-15 12:17:22 -08:00
Garth Vander Houwen
a4d5aefca3 Bossy linter 2024-10-05 15:50:57 -07:00
Garth Vander Houwen
d477de80c2 Remove ios 16 conditions 2024-10-05 10:44:46 -07:00
Blake McAnally
620e329521 Refactor router state to more closely match tab bar behavior 2024-08-28 07:37:49 -05:00
Garth Vander Houwen
ee2313ff0d Throw out any time that is off by more than 10 seconds in either direction and use now for message timestamp 2024-08-08 19:17:05 -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
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
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
300c677b94 Use legacy map app setting 2023-11-11 09:58:54 -08:00
Garth Vander Houwen
992a560564 More map updates 2023-11-09 23:48:16 -08:00
Garth Vander Houwen
913c3932f4 Initial updates to mapkit for swiftui 2023-11-07 21:20:11 -08:00
Garth Vander Houwen
7b9d6b11cf Unread direct messages indicator 2023-09-03 09:04:07 -07:00
Garth Vander Houwen
a78853d462 Delete unused view 2023-08-30 20:46:47 -07:00
Garth Vander Houwen
176ba630c6 Three column messaging test 2023-08-29 22:12:51 -07:00
Garth Vander Houwen
ee795b74c4 More unread messages infrastructure 2023-08-29 07:53:52 -07:00
Garth Vander Houwen
066e6b864e Mock up message improvements 2023-08-28 21:46:04 -07:00
Garth Vander Houwen
a990d7f2bd Lint 2023-08-26 23:17:30 -07:00
Garth Vander Houwen
e1109d3282 Store and forward 2023-08-26 20:45:15 -07:00
Ben Meadors
66298d52c7 Add AppDelegate and shared AppState object to control navigation programatically 2023-08-21 10:24:17 -05:00
Garth Vander Houwen
c27798d036 Delete parallel user settings structure 2023-04-26 09:19:45 -07:00
Garth Vander Houwen
fdade220de SwiftLint Whitespace fixes 2023-03-06 10:33:18 -08:00
Garth Vander Houwen
7121a7995c Fix bad merge, clean up nav 2023-03-03 20:08:04 -08:00
Garth Vander Houwen
91ce572acc Update protobufs, show alert and clear database on change of preferred peripheral 2023-02-17 10:35:37 -08:00
Garth Vander Houwen
75a84a3529 Add menu item strings 2022-12-12 21:51:43 -08:00
Garth Vander Houwen
fb326b7573 Rename hw models, fix disappearing ble icon 2022-11-11 16:22:50 -08:00
Garth Vander Houwen
e43b673c05 Message Cleanup, stop QR view crash, hook up messages to preferred node 2022-10-14 22:18:28 -07:00
Garth Vander Houwen
ddfcea4ace Handle empty positions, allow nrf52 saving for telemetry 2022-07-07 00:29:52 -07:00
Garth Vander Houwen
7317b6fbe4 More settings updates 2022-06-29 20:04:20 -07:00
Garth Vander Houwen
e2dc8ed8ae Rename Project to satisfy app review 2022-06-24 08:00:18 -07:00
Renamed from MeshtasticApple/Views/ContentView.swift (Browse further)