Skip to content

feat: add Network browser and production migration experience - #48

Closed
rchatham wants to merge 18 commits into
feature/network-migration-trust-model-planfrom
feature/network-migration-local-network-notes
Closed

feat: add Network browser and production migration experience#48
rchatham wants to merge 18 commits into
feature/network-migration-trust-model-planfrom
feature/network-migration-local-network-notes

Conversation

@rchatham

@rchatham rchatham commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Summary

Add the adopter-facing Network browser and expanded-demo experience, then define the production setup, parity, trust, and readiness boundaries for the migration.

Changes

  • Add public PeerBrowserModel for app-owned discovery and invitations.
  • Integrate Network mode into the expanded demo while keeping MultipeerConnectivity selected by default.
  • Add Automatic and Require Invitation behavior for both backends.
  • Preserve connection modes, typed messages, logs, troubleshooting, filtering, and test checklists.
  • Document why reusable framework-owned browser UI is deferred.
  • Define stream/resource parity and unsupported-operation behavior.
  • Define the Network peer trust roadmap and PSK limitations.
  • Add Local Network privacy and Bonjour production setup guidance.
  • Include the merged Network migration readiness audit.
  • Incorporate all reviewed lower-checkpoint security, lifecycle, discovery, and display-name fixes.

Security and production posture

Network remains experimental opt-in. The prototype can use unauthenticated transport or TLS-PSK, but PSK proves group-secret possession rather than individual identity. Production apps must provision strong app-managed keys, treat display metadata as self-asserted, configure every Bonjour service in their own target, and complete physical-device validation.

Verification

  • swift test — 163 tests passed locally at this checkpoint.
  • iPhone 16 / iOS 18.3.1 Xcode tests — 163 tests passed locally.
  • Expanded demo build passed locally.
  • Local Network, Bonjour, browser/invitation, parity, trust, and readiness documentation reviewed holistically.

Screenshots

Multipeer / Automatic Network / Require Invitation
Multipeer Network

Limitations

  • No reusable framework-owned browser view is added; apps compose UI from PeerBrowserModel.
  • Stream/resource parity remains deferred as documented.
  • Network is not the default and MultipeerConnectivity is not removed.
  • Direct Multipeer/Network wire interoperability is unsupported.

Stack

rchatham added 18 commits August 8, 2026 19:05
…model-plan' into HEAD

# Conflicts:
#	PeerConnectivityDemo/README.md
…model-plan' into HEAD

# Conflicts:
#	PeerConnectivityDemo/README.md
…ess-audit

Add Network migration readiness audit
…ion' into HEAD

# Conflicts:
#	PeerConnectivityTests/PeerNetworkProtocolTests.swift
#	Sources/NetworkPeerTransport.swift
…d-selector' into HEAD

# Conflicts:
#	PeerConnectivityTests/NetworkPeerCoordinatorTests.swift
#	Sources/NetworkPeerCoordinator.swift
#	Sources/NetworkPeerTransport.swift
#	Sources/NetworkPeerTransportAdapters.swift
…k-config' into HEAD

# Conflicts:
#	PeerConnectivityDemo/ViewController.swift
@rchatham

Copy link
Copy Markdown
Owner Author

GitHub prevents changing the base of a pull request that is registered as part of a stack. Closing this retained checkpoint so it can be recreated with the consolidated base; the branch, commits, review history, and this PR remain preserved.

@rchatham rchatham closed this Aug 11, 2026
@rchatham

Copy link
Copy Markdown
Owner Author

Replaced by consolidated PR #59: #59

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.

1 participant