Skip to content

Transports Interface to Support TCP for all Platforms and Serial on Mac#1341

Merged
garthvh merged 149 commits into
mainfrom
transports
Aug 27, 2025
Merged

Transports Interface to Support TCP for all Platforms and Serial on Mac#1341
garthvh merged 149 commits into
mainfrom
transports

Conversation

@garthvh

@garthvh garthvh commented Aug 8, 2025

Copy link
Copy Markdown
Member
  • Refactor to add transport interface to allow TCP connections on iOS and Serial for Mac
  • Upgrade to swift 6

jake-b and others added 30 commits July 20, 2025 08:38
…into transports

# Conflicts:
#	Meshtastic/Views/Settings/Config/Module/CannedMessagesConfig.swift
…-Apple into transports

# Conflicts:
#	Meshtastic.xcodeproj/project.pbxproj
# Conflicts:
#	Localizable.xcstrings
#	Meshtastic/MeshtasticApp.swift
#	Meshtastic/Views/Helpers/ConnectedDevice.swift

This comment was marked as outdated.

@garthvh garthvh requested a review from Copilot August 27, 2025 13:37

This comment was marked as outdated.

@garthvh garthvh requested a review from Copilot August 27, 2025 14:03

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements a transport interface abstraction to support TCP connections on iOS and Serial connections on Mac in addition to the existing Bluetooth Low Energy (BLE) support, and upgrades the codebase to Swift 6.

Key changes include:

  • Replaced BLEManager with a new AccessoryManager that abstracts transport connections
  • Updated URL schemes and tab names from "bluetooth" to "connect"
  • Added transport logging category and enhanced debug capabilities

Reviewed Changes

Copilot reviewed 131 out of 138 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
scripts/lint/lint-fix-changes.sh Added SwiftLint configuration file reference for precommit hooks
Widgets/WidgetsLiveActivity.swift Updated URL scheme from "bluetooth" to "connect"
MeshtasticTests/RouterTests.swift Updated test cases to use "connect" tab instead of "bluetooth"
Settings/UserConfig.swift Refactored to use AccessoryManager instead of BLEManager
Onboarding/DeviceOnboarding.swift Added local network and Bluetooth permission flows
Views/Helpers/* Updated ConnectedDevice component to remove Bluetooth-specific references
Multiple config files Converted synchronous BLE operations to async/await patterns

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread Meshtastic/Views/Messages/TextMessageField/TextMessageField.swift
Comment thread Meshtastic/Views/Messages/MessageText.swift
Comment thread Meshtastic/Views/Messages/TextMessageField/TextMessageField.swift
Comment thread Meshtastic/Views/Messages/MessageText.swift
Comment thread Meshtastic/Views/Settings/AppSettings.swift
@garthvh garthvh merged commit 026bb80 into main Aug 27, 2025
5 checks passed
@garthvh garthvh deleted the transports branch August 27, 2025 15:09
@steffann

Copy link
Copy Markdown

Awesome to see this. Much appreciated and many thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants