Prevent the NodesView tablet overlay from letting underlying content bleed through.
- make the tablet nodes management overlay fixed, fullscreen, and scrollable with the app background
- add a regression test that asserts the tablet overlay media query and rule properties
- add a patch changeset for the published CLI package bundle
Files changed:
.changeset/fn-6179-tablet-nodes-overlay.md | 5 +++++
packages/dashboard/app/components/NodesView.css | 12 ++++++++++-
.../app/components/__tests__/NodesView.test.tsx | 23 ++++++++++++++++++++--
3 files changed, 37 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6179
Fusion-Task-Lineage: 9455b38e-c32f-4865-917a-a06c1cb38840
Make the mobile Nodes screen open as a full-screen overlay above the header and nav.
- add a mobile-only fixed fullscreen overlay style for the nodes management panel
- preserve safe-area spacing and scroll behavior while keeping the overlay above mobile navigation
- add a NodesView regression test that asserts the mobile overlay CSS contract and close control rendering
Files changed:
.changeset/fn-6170-mobile-nodes-fullscreen.md | 5 +++
packages/dashboard/app/components/NodesView.css | 11 +++++
.../app/components/__tests__/NodesView.test.tsx | 52 ++++++++++++++++++++++
3 files changed, 68 insertions(+)
Fusion-Task-Id: FN-6170
Fusion-Task-Lineage: 16995d9f-6b5e-4f15-9367-7eccbd3153d0
- Change useMeshState to expose NodeMeshState[] and unwrap API snapshot nodes in refresh and polling flows
- Update NodesView mesh topology rendering to consume the flattened hook result directly
- Revise mesh-state and NodesView tests to validate array-based contract and topology behavior
- Document the Nodes UI mesh topology contract in architecture docs
Fusion-Task-Id: FN-3955
Implements a typed mesh snapshot API in `@fusion/core` (`CentralCore.getMeshSnapshot`, `MeshSnapshot` type) and wires it through the dashboard nodes view via a new `useMeshState` hook, substantially simplifying `MeshTopology.tsx` by replacing internal state management with the centralized snapshot.
Fusion-Task-Id: FN-3454
Merges node discovery onboarding (FN-3506) with two steps: a pre-registration discovery contract wired into the AddNodeModal UI, and full remote discovery integration with documentation. Also adds a local embedded runtime manager to the desktop app (FN-3404) and wires permanent-agent approval contex
Fusion-Task-Id: FN-3506
- Add onboarding project-mapping API contracts and dashboard UI wiring in AddNodeModal/NodesView
- Persist node-to-project mappings with rollback-safe failure handling and expanded hook/API test coverage
- Document node onboarding mapping behavior in architecture and multi-project docs
- Add tsup bundle asset gates for openclaw bridge and droid runtime, with changesets and bundle output tests
Fusion-Task-Id: FN-3505
Fixes FN-3112: Updates NodesView CSS to use tokenized border-radius and transition values from the design system instead of hardcoded pixel values, ensuring consistency with the dashboard's established token variables.
Fusion-Task-Id: FN-3112
- Add managed Docker node API client/routes, onboarding hook, and NodesView integration with new onboarding modal UX
- Refine Add Node, mobile nav, agent/node detail, and onboarding-related component styling/interaction flows
- Expand dashboard/core/cli test coverage for onboarding flows, node routes, insights persistence, and mobile regressions
- Add CLI/plugin packaging updates including bundled dependency-graph install and plugin schema initialization support
Fusion-Task-Id: FN-3108
- Fix 30 git routes to use getScopedStore(req) instead of global store
- Fix activity GET/DELETE routes to use scoped store
- Fix POST /api/github/webhooks to use scoped store for badge updates
- Fix POST /api/ai/summarize-title to use scoped store for settings
- Fix GET /api/git/worktrees to use scoped store for task listing
- Add projectId parameter to all git and activity frontend API functions
- Update useActivityLog hook to pass projectId through
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
- Export MeshTopologyProps interface for external use
- Add peer awareness lines between remote nodes for mesh visualization
- Implement dynamic SVG sizing based on number of remote nodes
- Add status color legend showing online/offline/connecting/error states
- Improve CSS variable handling with fallback values
- Use transform-based positioning for cleaner SVG structure
- Add node API typings and client methods plus a polling useNodes hook with visibility-triggered refresh
- Introduce NodesView with NodeCard, AddNodeModal, and NodeDetailModal to register, inspect, update, health-check, and remove nodes
- Wire the Nodes surface into the app shell/header and add project node assignment UI with project card node badges
- Add unit coverage for useNodes, NodesView, NodeCard, Header, and ProjectCard behavior, plus node-specific dashboard styling