Skip to content

[ENHANCEMENT] Add an experimental remote bridge feature toggle #1163

Description

@WebMad

Is your feature request related to a problem? Please describe.

The remote bridge work tracked in #650 needs an explicit opt-in entry point. Without a dedicated feature toggle, experimental bridge functionality could start processes or open local IPC endpoints for users who have not chosen to test it.

Describe the solution you'd like

Add an experimental Remote Bridge toggle to Zoo Code settings.

The toggle should:

  • be disabled by default;
  • be clearly marked as experimental;
  • provide a single source of truth for enabling the remote bridge lifecycle;
  • allow Zoo Code to start connecting to or launching the orchestrator when enabled;
  • trigger clean disconnection and lifecycle cleanup when disabled;
  • expose enough state for the UI to show whether the feature is disabled, connecting, connected, or in an error state;
  • initially be available on macOS and Linux, without preventing later Windows support.

The setting should not directly contain transport-specific behavior. Terminal, mobile, Discord, and WebRTC support should be implemented behind the transport-agnostic bridge architecture described in #650.

Describe alternatives you've considered

  • Enabling the bridge through an environment variable only. This is useful for development and automation but is not discoverable or suitable as the primary user-facing control.
  • Starting the bridge unconditionally. This adds unnecessary processes and local IPC activity for users who do not use remote control.
  • Adding separate toggles for each transport. This couples the Zoo Code settings UI to provider implementations too early.

Additional context

Parent architecture and decision history: #650

This issue covers only the experimental setting and its integration with the bridge lifecycle. Singleton orchestrator startup and multi-instance coordination are tracked separately.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions