Skip to content

[DAS-Dashboard #1191/#1192] Small improvements on sidebar actions messages - #305

Merged
levisingularity merged 5 commits into
masterfrom
fixes-dashboard-sidebar
Aug 3, 2026
Merged

levisingularity merged 5 commits into
masterfrom
fixes-dashboard-sidebar

Conversation

@levisingularity

Copy link
Copy Markdown
Collaborator

Applies changes requested in #1191 and #1192:

image image

@coderabbitai

coderabbitai Bot commented Aug 3, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@levisingularity, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 1 minute

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 46fef65f-04e4-40e0-b89d-7fcfc99c7e00

📥 Commits

Reviewing files that changed from the base of the PR and between 09899db and 2f428e3.

📒 Files selected for processing (1)
  • das-dashboard/src/components/dashboard/MainContent/sidebar/AtomDBActionControl.jsx
  • Improves Start AtomDB and Start Architecture dialogs with service lists, server endpoints, warnings, and preserved line breaks.
  • AtomDB confirmation now loads defaults and derives deduplicated, sorted endpoints. Metadata-load failures use generic labels.
  • The change is dashboard-only. It does not change CLI behavior, Docker/container lifecycle, config or secrets handling, Debian packaging, or self-hosted runner deployment.
  • das-cli/tests/ contains related integration tests for AtomDB, services, Docker, and configuration. No dashboard component tests were found for the changed dialog, sidebar, or slider behavior.

Walkthrough

The dashboard now provides detailed AtomDB and architecture start confirmations, updates sidebar action ordering and state wiring, preserves dialog newlines, and refines the Attention Focus Strictness control layout and value display.

Changes

Dashboard action UI

Layer / File(s) Summary
Sidebar action wiring
das-dashboard/src/components/dashboard/MainContent/sidebar/SideBar.jsx
The sidebar renders AtomDB first and passes its availability, loading, busy-state, and infrastructure refresh handlers.
AtomDB confirmation flow
das-dashboard/src/components/dashboard/MainContent/sidebar/AtomDBActionControl.jsx
AtomDB startup loads configuration, resolves the type label, discovers sorted unique server endpoints, and displays a data-loss warning.
Confirmation message display
das-dashboard/src/components/dashboard/MainContent/sidebar/ArchitectureActionControl.jsx, das-dashboard/src/components/global_providers/DialogProvider.jsx
Architecture confirmations list selected service labels. Dialog content preserves newline formatting.
Attention strictness control layout
das-dashboard/src/components/configuration_page/Agents/AgentsParams/BaseParams.jsx
The control uses a half-width layout, refined typography, numeric formatting, and automatic slider value labels.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

Suggested reviewers: andre-senna


Caution

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

  • Ignore

❌ Failed checks (1 error)

Check name Status Explanation Resolution
Tests For Behavior Changes ❌ Error The PR changes dashboard action behavior and confirmation flows, but the merge-base diff contains only five production JSX files and no test updates; the description gives no test-omission justific... Add component tests for the changed Architecture, AtomDB, sidebar, dialog, and slider behavior, or explain in the PR description why tests are intentionally omitted.
✅ Passed checks (4 passed)
Check name Status Explanation
Description check ✅ Passed The description references issues #1191 and #1192 and describes the related sidebar action changes with supporting screenshots.
Title check ✅ Passed The title clearly identifies the sidebar action message improvements and matches the primary changes in the pull request.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fixes-dashboard-sidebar

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
das-dashboard/src/components/dashboard/MainContent/sidebar/AtomDBActionControl.jsx (1)

62-83: 🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win

Track confirmation preparation as a busy state.

When atomDbOnline is false, handleDatabaseAction awaits getConfigDefaults() before it calls showConfirm. setBusy runs only inside executeAsyncAction, after the user confirms.

During this wait, a second click can start another lookup and overwrite the dialog. Another sidebar action can also start. Set a preparation state before the await and clear it after showConfirm. Include it in LOADING_KEYS or use a separate disabled flag.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@das-dashboard/src/components/dashboard/MainContent/sidebar/AtomDBActionControl.jsx`
around lines 62 - 83, Update handleDatabaseAction to set a busy/preparation
state before awaiting getConfigDefaults and clear it after showConfirm
completes, including this state in LOADING_KEYS or the relevant disabled flag so
repeated clicks and other sidebar actions are blocked during confirmation
preparation.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@das-dashboard/src/components/dashboard/MainContent/sidebar/ArchitectureActionControl.jsx`:
- Around line 120-126: Add a component regression test for the confirmation flow
around showConfirm in ArchitectureActionControl, selecting a known subset of
services and asserting the exact confirmation message, including
ALL_SERVICES-resolved labels, their selected order, and bullet formatting.

In `@das-dashboard/src/components/dashboard/MainContent/sidebar/SideBar.jsx`:
- Around line 107-113: Update the sidebar status flow around loadInfraStatus and
AtomDBActionControl so AtomDB online state is stored per host rather than
aggregated across all hosts. Refresh the selected host’s status whenever
currentMachine changes, pass that host-specific status to AtomDBActionControl,
and keep the control disabled until the selected host’s status is known to
prevent choosing the wrong Start/Stop action.

---

Outside diff comments:
In
`@das-dashboard/src/components/dashboard/MainContent/sidebar/AtomDBActionControl.jsx`:
- Around line 62-83: Update handleDatabaseAction to set a busy/preparation state
before awaiting getConfigDefaults and clear it after showConfirm completes,
including this state in LOADING_KEYS or the relevant disabled flag so repeated
clicks and other sidebar actions are blocked during confirmation preparation.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: fb284704-3870-4ac4-9e4b-a352b62e6a1f

📥 Commits

Reviewing files that changed from the base of the PR and between b5474e2 and 09899db.

📒 Files selected for processing (5)
  • das-dashboard/src/components/configuration_page/Agents/AgentsParams/BaseParams.jsx
  • das-dashboard/src/components/dashboard/MainContent/sidebar/ArchitectureActionControl.jsx
  • das-dashboard/src/components/dashboard/MainContent/sidebar/AtomDBActionControl.jsx
  • das-dashboard/src/components/dashboard/MainContent/sidebar/SideBar.jsx
  • das-dashboard/src/components/global_providers/DialogProvider.jsx

@andre-senna

Copy link
Copy Markdown
Contributor

The "Start Architecture" message is OK but the "Start AtomDB" is not. The messages is misleading because it implies that any DBMS (on any port) will be affected and this is not accurate.

@levisingularity
levisingularity merged commit c4429d1 into master Aug 3, 2026
3 checks passed
@levisingularity
levisingularity deleted the fixes-dashboard-sidebar branch August 3, 2026 15:16
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.

2 participants