Skip to content

feat: enrich browser configs with context fields and merge browser card into CI/Env#262

Merged
PhenX merged 3 commits into
mainfrom
claude/merge-ci-env-browser-blocks-k1whk2
Jul 16, 2026
Merged

feat: enrich browser configs with context fields and merge browser card into CI/Env#262
PhenX merged 3 commits into
mainfrom
claude/merge-ci-env-browser-blocks-k1whk2

Conversation

@PhenX

@PhenX PhenX commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

What & why

This change enriches the demo seed data with realistic browser configuration context (device scale factor, mobile/touch flags, locale, timezone, color scheme, user agent) and refactors the test case summary UI to merge the standalone Browser card into the CI/Env card as a dense browser line.

Why:

  • Browser configs now carry the full context needed for meaningful tooltips (via BrowserBadge) and dense inline display
  • The merged CI/Env/Browser card reduces visual clutter on the test case summary while keeping all browser details accessible via the badge tooltip
  • Demo data is more realistic: each project's browser config reflects its actual testing scenario (e.g., headless Chrome for API tests, 2x DPR dark mode for component visual tests, iPhone emulation for mobile Safari)

Changes:

  1. generate-demo-seed.mjs: Expanded BROWSER_CONFIGS with full context fields (deviceScaleFactor, isMobile, hasTouch, locale, timezoneId, colorScheme, userAgent) for each of the 4 projects. Added a CHROME_UA constant for reuse. Updated project comments to describe the testing scenario.
  2. TestCaseSummary.vue: Removed the standalone Browser card and merged it into CiEnvCard by passing the browser prop. Updated grid layout logic to count CI/Env/Browser as a single column.
  3. CiEnvCard.vue: Added optional browser prop and a dense browser line (icon + screen resolution) that displays when a browser is provided. Full browser config remains accessible via the BrowserBadge tooltip.
  4. seed-dev-from-demo.mjs: Fixed SQL statement splitting to correctly handle semicolons inside single-quoted string literals (e.g., user agents, commit messages). Added splitSqlStatements() function with proper quote-aware parsing.
  5. AGENTS.md: Updated documentation to reflect the merged card behavior and added a new "Running the app locally with sample data" section with step-by-step instructions for local verification with the dev DB.
  6. package.json: Added app:seed:dev npm script as an alias for the seed command.

How was it tested?

  • Verified the SQL statement splitting logic handles quoted strings correctly (e.g., iPhone user agent with semicolons)
  • Confirmed the grid layout correctly counts the merged CI/Env/Browser card as a single column
  • Demo seed data regenerated and version hash updated

Checklist

  • PR title follows Conventional Commits (feat(...))
  • No new tests required (refactor + data enrichment; existing component tests cover the merged card)
  • Docs updated (AGENTS.md with local dev workflow)

https://claude.ai/code/session_01WQnH7cNyDiC1BmPk3gqGdh

claude added 3 commits July 16, 2026 19:53
…se page

The test-run-case summary showed CI / Env and Browser as two separate
metadata cards. Merge them: CiEnvCard now takes an optional browser prop
and renders a dense browser line (badge icon + screen resolution, with the
full config in the badge tooltip), and TestCaseSummary drops the standalone
Browser block and reflows the grid accordingly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WQnH7cNyDiC1BmPk3gqGdh
The dev-DB seeder split public/demo/seed.sql on every semicolon, which
shattered any INSERT whose values contained a ';' (e.g. a browser
user-agent string), dropping that row and cascading foreign-key failures.
Split on statement boundaries instead, ignoring semicolons inside
single-quoted string literals.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WQnH7cNyDiC1BmPk3gqGdh
…a setup

Give the demo browser configs the richer context fields (deviceScaleFactor,
isMobile/hasTouch, locale, timezone, colorScheme, userAgent) so the merged
CI / Env card's browser line and the badge tooltip have real content to show
(e.g. Mobile Safari at 3x, a dark-mode 2x profile). Add an app:seed:dev
script and an AGENTS.md section documenting how to run the app locally with
sample data for verification and screenshots.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WQnH7cNyDiC1BmPk3gqGdh
@github-actions

Copy link
Copy Markdown
Contributor

Coverage Report for Reporter (./reporter)

Status Category Percentage Covered / Total
🔵 Lines 64.01% 1450 / 2265
🔵 Statements 62.39% 1649 / 2643
🔵 Functions 70.43% 243 / 345
🔵 Branches 58.86% 1195 / 2030
File CoverageNo changed files found.
Generated in workflow #901 for commit 959f90d by the Vitest Coverage Report Action

@github-actions

Copy link
Copy Markdown
Contributor

Coverage Report for Application (./application)

Status Category Percentage Covered / Total
🔵 Lines 23.47% 1828 / 7786
🔵 Statements 23.38% 2120 / 9067
🔵 Functions 22.43% 321 / 1431
🔵 Branches 20.11% 1445 / 7185
File CoverageNo changed files found.
Generated in workflow #901 for commit 959f90d by the Vitest Coverage Report Action

@PhenX
PhenX merged commit 2c94ca9 into main Jul 16, 2026
7 checks passed
@PhenX
PhenX deleted the claude/merge-ci-env-browser-blocks-k1whk2 branch July 16, 2026 20:11
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