[GH-ISSUE #7018] Desktop app peer list does not distinguish "Idle" (lazy) from "Disconnected" #12289

Open
opened 2026-08-05 01:32:48 -04:00 by saavagebueno · 2 comments
Owner

Originally created by @urs-eller on GitHub (Aug 1, 2026).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/7018

Describe the problem

With lazy connections enabled account-wide, the new desktop app (v0.75+, tested on 0.76.0 / macOS) shows idle peers with the same gray indicator as truly disconnected/offline peers in the peer list.

The daemon clearly distinguishes the states — netbird status -d reports Status: Idle vs Connected / Disconnected — and the Android client already surfaces the idle state in its peer list. On desktop there is currently no way to tell "sleeping, reachable on demand" from "offline" without dropping to the CLI or the admin dashboard.

This is confusing in practice: after enabling lazy connections, most of the peer list turns gray, which reads as "everything is offline" even though those peers are healthy and will connect on demand within ~2s.

Expected behavior

A third visual state (icon color and/or label) for Idle in the desktop app peer list, matching what the Android client and the CLI already expose.

Steps to reproduce

  1. Enable lazy connections account-wide (lazy_connection_enabled: true).
  2. Let peer pairs go idle (default inactivity threshold 15 min).
  3. Open the desktop app peer list: idle peers are rendered gray, indistinguishable from offline peers.
  4. Compare with netbird status -d, which correctly reports Status: Idle for the same peers.

Environment

  • OS: macOS (darwin/arm64)
  • NetBird client: 0.76.0 (new Wails/React desktop app)
  • Management: self-hosted, 0.76.x
  • Account setting: lazy_connection_enabled: true
Originally created by @urs-eller on GitHub (Aug 1, 2026). Original GitHub issue: https://github.com/netbirdio/netbird/issues/7018 ### Describe the problem With lazy connections enabled account-wide, the new desktop app (v0.75+, tested on 0.76.0 / macOS) shows idle peers with the same gray indicator as truly disconnected/offline peers in the peer list. The daemon clearly distinguishes the states — `netbird status -d` reports `Status: Idle` vs `Connected` / `Disconnected` — and the Android client already surfaces the idle state in its peer list. On desktop there is currently no way to tell "sleeping, reachable on demand" from "offline" without dropping to the CLI or the admin dashboard. This is confusing in practice: after enabling lazy connections, most of the peer list turns gray, which reads as "everything is offline" even though those peers are healthy and will connect on demand within ~2s. ### Expected behavior A third visual state (icon color and/or label) for **Idle** in the desktop app peer list, matching what the Android client and the CLI already expose. ### Steps to reproduce 1. Enable lazy connections account-wide (`lazy_connection_enabled: true`). 2. Let peer pairs go idle (default inactivity threshold 15 min). 3. Open the desktop app peer list: idle peers are rendered gray, indistinguishable from offline peers. 4. Compare with `netbird status -d`, which correctly reports `Status: Idle` for the same peers. ### Environment - OS: macOS (darwin/arm64) - NetBird client: 0.76.0 (new Wails/React desktop app) - Management: self-hosted, 0.76.x - Account setting: `lazy_connection_enabled: true`
Author
Owner

@linear-code[bot] commented on GitHub (Aug 1, 2026):

NET-1462

<!-- gh-comment-id:5150937179 --> @linear-code[bot] commented on GitHub (Aug 1, 2026): <!-- linear-linkback --> <p><a href="https://linear.app/netbird/issue/NET-1462">NET-1462</a></p>
Author
Owner

@lixmal commented on GitHub (Aug 1, 2026):

The reason is that idle peers are indistinguishable from disconnected peers. The cli doesn't offer the information either, because the local peer simply doesn't know. It's s on-demand, it hasn't tried the connection yet.

<!-- gh-comment-id:5151560758 --> @lixmal commented on GitHub (Aug 1, 2026): The reason is that idle peers *are* indistinguishable from disconnected peers. The cli doesn't offer the information either, because the local peer simply doesn't know. It's s on-demand, it hasn't tried the connection yet.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#12289