Skip to content

[Bug]: ocx link status on a Home-initiated Child reports role: standalone, and ocx status calls the Home a hub #6944

Closed

Description

@lidge-jun

Client or integration

Other

Area

CLI

Summary

On a Child linked from the Home, with /healthz reporting "role":"client" and requests relayed to the Home, the Child's own CLI describes the link inconsistently:

  • ocx link status --json → {"role":"standalone","listener":{"state":"off","port":null},"links":[],"child":null}.
  • ocx connect status --json correctly reports state: connected and transport: link.
  • ocx status prints Hub http://127.0.0.1:<tunnel>: state unavailable (this hub is too old to report its state; upgrade the hub) and Remote hub: connected (http://127.0.0.1:<tunnel>).

For a Home-initiated link the record lives in the Home's link store, so the Child's store is empty and the status projection falls back to standalone. A user checking the Child with ocx link status concludes the link did not apply.

The dashboard uses the same internal wording: on the Home, each Child row reads "Connected · Hub 시작" (from hub-initiated) on a page that otherwise says Home and Child.

Reproduction

  1. Link a Child from the Home dashboard, then restart the Child's proxy so it serves as a client.
  2. On the Child: ocx link status --json, ocx connect status --json, ocx status.

Expected: ocx link status on a Child reports the Child side (role client or child, direction home-initiated, tunnel port, tunnel state from clientLinkTunnelStatus), and ocx status describes a Remote Link Home rather than a hub.

Version

Child 2.83.0; Home 2.81.0. The "too old" line may be accurate for a 2.81.0 Home. The role: standalone answer comes from the Child's local projection and does not depend on the Home's version.

Operating system

Children macOS 27 arm64 and Ubuntu 24.04 x86_64

Provider and model

No response

Logs or error output

$ ocx link status --json
{"role":"standalone","listener":{"state":"off","port":null},"links":[],"child":null}
$ ocx status
⚠️  Hub http://127.0.0.1:54958: state unavailable (this hub is too old to report its state; upgrade the hub) — provider and login lines below are LOCAL and do not describe the hub.
   Remote hub: connected (http://127.0.0.1:54958)

Screenshots and supporting files

No response

Redacted configuration

No response

Checks

  • I searched existing issues and documentation.
  • I removed secrets, tokens, account details, request credentials, and personal data.

Activity

  1. lidge-jun commented on Oct 11, 2026

    @lidge-jun
    OwnerAuthor

    Fixed on dev by #6955 (squash 34bf006). Exact-head bfdfcb2: PR CI 38156344376 and Cross-platform CI lane=all 38156346377 succeeded (macos 1/2 needed one rerun after a 20-minute runner limit, with no failing test). Independent security/correctness review passed; no unresolved review threads.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcliCLI, config inject, packaging flags

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions