Make Agent Network menu available via dashboard_features#709
Conversation
Wire the new dashboard_features account setting into the dashboard at the API level: add it to the Account settings interface (so settings updates round-trip it) and have useAgentNetworkMode treat dashboard_features.agent_network === true as enabling the Agent Network menu alongside the full dashboard. Unlike agent_network_only it does not focus the dashboard, and it does not trigger the onboarding flow. No settings-menu UI yet; the field is set via the API.
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThe account model now supports an Agent Network dashboard feature flag. Agent Network mode uses it for availability, while onboarding updates new and existing accounts differently. End-to-end tests cover navigation visibility and persisted settings. ChangesAgent Network feature visibility
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant NetBirdCloudProvider
participant AccountAPI
participant useAgentNetworkMode
participant Sidebar
NetBirdCloudProvider->>AccountAPI: Update dashboard_features.agent_network or agent_network_only
AccountAPI-->>NetBirdCloudProvider: Return account settings
AccountAPI->>useAgentNetworkMode: Provide dashboard feature state
useAgentNetworkMode->>Sidebar: Enable Agent Network navigation
Sidebar->>Sidebar: Keep regular sections visible
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The signup-source flow only handled new accounts (agent_network_only) and discarded the source for existing accounts, so nothing set dashboard_features. Branch on account existence: new accounts get the focused view, existing accounts get the Agent Network menu made available via dashboard_features.agent_network. Adds e2e coverage for the existing-account write.
New accounts got agent_network_only (focused) but not dashboard_features.agent_network, so turning the focused view off later would remove the Agent Network menu entirely. Set both on new accounts so disabling focus degrades to menu-available rather than losing access.
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [netbirdio/dashboard](https://github.com/netbirdio/dashboard) | patch | `v2.90.3` → `v2.90.4` | | netbirdio/netbird | patch | `v0.74.1-rootless` → `v0.74.6-rootless` | | netbirdio/netbird-server | patch | `0.74.1` → `0.74.6` | | netbirdio/reverse-proxy | patch | `0.74.1` → `0.74.6` | --- >⚠️ **Warning** > > Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/12) for more information. --- ### Release Notes <details> <summary>netbirdio/dashboard (netbirdio/dashboard)</summary> ### [`v2.90.4`](https://github.com/netbirdio/dashboard/releases/tag/v2.90.4) [Compare Source](netbirdio/dashboard@v2.90.3...v2.90.4) #### What's Changed - Fix Skip TLS doc link and model pricing format by [@​braginini](https://github.com/braginini) in [#​699](netbirdio/dashboard#699) - aggregated traffic events by [@​pascal-fischer](https://github.com/pascal-fischer) in [#​693](netbirdio/dashboard#693) - Show management API request id in error notifications by [@​mlsmaycon](https://github.com/mlsmaycon) in [#​698](netbirdio/dashboard#698) - Improve RDP connection error handling and retry flow by [@​lixmal](https://github.com/lixmal) in [#​701](netbirdio/dashboard#701) - Default billing to EUR, preserve USD for active subscribers by [@​SunsetDrifter](https://github.com/SunsetDrifter) in [#​702](netbirdio/dashboard#702) - Revert using tenants own currency and instead use MSP currency by [@​heisbrot](https://github.com/heisbrot) in [#​703](netbirdio/dashboard#703) - new traffic filters by [@​pascal-fischer](https://github.com/pascal-fischer) in [#​704](netbirdio/dashboard#704) - Remove experimental flag from lazy connections by [@​heisbrot](https://github.com/heisbrot) in [#​706](netbirdio/dashboard#706) - \[reverse proxy] Feature/cluster one click deploy by [@​mlsmaycon](https://github.com/mlsmaycon) in [#​707](netbirdio/dashboard#707) - Focus dashboard on Agent Network for netbird.ai signups by [@​mlsmaycon](https://github.com/mlsmaycon) in [#​708](netbirdio/dashboard#708) - Make Agent Network menu available via dashboard\_features by [@​mlsmaycon](https://github.com/mlsmaycon) in [#​709](netbirdio/dashboard#709) #### New Contributors - [@​SunsetDrifter](https://github.com/SunsetDrifter) made their first contribution in [#​702](netbirdio/dashboard#702) **Full Changelog**: <netbirdio/dashboard@v2.90.3...v2.90.4> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE1MC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Reviewed-on: https://git.jfreudenberger.de/JuliusFreudenberger/nix-config/pulls/22 Co-authored-by: Renovate Bot <renovate@jfreudenberger.de> Co-committed-by: Renovate Bot <renovate@jfreudenberger.de>
* Make Agent Network menu available via dashboard_features.agent_network Wire the new dashboard_features account setting into the dashboard at the API level: add it to the Account settings interface (so settings updates round-trip it) and have useAgentNetworkMode treat dashboard_features.agent_network === true as enabling the Agent Network menu alongside the full dashboard. Unlike agent_network_only it does not focus the dashboard, and it does not trigger the onboarding flow. No settings-menu UI yet; the field is set via the API. * Add e2e coverage for dashboard_features.agent_network menu availability * Set dashboard_features for existing netbird.ai accounts The signup-source flow only handled new accounts (agent_network_only) and discarded the source for existing accounts, so nothing set dashboard_features. Branch on account existence: new accounts get the focused view, existing accounts get the Agent Network menu made available via dashboard_features.agent_network. Adds e2e coverage for the existing-account write. * Also enable Agent Network menu for new netbird.ai accounts New accounts got agent_network_only (focused) but not dashboard_features.agent_network, so turning the focused view off later would remove the Agent Network menu entirely. Set both on new accounts so disabling focus degrades to menu-available rather than losing access. * Match badged nav labels by substring in dashboard_features e2e * Treat agent network deployment config as a floor over account setting * Add agent network env x signup-source e2e matrix with a config override
…tbirdio#717 并汉化 - merge netbirdio/main: Agent Network clusters/RDP/features 更新 - 新增 14 个翻译 key (配置页/Agent Network 通知/RDP 弹窗) - agent-network/configuration page 全面汉化 - RDPCredentialsModal 全面汉化 - NetBirdCloudProvider toast 汉化
…tbirdio#717 并汉化 - merge netbirdio/main: Agent Network clusters/RDP/features 更新 - 新增 14 个翻译 key (配置页/Agent Network 通知/RDP 弹窗) - agent-network/configuration page 全面汉化 - RDPCredentialsModal 全面汉化 - NetBirdCloudProvider toast 汉化
Issue ticket number and link
Adds dashboard support for the
dashboard_featuresaccount setting(backend: netbirdio/netbird#6742, merged) and extends the netbird.ai signup
flow to existing accounts. No settings-menu UI.
Signup source now branches on account existence
The merged flow only handled new accounts (set
agent_network_only) anddiscarded the source for existing ones. It now checks
signup_form_pending:agent_network_only=true(focused view) anddashboard_features.agent_network=true.dashboard_features.agent_network=true(Agent Networkmenu made available, full dashboard kept).
Both paths set
dashboard_features.agent_network. Setting it on new accountstoo means that if a focused account later turns the focused view off, it keeps
access to the Agent Network menu rather than losing it entirely (since the menu
would otherwise depend on
agent_network_only).There is no dashboard UI to write
dashboard_features— it is set only by thisonboarding flow (the Client Settings toggle only controls
agent_network_only).Mode resolution
Account.settings.dashboard_featuresadded to the interface (settings updatesround-trip it).
useAgentNetworkMode()treatsdashboard_features.agent_network === trueasenabling the Agent Network menu — it feeds
enabled, notonly, sounlike
agent_network_onlyit does not focus/hide the rest of the dashboard.No onboarding change: the onboarding decision keys off
only(+ signupsource), so a menu-available (existing) account gets the menu and reachable
Agent Network routes but no onboarding takeover. Onboarding for existing
accounts is a deliberate follow-up (they have no pending onboarding flags).
Tests (e2e)
dashboard_features.agent_networkmakes the Agent Network menu availablewhile leaving the regular dashboard (Reverse Proxy) intact — enabled, not
focused.
dashboard_features(
agent_network=true), notagent_network_only.Documentation
Select exactly one:
API-level plumbing of an account setting with no new user-facing UI; the
focused-view behavior and toggle are already documented (netbirdio/docs#848).
Docs PR URL (required if "docs added" is checked)
Paste the PR link from https://github.com/netbirdio/docs here:
https://github.com/netbirdio/docs/pull/__
E2E tests
Optional: override the image tags used by the Playwright e2e workflow.
Defaults to
mainwhen omitted.management-cloud-tag: main
reverse-proxy-tag: main
Summary by CodeRabbit