Skip to content

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

Open
rchatham wants to merge 25 commits into
feature/network-migration-network-configfrom
feature/network-migration-local-network-notes
Open

feat: add Network browser and production migration experience#59
rchatham wants to merge 25 commits into
feature/network-migration-network-configfrom
feature/network-migration-local-network-notes

Conversation

@rchatham

@rchatham rchatham commented Aug 11, 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

Stack update

  • Merged the updated network-config base that includes the actor-backed Observable bridge from PR refactor: unify observables behind actor bridge #63.
  • Preserves the browser/demo/local-network guidance changes and updates browser-model tests to drive async observable events deterministically.

Verification

  • swift test passed after merging the updated base.
  • swift build passed after merging the updated base.

rchatham added 24 commits August 8, 2026 12:46
…k-config' into HEAD

# Conflicts:
#	PeerConnectivity.xcodeproj/project.pbxproj
…r-model' into HEAD

# Conflicts:
#	PeerConnectivityDemo/ViewController.swift
…etwork-mode' into HEAD

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

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

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

Add Network migration readiness audit
…k-config' into HEAD

# Conflicts:
#	PeerConnectivityDemo/ViewController.swift
…k-config' into feature/network-migration-local-network-notes
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