Skip to content

Comments

feat: display gateway target sync status after deploy#419

Open
aidandaly24 wants to merge 2 commits intoaws:feat/gateway-integrationfrom
aidandaly24:feat/batch-4-gateway-sync-status
Open

feat: display gateway target sync status after deploy#419
aidandaly24 wants to merge 2 commits intoaws:feat/gateway-integrationfrom
aidandaly24:feat/batch-4-gateway-sync-status

Conversation

@aidandaly24
Copy link
Contributor

Description

After deploying gateways, users had no feedback on whether their targets successfully connected to external MCP servers. The deploy output showed gateway URLs but nothing about target status — users had to go to the console to check.

This PR queries the ListGatewayTargets API after deploy completes and displays the sync status of each target:

Gateway Targets:
 my-mcp-server: ✓ synced
 another-target: ⟳ syncing...

Status mappings:

  • READY → ✓ synced
  • SYNCHRONIZING → ⟳ syncing...
  • SYNCHRONIZE_UNSUCCESSFUL → ⚠ sync failed
  • CREATING → ⟳ creating...
  • FAILED → ✗ failed

Integrated into both the CLI deploy path (deploy/actions.ts) and the TUI deploy path. The TUI uses proper React state management — statuses are stored in targetStatuses state and rendered as components in DeployScreen, not hacked through the logger.

API errors are non-blocking — if the status query fails (permissions, network, etc.), the deploy still succeeds and the status display is simply skipped.

Related Issue

Part of the MCP Gateway Phase 1 integration (gateway-integration branch). Task 11b.

Type of Change

  • New feature

Testing

How have you tested the change?

  • I ran npm run test:unit and npm run test:integ
  • I ran npm run typecheck
  • I ran npm run lint
  • If I modified src/assets/, I ran npm run test:update-snapshots and committed the updated snapshots

9 new tests covering:

  • ListGatewayTargets returns multiple targets with various statuses
  • API error returns empty array (non-blocking)
  • Empty gateway (no targets)
  • Undefined items in response
  • formatTargetStatus for all known status values and unknown fallback

Checklist

  • I have read the CONTRIBUTING document
  • I have added any necessary tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have added an appropriate example to the documentation to outline the feature, or no new docs are needed
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

Query ListGatewayTargets after successful deployment and display
sync status for each target:
- READY: ✓ synced
- SYNCHRONIZING: ⟳ syncing...
- FAILED: ✗ failed

Integrated into both CLI and TUI deploy paths. TUI uses React state
for proper rendering. API errors are non-blocking — deploy succeeds
regardless of status query result.
@aidandaly24 aidandaly24 requested a review from a team February 24, 2026 17:10
@aidandaly24 aidandaly24 changed the base branch from main to feat/gateway-integration February 24, 2026 17:10
@github-actions github-actions bot added the size/xl PR size: XL label Feb 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/xl PR size: XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant