Skip to content

Conversation

@natew
Copy link
Collaborator

@natew natew commented Jan 26, 2026

Summary

Central proxy server for running multiple React Native dev servers simultaneously.

  • Zero config: Run one daemon, then one dev in multiple projects - requests auto-route based on bundle ID
  • Smart routing: Uses ?app=bundleId param that RN already sends
  • Handles duplicates: Same app in multiple checkouts (~/tamagui, ~/tamagui2) shows picker or auto-routes to most recent
  • Native UI: macOS dialog picker shows simulator name/iOS version
  • TUI: Patchbay-style interface to connect simulators ↔ servers
  • CI-friendly: Auto-routes to most recently started server, remembers for subsequent requests

Usage

# Terminal 1 - start daemon (shows TUI by default)
one daemon

# Terminal 2+
cd ~/project-a && one dev
cd ~/project-b && one dev

Both accessible via port 8081.

Test plan

  • Basic daemon tests pass (scripts/test-daemon.mjs)
  • Manual test with real native apps
  • Verify macOS dialog shows correctly
  • Test TUI keyboard navigation

natew added 5 commits January 25, 2026 16:05
- Add `one daemon` command that runs a proxy on port 8081
- Dev servers register via IPC socket (~/.one/daemon.sock)
- Routes requests based on ?app= query param (sent by RN automatically)
- Interactive picker for ambiguous routes (same bundleId)
- Auto-detect daemon in `one dev` and use alternate port
- Support for CI/Detox with auto-routing and pre-configured routes
- Includes test script (scripts/test-daemon.mjs)
- native AppleScript dialog for server selection
- shows iOS version from simulator runtime
- dedupes simulators by name+version
- improved terminal picker messaging
- use most recently registered server for ambiguous routes
- remember routes after auto-selection
- add route mode override for TUI control
- support quiet mode for TUI operation
- patchbay-style interface: simulators ↔ servers
- mode toggle: most-recent vs ask
- keyboard shortcuts for connect/disconnect
- background mode and login item installation
- --tui flag (default: true if TTY)
- auto-start TUI when running interactively
@railway-app
Copy link

railway-app bot commented Jan 26, 2026

🚅 Deployed to the one-pr-658 environment in onestack.dev

Service Status Web Updated (UTC)
one ✅ Success (View Logs) Web Jan 26, 2026 at 5:34 am

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.

2 participants