Skip to content

Release: dark mode fixes and quality improvements#297

Merged
perasperaactual merged 15 commits into
mainfrom
dev
Apr 3, 2026
Merged

Release: dark mode fixes and quality improvements#297
perasperaactual merged 15 commits into
mainfrom
dev

Conversation

@perasperaactual
Copy link
Copy Markdown
Contributor

Summary of Changes

This release includes dark mode fixes and quality improvements since the last release:

Dark Mode Fixes (⭐ Main Focus)

  • Fixed dark mode improvements for demos and hackathons
  • Enhanced component dark mode support:
    • Alert.tsx - Better dark mode styling
    • CodeBlock.tsx - Improved Prism highlighter dark mode support
    • ContactFormStub.tsx, Faq.tsx, IconGrid.tsx - Dark mode background handling
    • LayoutGrid.tsx, MainContentGrid.tsx - Grid component dark mode
    • PricingTable.tsx, TestimonialGrid.tsx - Complex components dark mode
    • TextBlockGrid.tsx - Text block grid dark mode
  • Updated useSafeTheme.ts hook for safer theme access
  • Enhanced prismHighlighter.ts for dark mode code highlighting
  • Improved resolveBackground.ts utility for dark mode backgrounds

New Features

  • Hook System: Add scaffold hooks system for extensible post-scaffold processing. Pro packages can register hooks at lifecycle points (preScaffold, preInstall, postInstall, postScaffold) to inject dependencies, configure MCP servers, and add custom setup
  • SBOM Generation: Add SBOM generation with pluggable hook system for software bill of materials
  • Otter Postinstall: Add postinstall to install agents to ~/.code_puppy/agents/

Documentation Updates

  • Updated documentation post-sprint

Issues Fixed

  • Dark mode issues in multiple components
  • Code highlighting in dark mode

Breaking Changes

None - this is a patch/minor release with backward-compatible improvements.

Testing Performed

  • ✅ Format check passed
  • ✅ Lint passed (18 warnings - pre-existing)
  • ✅ All 584 tests passed
  • ✅ Build successful

Version Bumps

This PR includes version bumps for the following packages:

  • @stackwright/core (patch)
  • @stackwright/cli (minor)
  • @stackwright/scaffold-core (minor)
  • launch-stackwright (minor)
  • @stackwright/maplibre (minor)
  • @stackwright/mcp (minor)
  • @stackwright/nextjs (minor)

perasperaactual and others added 9 commits April 2, 2026 09:34
…ts/ (#289)

* feat(otters): add postinstall to install agents to ~/.code_puppy/agents/

* fix(cli): update @stackwright/otters version to ^0.2.0-alpha.0
- @stackwright/sbom-generator package with SPDX 2.3, CycloneDX 1.5 formats
- Hook system for Pro extensibility (preGenerate, postAnalyze, postFormat, etc.)
- CLI sbom command (generate, validate, diff)
- --no-sbom flag to skip generation
- Security reviewed and approved
- 43 tests passing
* feat(scripts): add SBOM generation with pluggable hook system

- @stackwright/sbom-generator package with SPDX 2.3, CycloneDX 1.5 formats
- Hook system for Pro extensibility (preGenerate, postAnalyze, postFormat, etc.)
- CLI sbom command (generate, validate, diff)
- --no-sbom flag to skip generation
- Security reviewed and approved
- 43 tests passing

* fix: exclude _font-links.json from scaffold template

feat(ci): add reusable setup action, fail-fast deps, path triggers

* ci: verify action.yml exists (trigger fresh CI run)

* fix(ci): add checkout step before local action reference

GitHub Actions requires actions/checkout@v4 before using local actions
like ./.github/actions/setup-stackwright - the repo must be checked
out before the action definition can be resolved.
* docs: update documentation post-sprint (brand otter shipped, font auto-loading)

* docs: add changeset for post-sprint docs update
…ng (#295)

* feat(scaffold): add hook system for extensible post-scaffold processing

- Add @stackwright/scaffold-core package with hook registry
- Hook lifecycle: preScaffold, preInstall, postInstall, postScaffold
- Pro packages can register hooks to inject dependencies, configure MCP
- Add --otter-raft flag to launch-stackwright for full auto-install
- Update CLI to run hooks at lifecycle points
- Update docs: CLAUDE.md, CONTRIBUTING.md, AGENTS.md

* fix(ci): allow lockfile updates in PRs, strict mode for branches

- PRs: pnpm install (allows updates, visible in diff)
- Branch pushes: pnpm install --frozen-lockfile (strict)

* fix(scaffold): check for empty packageJson object, not just undefined

Before: if (!packageJson) skipped building for empty {} passed by hooks
After: if (!packageJson || Object.keys(packageJson).length === 0) ensures build

* chore: update lockfile for @stackwright/scaffold-core

* docs(changeset): add changeset for scaffold hooks system

* fix(ci): add sbom-generator to scaffold smoke test pack list

The SBOM feature added @stackwright/sbom-generator as a dependency
of build-scripts, but the CI pack list wasn't updated. This caused
scaffold-smoke-test to fail when trying to fetch sbom-generator.
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 3, 2026

Deployment failed with the following error:

The `vercel.json` schema validation failed with the following message: should NOT have additional property `workspaces`

Learn More: https://vercel.com/docs/concepts/projects/project-configuration

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 3, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
stackwright-docs Error Error Apr 3, 2026 7:29pm

Comment thread packages/sbom-generator/src/normalizers/pnpm.ts Fixed
Replace \s+.*$ regex with safer split(' ')[0] operation
to prevent catastrophic backtracking on malicious input.

fix(theme): improve color contrast for WCAG AA compliance

Change appBar and footer textColor from 'secondary' to 'text'
to ensure proper contrast on light backgrounds in dark mode.
Conflicts resolved:
- packages/sbom-generator/src/normalizers/pnpm.ts: Keep ReDoS fix (split instead of regex)
- packages/sbom-generator/package.json: Keep version 0.1.0-alpha.0
- packages/cli/package.json: Keep @stackwright/scaffold-core dependency
- packages/otters/package.json: Keep version 0.2.0-alpha.2
- packages/otters/README.md: Clean up duplicated sections
- pnpm-lock.yaml: Use origin/main version
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 3, 2026

♿ Accessibility Test Results

Overall Status: ✅ 0/0 tests passed

🦮 WCAG 2.1 AA Compliance

No WCAG test results available

⌨️ Keyboard Navigation

No keyboard navigation test results available


⚠️ No accessibility tests were executed. Check the workflow logs for setup issues.

📊 Detailed Report

Download the full HTML accessibility report from the workflow artifacts for:

  • Detailed WCAG violation descriptions
  • Specific element selectors and fixes
  • Color contrast issues
  • Keyboard navigation flow analysis

🔍 Testing Checklist

Our accessibility tests verify:

  • ✅ WCAG 2.1 Level AA compliance
  • ✅ Color contrast in light and dark modes
  • ✅ Tab key navigation through all interactive elements
  • ✅ Focus indicators are visible
  • ✅ No keyboard traps
  • ✅ Skip links and ARIA landmarks
  • ✅ Screen reader compatibility

Powered by @axe-core/playwright and Playwright

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 3, 2026

❌ Visual Regression Test Results

Status: ❌ Visual regression tests failed

Visual differences were detected! Please review:

  1. Download the artifacts from this workflow run
  2. Check the visual-regression-diffs artifact for comparison images
  3. If changes are intentional, update snapshots locally:
    pnpm test:e2e --update-snapshots
    git add packages/e2e/tests/__screenshots__
    git commit -m "Update visual regression baselines"

📸 Baseline screenshots are committed to the repo for reproducible testing.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 3, 2026

⚡ Performance Benchmark Results

✅ Build Time Benchmarks: PASSED

❌ Bundle Size Benchmarks: FAILED

❌ Runtime Vitals Benchmarks: FAILED

📝 Note: Detailed results are available in the job logs.

🎯 Performance Budgets:

  • Build time: <70s total
  • First-load JS: <100KB gzipped
  • FCP: <1.5s, LCP: <2.5s, TTI: <3s

Updated: 2026-04-03T19:31:06.932Z

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 3, 2026

❌ Visual Regression Test Results

Status: ❌ Visual regression tests failed

Visual differences were detected! Please review:

  1. Download the artifacts from this workflow run
  2. Check the visual-regression-diffs artifact for comparison images
  3. If changes are intentional, update snapshots locally:
    pnpm test:e2e --update-snapshots
    git add packages/e2e/tests/__screenshots__
    git commit -m "Update visual regression baselines"

📸 Baseline screenshots are committed to the repo for reproducible testing.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 3, 2026

❌ Visual Regression Test Results

Status: ❌ Visual regression tests failed

Visual differences were detected! Please review:

  1. Download the artifacts from this workflow run
  2. Check the visual-regression-diffs artifact for comparison images
  3. If changes are intentional, update snapshots locally:
    pnpm test:e2e --update-snapshots
    git add packages/e2e/tests/__screenshots__
    git commit -m "Update visual regression baselines"

📸 Baseline screenshots are committed to the repo for reproducible testing.

1 similar comment
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 3, 2026

❌ Visual Regression Test Results

Status: ❌ Visual regression tests failed

Visual differences were detected! Please review:

  1. Download the artifacts from this workflow run
  2. Check the visual-regression-diffs artifact for comparison images
  3. If changes are intentional, update snapshots locally:
    pnpm test:e2e --update-snapshots
    git add packages/e2e/tests/__screenshots__
    git commit -m "Update visual regression baselines"

📸 Baseline screenshots are committed to the repo for reproducible testing.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 3, 2026

❌ Visual Regression Test Results

Status: ❌ Visual regression tests failed

Visual differences were detected! Please review:

  1. Download the artifacts from this workflow run
  2. Check the visual-regression-diffs artifact for comparison images
  3. If changes are intentional, update snapshots locally:
    pnpm test:e2e --update-snapshots
    git add packages/e2e/tests/__screenshots__
    git commit -m "Update visual regression baselines"

📸 Baseline screenshots are committed to the repo for reproducible testing.

@perasperaactual perasperaactual merged commit 53623f6 into main Apr 3, 2026
18 of 25 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.

2 participants