Skip to content

Commit df077c0

Browse files
fix(frontend): use health.level for connected server count
The web UI was showing 8 connected servers instead of 13 because it was using the legacy connected boolean field instead of health.level. Added isServerConnected() helper that uses health.level === healthy as the source of truth (per Spec 013), with fallback to legacy connected field for backward compatibility. This aligns the web UI with the tray and CLI which were fixed in the previous commit.
1 parent de0f6c3 commit df077c0

1 file changed

Lines changed: 16 additions & 2 deletions

File tree

frontend/src/stores/servers.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,30 @@ export const useServersStore = defineStore('servers', () => {
88
const servers = ref<Server[]>([])
99
const loading = ref<LoadingState>({ loading: false, error: null })
1010

11+
// Helper: Check if a server is considered "connected" using health.level as source of truth
12+
// Falls back to legacy connected field for backward compatibility
13+
function isServerConnected(server: Server): boolean {
14+
// Spec 013: health.level is the single source of truth
15+
if (server.health?.level === 'healthy') {
16+
return true
17+
}
18+
// Fallback to legacy connected field if health is not present
19+
if (!server.health) {
20+
return server.connected
21+
}
22+
return false
23+
}
24+
1125
// Computed
1226
const serverCount = computed(() => ({
1327
total: servers.value.length,
14-
connected: servers.value.filter(s => s.connected).length,
28+
connected: servers.value.filter(isServerConnected).length,
1529
enabled: servers.value.filter(s => s.enabled).length,
1630
quarantined: servers.value.filter(s => s.quarantined).length,
1731
}))
1832

1933
const connectedServers = computed(() =>
20-
servers.value.filter(s => s.connected)
34+
servers.value.filter(isServerConnected)
2135
)
2236

2337
const enabledServers = computed(() =>

0 commit comments

Comments
 (0)