feat(FN-3505): add node onboarding mapping flow with asset-gated bundling
- 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
This commit is contained in:
@@ -32,7 +32,7 @@ export function NodesView({ addToast, onClose }: NodesViewProps) {
|
||||
patchDockerConfig,
|
||||
fetchDockerDiff,
|
||||
} = useNodes();
|
||||
const { projects } = useProjects();
|
||||
const { projects, refresh: refreshProjects } = useProjects();
|
||||
const { syncStatusMap, pushSettings, pullSettings, syncAuth, trackNode, getAuthSyncState, getAuthProviders } = useNodeSettingsSync();
|
||||
const {
|
||||
dockerNodes,
|
||||
@@ -74,7 +74,8 @@ export function NodesView({ addToast, onClose }: NodesViewProps) {
|
||||
|
||||
const handleRegister = useCallback(async (input: AddNodeInput) => {
|
||||
await register(input);
|
||||
}, [register]);
|
||||
await refreshProjects();
|
||||
}, [refreshProjects, register]);
|
||||
|
||||
const handleCreateDockerNode = useCallback(async (input: ManagedDockerNodeInput) => {
|
||||
try {
|
||||
@@ -249,6 +250,7 @@ export function NodesView({ addToast, onClose }: NodesViewProps) {
|
||||
onClose={() => setAddModalOpen(false)}
|
||||
onSubmit={handleRegister}
|
||||
addToast={addToast}
|
||||
projects={projects}
|
||||
/>
|
||||
|
||||
<DockerNodeOnboardingModal
|
||||
|
||||
Reference in New Issue
Block a user