fix(daemon): correct dashboard modal button placement and spacing - #101
Merged
Conversation
Address UX review findings (design review doc, AAP-80841/ANSTRAT-2262): - Separate Cancel from the primary action in all 3 modals so a mis-click can't fire Save/Apply. - Add an X close button to the Add/Edit Provider wizard modal. - Engine picker is single-select — clicking a tile now advances directly instead of requiring a redundant Next click. - Replace the dual-list's shared middle Add/Remove column with per-row Add/Remove/Configure actions. - Remove the duplicate 'Back to Models tab' button (dead code path) and fix the mislabeled footer button when Configure Model is opened from the Models tab. - Change input focus color from brand red to blue so a focused field is never mistaken for a validation error. - Mark the one required field (Provider Name) and label Base URL optional. PF6 migration and branding are explicitly out of scope per team decision (dashboard is intentionally RHDS + Alpine; native UI config will move to the Portal).
sudhirverma
marked this pull request as draft
August 4, 2026 18:11
- Model config edits now happen on a scratch draft (wizardEditingDraft) and only commit to wizardEnabledModels on explicit Save — Cancel/Back now truly discards in-progress edits instead of mutating live state. - Rename "Configure Model" flow to save-and-return-to-list with a brief confirmation flash, rather than silently applying on every keystroke. - Wrap rh-tabs in a white card (border + radius) instead of sitting directly on the grey page background. - Pill-shaped buttons (border-radius: 999px) instead of 3px. - Mark optional fields (Virtual Name, Policy) explicitly as "(optional)". - Add Provider button right-aligned above the providers list.
…sync Dashboard MCP Servers tab only let you edit enabled state; adding/removing a server required hand-editing config.yaml. Add a modal (mirrors the Add Provider flow) for creating, editing, and deleting mcp_servers entries. Also fixes McpClientPool.syncWithConfig: a server whose connect attempt failed was tracked in `statuses` but never added to `clients`, so removing it from config left a stale error row forever since sync only reconciled against `clients`. Reconcile against the union of both instead.
Explain what tools are, where they come from, and give clearer next steps when none are registered.
sudhirverma
marked this pull request as ready for review
August 5, 2026 04:55
shatakshiiii
approved these changes
Aug 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Minor cosmetic/UX fixes to the native Abbenay dashboard's modals, per the UX review notes (AAP-80841 / ANSTRAT-2262). Team decision: no PF6/major redesign needed for this dashboard (intentionally RHDS + Alpine; primary config UI will eventually live in the Portal) — only button placement and modal fixes are in scope here.
margin-right: auto) so a mis-click can't fire Save/Apply.#ee0000, same as the error/selected-tile red) to blue (#06c) so a focused field is never mistaken for a validation error.*+ a "Required" legend; label Base URL "(optional)".Out of scope (per team decision): PF6 migration, RH/Ansible masthead branding, tabs-on-grey styling, and the conceptual relationship between MCP Servers/Policies/Tools tabs — these are Portal-integration design questions, not cosmetic fixes.
Commits
fix(daemon): correct dashboard modal button placement and spacing— implements all of the above in the single static dashboard fileTest plan
npm run lint -w packages/daemonpasses locally (0 errors)npm test -w packages/daemonpasses locally (804/804, with full permissions — the 3 e2e socket/network tests only fail under my sandboxed dev tool, not in a normal environment)npm run ci:build— static HTML only, no build step touches this fileFix: https://redhat.atlassian.net/browse/AAP-85338