Release: dark mode fixes and quality improvements#297
Conversation
…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.
|
Deployment failed with the following error: Learn More: https://vercel.com/docs/concepts/projects/project-configuration |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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
♿ Accessibility Test ResultsOverall Status: ✅ 0/0 tests passed 🦮 WCAG 2.1 AA ComplianceNo WCAG test results available ⌨️ Keyboard NavigationNo keyboard navigation test results available 📊 Detailed ReportDownload the full HTML accessibility report from the workflow artifacts for:
🔍 Testing ChecklistOur accessibility tests verify:
Powered by @axe-core/playwright and Playwright |
❌ Visual Regression Test ResultsStatus: ❌ Visual regression tests failed Visual differences were detected! Please review:
📸 Baseline screenshots are committed to the repo for reproducible testing. |
⚡ 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:
Updated: 2026-04-03T19:31:06.932Z |
❌ Visual Regression Test ResultsStatus: ❌ Visual regression tests failed Visual differences were detected! Please review:
📸 Baseline screenshots are committed to the repo for reproducible testing. |
❌ Visual Regression Test ResultsStatus: ❌ Visual regression tests failed Visual differences were detected! Please review:
📸 Baseline screenshots are committed to the repo for reproducible testing. |
1 similar comment
❌ Visual Regression Test ResultsStatus: ❌ Visual regression tests failed Visual differences were detected! Please review:
📸 Baseline screenshots are committed to the repo for reproducible testing. |
❌ Visual Regression Test ResultsStatus: ❌ Visual regression tests failed Visual differences were detected! Please review:
📸 Baseline screenshots are committed to the repo for reproducible testing. |
Summary of Changes
This release includes dark mode fixes and quality improvements since the last release:
Dark Mode Fixes (⭐ Main Focus)
Alert.tsx- Better dark mode stylingCodeBlock.tsx- Improved Prism highlighter dark mode supportContactFormStub.tsx,Faq.tsx,IconGrid.tsx- Dark mode background handlingLayoutGrid.tsx,MainContentGrid.tsx- Grid component dark modePricingTable.tsx,TestimonialGrid.tsx- Complex components dark modeTextBlockGrid.tsx- Text block grid dark modeuseSafeTheme.tshook for safer theme accessprismHighlighter.tsfor dark mode code highlightingresolveBackground.tsutility for dark mode backgroundsNew Features
~/.code_puppy/agents/Documentation Updates
Issues Fixed
Breaking Changes
None - this is a patch/minor release with backward-compatible improvements.
Testing Performed
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)