Skip to content

Feat/dashboard collab and UI upgrades - #112

Merged
MyNameIsEdi merged 3 commits into
mainfrom
feat/dashboard-collab-and-ui-upgrades
May 23, 2026
Merged

Feat/dashboard collab and UI upgrades#112
MyNameIsEdi merged 3 commits into
mainfrom
feat/dashboard-collab-and-ui-upgrades

Conversation

@MyNameIsEdi

@MyNameIsEdi MyNameIsEdi commented May 23, 2026

Copy link
Copy Markdown
Owner

Description

Fixes # (issue number)

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

Summary by CodeRabbit

  • New Features

    • Added /api/qa-agent endpoint with Gemini/Ollama multi-agent collaboration and SSE streaming.
    • Introduced "Edi M" AI-powered summaries for Playwright test runs via SSE.
    • Added full CRUD operations for Playwright spec files.
    • Added run history management and per-run log archival.
  • Enhancements

    • Improved Playwright Dashboard UI/UX and sidebar canvas rendering.
    • Enhanced logging for run archival operations.
    • Expanded documentation with integration testing guides and example restructuring.
  • Documentation

    • Updated README with updated feature descriptions and CLI agent table formatting.
    • Reorganized CHANGELOG with new "Unreleased" section.
    • Refined contributing guidelines and code of conduct.

Review Change Stack

MyNameIsEdi and others added 3 commits May 23, 2026 22:44
…for every run, UI polish

Three production fixes plus a feature upgrade for the Playwright Dashboard
and the QA Office chat panel:

- **Multi-agent collaboration** in /api/qa-agent: primary → critic → primary
  refine → Edi M synthesis. Auto-triggered when 2+ agents are tagged or the
  manager is mentioned. New SSE turn_start/turn_done/turn_verdict events
  produce a threaded conversation in chat, with colour-coded role pills.
- **Run logs persisted** alongside each archived run; clicking an old run
  re-hydrates the dashboard log panel. archiveRun() now logs success/failure
  to the server console so silent archive failures are visible.
- **Edi M summary now streams to chat for every Run Tests**, not just
  agent-generated dynamic runs. Phase 2 streamSummary() helper shared by
  /api/playwright/run and /api/run-dynamic-test.
- **Dashboard UI/UX polish**: KPI hero with progress ring + verdict, pill
  subtitle row, history-chart hover tooltip + moving-average trend line,
  sticky suite headers with smooth chevron rotation, copy-error button,
  cropped QA Office canvas (no more "blue void" above the office).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- server: drop unnecessary \- escape in runId sanitiser regex
- tests/sv-login: remove unused BASE_URL import
- PlaywrightDashboard: replace ternary-as-statement with explicit if/else
  in the multi-spec picker onChange (no-unused-expressions)
- OfficePage + PlaywrightDashboard: remove orphaned
  `eslint-disable-next-line react-hooks/exhaustive-deps` directives —
  the rule isn't registered in this project's ESLint config so the
  directive itself was reported as an error
- PlaywrightDashboard: drop two unused `// eslint-disable-line`
  trailing comments flagged by no-unused-disable
- README: mention multi-agent collab + persistent run history features
  so the docs-check script sees a docs update alongside the code change

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Auto-format 115 files with Prettier to fix the failing format:check
workflow step. Also removes the temporary PR_BODY.md file.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented May 23, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 1e02b531-a01e-429e-ac0c-e267638b9956

📥 Commits

Reviewing files that changed from the base of the PR and between f7a1652 and abb5d2a.

📒 Files selected for processing (116)
  • .github/ISSUE_TEMPLATE/bug_report.md
  • .github/ISSUE_TEMPLATE/feature_request.md
  • .github/pull_request_template.md
  • CHANGELOG.md
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • README.md
  • SECURITY.md
  • docs/INTEGRATION_TESTING.md
  • examples/README.md
  • examples/api-integration-test.ts
  • examples/ecommerce-checkout.ts
  • examples/skill-template/README.md
  • examples/skill-template/skill.ts
  • playwright-report/index.html
  • playwright.config.ts
  • playwright.sv-students.config.ts
  • server/index.ts
  • src/agents/auto-pom/index.ts
  • src/agents/explore/index.ts
  • src/agents/self-healing/index.ts
  • src/agents/visual-a11y/index.ts
  • src/agents/visual-regression/index.ts
  • src/skills/data-gen/index.ts
  • src/skills/log-analyzer/index.ts
  • tests/sv-a11y.spec.ts
  • tests/sv-api.spec.ts
  • tests/sv-docs.spec.ts
  • tests/sv-helpers.ts
  • tests/sv-home.spec.ts
  • tests/sv-login.spec.ts
  • tests/sv-navigation.spec.ts
  • tests/sv-register.spec.ts
  • ui/public/assets/asset-index.json
  • ui/public/assets/default-layout-1.json
  • ui/public/assets/furniture-catalog.json
  • ui/public/assets/furniture/BIN/manifest.json
  • ui/public/assets/furniture/BOOKSHELF/manifest.json
  • ui/public/assets/furniture/CACTUS/manifest.json
  • ui/public/assets/furniture/CLOCK/manifest.json
  • ui/public/assets/furniture/COFFEE_TABLE/manifest.json
  • ui/public/assets/furniture/CUSHIONED_BENCH/manifest.json
  • ui/public/assets/furniture/CUSHIONED_CHAIR/manifest.json
  • ui/public/assets/furniture/DESK/manifest.json
  • ui/public/assets/furniture/DOUBLE_BOOKSHELF/manifest.json
  • ui/public/assets/furniture/LARGE_PAINTING/manifest.json
  • ui/public/assets/furniture/PC/manifest.json
  • ui/public/assets/furniture/PLANT/manifest.json
  • ui/public/assets/furniture/PLANT_2/manifest.json
  • ui/public/assets/furniture/POT/manifest.json
  • ui/public/assets/furniture/SMALL_PAINTING/manifest.json
  • ui/public/assets/furniture/SOFA/manifest.json
  • ui/public/assets/furniture/TABLE_FRONT/manifest.json
  • ui/public/assets/furniture/WHITEBOARD/manifest.json
  • ui/public/assets/furniture/WOODEN_BENCH/manifest.json
  • ui/public/assets/furniture/WOODEN_CHAIR/manifest.json
  • ui/src/App.tsx
  • ui/src/components/AgentCard.tsx
  • ui/src/components/AppShell.tsx
  • ui/src/components/CodeSnippet.tsx
  • ui/src/components/Navbar.tsx
  • ui/src/components/OfficeCanvas.tsx
  • ui/src/components/PromptCard.tsx
  • ui/src/components/RunOutput.tsx
  • ui/src/components/Sidebar.tsx
  • ui/src/components/SkillCard.tsx
  • ui/src/components/TopBar.tsx
  • ui/src/components/guides/AiTestingAnimation.tsx
  • ui/src/components/guides/AndOrOrderAnimation.tsx
  • ui/src/components/guides/ApiPlaywrightAnimation.tsx
  • ui/src/components/guides/ApiPostmanAnimation.tsx
  • ui/src/components/guides/DbFundamentalsAnimation.tsx
  • ui/src/components/guides/DevOpsQaAnimation.tsx
  • ui/src/components/guides/FirstTestAnimation.tsx
  • ui/src/components/guides/GroupHavingAnimation.tsx
  • ui/src/components/guides/InterviewTipsAnimation.tsx
  • ui/src/components/guides/IotIntroAnimation.tsx
  • ui/src/components/guides/JoinsAnimation.tsx
  • ui/src/components/guides/LearningSummaryAnimation.tsx
  • ui/src/components/guides/LoadTypesAnimation.tsx
  • ui/src/components/guides/LocatorsAnimation.tsx
  • ui/src/components/guides/ModuleHero.tsx
  • ui/src/components/guides/ModuleMapAnimation.tsx
  • ui/src/components/guides/PomAnimation.tsx
  • ui/src/components/guides/PyramidAnimation.tsx
  • ui/src/components/guides/SecurityTestingAnimation.tsx
  • ui/src/components/guides/SelectWhereAnimation.tsx
  • ui/src/components/guides/SetupPlaywrightAnimation.tsx
  • ui/src/components/guides/SqlIntroAnimation.tsx
  • ui/src/components/guides/SqlQaQueriesAnimation.tsx
  • ui/src/components/guides/WhenToAutomateAnimation.tsx
  • ui/src/context/SettingsContext.tsx
  • ui/src/data/guidesData.ts
  • ui/src/hooks/useRtl.ts
  • ui/src/i18n.ts
  • ui/src/main.tsx
  • ui/src/office/assetLoader.ts
  • ui/src/office/components/OfficeCanvas.tsx
  • ui/src/office/sprites/bubble-permission.json
  • ui/src/office/sprites/bubble-waiting.json
  • ui/src/pages/AgentsPage.tsx
  • ui/src/pages/CheatsheetPage.tsx
  • ui/src/pages/DailyMissionsPage.tsx
  • ui/src/pages/DocsPage.tsx
  • ui/src/pages/GeneratePage.tsx
  • ui/src/pages/GuidesPage.tsx
  • ui/src/pages/HomePage.tsx
  • ui/src/pages/OfficePage.tsx
  • ui/src/pages/PlaygroundPage.tsx
  • ui/src/pages/PlaywrightDashboard.tsx
  • ui/src/pages/PromptsPage.tsx
  • ui/src/pages/SettingsPage.tsx
  • ui/src/pages/SkillsPage.tsx
  • ui/src/pages/SubmitAgentPage.tsx
  • ui/src/transport/index.ts
  • ui/vite.config.ts

📝 Walkthrough

Walkthrough

Adds SSE-driven QA agent and Playwright run endpoints, archives run logs, and streams AI summaries. Updates Playwright configs, refactors many UI components/pages and tests for consistent formatting, adjusts docs/templates, and fixes JSON assets.

Changes

Server SSE features and Dashboard/tooling

Layer / File(s) Summary
Server SSE endpoints and orchestration
server/index.ts
Adds /api/playground SSE, Gemini/Ollama /api/qa-agent (with collaborate loop), Ollama helpers, Playwright run/archive endpoints, file CRUD, artifacts listing, and Edi M summary streaming.
Playwright configuration and report embedding
playwright.config.ts, playwright.sv-students.config.ts, playwright-report/index.html
Refactors runtime config wiring, enforces serial CI settings, and updates embedded Playwright report.
Changelog and templates
CHANGELOG.md, .github/*
Documents Unreleased items and expands PR/issue templates.

UI, Docs, and Examples refactor

Layer / File(s) Summary
UI components/pages formatting and minor content tweaks
ui/src/components/*, ui/src/pages/*, ui/src/context/*, ui/src/hooks/*, ui/src/i18n.ts, ui/src/main.tsx
Large style/formatting pass across components, guides, pages, and settings; adds a new placeholder bullet in GeneratePage and significantly expands GuidesPage structure.
Docs and examples
docs/INTEGRATION_TESTING.md, examples/*, README.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md
Reformats docs and examples; updates feature tables and structured example sections.

Tests and assets

Layer / File(s) Summary
Playwright specs and helpers
tests/*
Refactors specs/helpers for consistent TS style; adds a suite-level timeout in sv-home.spec.ts.
Asset JSON fixes
ui/public/assets/*, ui/src/office/sprites/*.json
Normalizes JSON formatting and fixes closing braces/whitespace; no data changes.

Sequence Diagram(s)

sequenceDiagram
  participant Client
  participant Server
  participant Playwright
  participant Archive
  participant Gemini

  Client->>Server: POST /api/playwright/run (SSE)
  Server->>Playwright: spawn tests (with testMatch)
  Playwright-->>Server: stdout/stderr lines
  Server->>Archive: archiveRun(results, _runLog)
  Server-->>Client: SSE run events
  Server->>Gemini: buildSummaryPrompt + streamSummary
  Gemini-->>Server: summary chunks
  Server-->>Client: SSE summary_* events, done
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Possibly related PRs

  • MyNameIsEdi/open-qa#109 — Similar /api/run-dynamic-test SSE flow and Edi M summary streaming in server/index.ts.
  • MyNameIsEdi/open-qa#111 — Overlapping Gemini collaborate SSE, archived run logs, and summary streaming infrastructure.
  • MyNameIsEdi/open-qa#108 — Adds /api/qa-agent SSE with Gemini/Ollama and Playwright testMatch wiring changes.

Poem

A rabbit taps the server’s keys,
Streams dance out like summer breeze;
Gemini chats, Playwright runs,
Logs archived under twin suns.
UI tidied, tests aligned—
Hop, hop! Release refined.
Carrots checked. Ship on time. 🥕✨

✨ 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 feat/dashboard-collab-and-ui-upgrades

@MyNameIsEdi
MyNameIsEdi merged commit e950d9c into main May 23, 2026
10 of 11 checks passed
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