Skip to content

fix(ui): decouple healthy and last-routed states in ProviderTopology (Fixes #8409) - #8428

Merged
diegosouzapw merged 1 commit into
cheaper-inference:release/v3.8.49from
MumuTW:fix/topology-last-routed-node-color
Jul 25, 2026
Merged

diegosouzapw merged 1 commit into
cheaper-inference:release/v3.8.49from
MumuTW:fix/topology-last-routed-node-color

Conversation

@MumuTW

@MumuTW MumuTW commented Jul 24, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Fixes #8409

On the home Provider topology, the most recently routed node was painted as idle grey with no status dot while its edge stayed amber — health and recency were incorrectly coupled (!last ANDed into healthy / healthError), and the node had no last visual.

Changes

  1. Decouple health from recency — healthy / healthError no longer depend on !last
  2. Border = health (green / red); dot = recency when last (amber via FLOW_EDGE_COLORS.last)
  3. Tests — update source-regex guards; add jsdom render tests for healthy+last / idle / error+last

Distinct from #8328 (custom nodes missing from the graph entirely).

Test plan

  • node --import tsx --test tests/unit/topology-connection-health.test.ts → 4/4 pass
  • vitest run tests/unit/ui/home-topology-last-used-node-color.test.tsx → 3/3 pass
  • Manual: route a request → last-used node keeps green border + amber dot; edge stays amber

@MumuTW
MumuTW requested a review from diegosouzapw as a code owner July 24, 2026 12:57
@MumuTW

MumuTW commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Aligned with #8409. Local:

  • node --import tsx --test tests/unit/topology-connection-health.test.ts → 4/4 pass
  • vitest run tests/unit/ui/home-topology-last-used-node-color.test.tsx → 3/3 pass

Ready for review.

@diegosouzapw

Copy link
Copy Markdown
Collaborator

Thanks for the fast turnaround here — this is exactly the fix we described on #8409. I re-ran both suites on a clean checkout of your branch:

  • node --import tsx/esm --test tests/unit/topology-connection-health.test.ts → 4/4 pass
  • vitest run tests/unit/ui/home-topology-last-used-node-color.test.tsx → 3/3 pass
  • ESLint clean on all three changed files

The border/dot/edge precedence traces correctly for every combination we checked, including error+last (still renders red, as your own test asserts). No changes requested — merging as-is.

One heads-up unrelated to your PR: #8450 touches the same component with a different 'calm-at-rest' visual philosophy and flags the tension with this fix itself, so we'll reconcile that separately when we get to it.

@diegosouzapw
diegosouzapw merged commit 7cc922b into cheaper-inference:release/v3.8.49 Jul 25, 2026
3 checks passed
@diegosouzapw

Copy link
Copy Markdown
Collaborator

Merged into release/v3.8.49 — thanks @MumuTW! Validated via a 26-PR local merge-train + per-file discriminator confirming zero regressions vs the pure release tip. 🙏

@diegosouzapw diegosouzapw mentioned this pull request Jul 28, 2026
HouMinXi pushed a commit to HouMinXi/OmniRoute that referenced this pull request Aug 2, 2026
diegosouzapw added a commit that referenced this pull request Aug 20, 2026
…10900)

Merged — reimplementation extracting the non-conflicting Recent Requests panel + excludeTests allowlist fix from #8450 (see PR body for the full scoping rationale, including why the topology UX rework was deliberately excluded — it contradicts the already-shipped #8428). typecheck/file-size/changelog/complexity/cognitive-complexity/i18n-coverage gates all clean, 2/2 unit + 1/1 vitest passing.
@MumuTW
MumuTW deleted the fix/topology-last-routed-node-color branch September 5, 2026 10:19
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…heaper-inference#10900)

Merged — reimplementation extracting the non-conflicting Recent Requests panel + excludeTests allowlist fix from cheaper-inference#8450 (see PR body for the full scoping rationale, including why the topology UX rework was deliberately excluded — it contradicts the already-shipped cheaper-inference#8428). typecheck/file-size/changelog/complexity/cognitive-complexity/i18n-coverage gates all clean, 2/2 unit + 1/1 vitest passing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(dashboard): home topology draws the last-routed provider as an idle grey node with no status dot

2 participants