Skip to content

Redesign Control dashboard shell - #12

Open
BenCodez wants to merge 4 commits into
codex/control-console-foundationfrom
codex/control-dashboard-shell
Open

Redesign Control dashboard shell#12
BenCodez wants to merge 4 commits into
codex/control-console-foundationfrom
codex/control-dashboard-shell

Conversation

@BenCodez

@BenCodez BenCodez commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • replace the top-tab navigation with a persistent grouped desktop sidebar and accessible mobile drawer
  • add a server-aware header, bounded command-style search, contextual actions, and responsive layout
  • rebuild Overview around real network health, logged vote events, VoteSite state, proxy context, actionable issues, topology, quick actions, and recent activity
  • preserve existing typed management, capability, session, CSRF, preview/apply, and inspection infrastructure
  • document dashboard health and accuracy boundaries

Validation

  • node --check src/main/resources/web/app.js
  • git diff --check
  • focused Maven tests: 79/79 passed
  • mvn -B clean verify: 144/144 passed and shaded JAR built
  • static HTML/CSP/ARIA validation passed; no local browser renderer was available, so rendered browser verification is not claimed

Stack

This PR is intentionally based on PR #11 branch codex/control-console-foundation so its diff contains only the dashboard shell slice. Retarget to main after #11 merges.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for security reviews. Please try again later.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 1, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-01T02:26:26.360238Z ae246c0 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@BenCodez

BenCodez commented Sep 1, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9177ce6030

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/main/resources/web/app.js Outdated
Comment thread src/main/resources/web/app.js
Comment thread src/main/resources/web/app.js Outdated
Comment thread src/main/resources/web/app.js Outdated
@BenCodez
BenCodez force-pushed the codex/control-dashboard-shell branch from 9177ce6 to 2b16787 Compare September 1, 2026 01:32
@BenCodez

BenCodez commented Sep 1, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2b16787e1f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/main/resources/web/index.html Outdated
Comment thread src/main/resources/web/app.js Outdated
@BenCodez
BenCodez force-pushed the codex/control-dashboard-shell branch from 2b16787 to ae246c0 Compare September 1, 2026 02:21
@BenCodez

BenCodez commented Sep 1, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ae246c09bf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

issues.push(issue('informational', 'Detailed health has not been loaded',
'Refresh the dashboard to inspect Vote Sites, VoteLog, configuration, and runtime state.', 'Refresh dashboard', 'overview'));
}
if (dashboardLoadedContext === dashboardContext()) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Surface failures of the initial overview inspection

When the initial overview request times out, fails, or returns malformed data, dashboardLoadedContext remains empty, so this condition prevents the recorded overview: 'failed' status from becoming a warning. The finally block then calls renderMetrics(), which overwrites the explicit error placed in attentionFeed; users instead see only “Detailed health has not been loaded,” an issue count of zero, and “No observed problems.” Handle the failed status even when no dashboard context was successfully loaded.

Useful? React with 👍 / 👎.

overview: ['Refresh dashboard', () => refreshDashboard()],
servers: ['Refresh servers', () => loadNodes()],
network: ['Run Network Doctor', () => runNetworkDoctor.click()],
configurations: ['Compare configuration', () => runDriftCheck.click()],

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Open the Compare view before running the header action

When the Configurations panel is currently showing Easy View or Full YAML, the new header action starts the drift read but never calls setConfigView('compare'). Its progress and results are written to the hidden drift-results element, so the action appears to do nothing while potentially running a long multi-node operation; switch to the Compare subview before triggering the check.

Useful? React with 👍 / 👎.

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