Skip to content

fix: group pool connections and clarify routing controls - #1737

Open
ctkm-aelf wants to merge 2 commits into
mainfrom
fix/service-pool-grouped-routing
Open

ctkm-aelf wants to merge 2 commits into
mainfrom
fix/service-pool-grouped-routing

Conversation

@ctkm-aelf

@ctkm-aelf ctkm-aelf commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Group the searchable connection selector by original catalog service, with individual accounts/keys expanded beneath each heading. Keep different catalog identities separate even when their names match, and search original service names/slugs before pagination without broadening access.
  • Expose routing controls in the main form: move weighted and round-robin members, show cycle positions and configured weighted shares, and adjust fallback priorities and same-priority balancing. A weighted A(2), B(1) cycle is A → A → B; reordering gives B → A → A. Saving retains the current routing counter.
  • Fix the fresh-dialog Routing dropdown's ResizeObserver race and keep the picker usable in short/mobile viewports. Preserve the earlier unavailable-credential API correction, selection across searches, and saved member settings.

Test Plan

  • Full frontend suite: 4,118 tests in 412 files; 30 focused pool tests.
  • Frontend lint (no errors or new warnings) and production build.
  • Three permanent Playwright regressions against the production build: grouped selection, fresh Routing dialogs, and short viewports with a complete row fitting inside the scroll area.
  • Independent real API/CLI/browser acceptance: 20 checks covering create/edit/reopen/delete, original-service grouping/search, actual weighted/round-robin/priority dispatch, disabled members, retained cycle position, and the earlier HTTP 400 contract.
  • Independent browser checks: 30 fresh Routing dialogs and seven viewport sizes, with zero window/page/console errors.
  • Extended MongoDB 8 inspection regression: literal case-insensitive original-name/slug search before pagination, owner/service scopes, and no credential materialization.
  • Rust formatting and backend architecture boundary check.
  • Workspace Clippy in CI and AWS, GCP, and combined KMS feature builds.
  • Rebased CLI pool command and boundary tests: 31 passed.
  • Full backend CI passed on final head 9e7a402d, including the fix: settled pool attempts are never lease-lost; terminate hung tests after five minutes in CI #1739 runtime fix. Local MongoDB 8 rerun also passed every case affected by an earlier Mongo diagnostic-file crash, including all candidate-inspection cases; final-head CI supersedes the interrupted broader local run.
  • Final-head CI Pipeline, backend/frontend coverage, billing smoke, production backend build, all KMS builds, and all CodeQL analyses passed. GitHub reports no merge conflicts.

Checklist

  • Code follows the project's architecture rules.
  • No hardcoded secrets or credentials.
  • Error messages do not leak internal details.
  • API, service pool, and validation documentation updated.

Rebased onto latest main (ef830db7), including the settled-attempt lease correction in #1739. Follow-up to #1732 and #1680.

Merge status: ready for review. Normal squash merge was attempted and blocked by the main-branch ruleset requiring one approving review. No approval has been submitted; repository auto-merge is disabled.

@github-actions

github-actions Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

📊 Code coverage

Component Lines Threshold Status Δ vs base
Backend (nyxid) 87.58% 73% ✅ — 0.00
Frontend (vitest) 71.94% 15% ✅ 🔺 +0.04

Gate: line coverage must stay at or above the threshold. Ratchet plan (W21): Backend → 55%, CLI → 50%, Frontend → 30% by quarter end.

@ctkm-aelf
ctkm-aelf force-pushed the fix/service-pool-grouped-routing branch from 565b1be to 9e7a402 Compare October 2, 2026 20:34
@ctkm-aelf
ctkm-aelf marked this pull request as ready for review October 2, 2026 21:35
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.

1 participant