Skip to content

Harden widget config input handling#159

Merged
neonwatty merged 1 commit into
mainfrom
harden-widget-config-inputs
May 15, 2026
Merged

Harden widget config input handling#159
neonwatty merged 1 commit into
mainfrom
harden-widget-config-inputs

Conversation

@neonwatty
Copy link
Copy Markdown
Collaborator

@neonwatty neonwatty commented May 14, 2026

Summary

  • add shared widget sanitizers for HTML, URLs, CSS colors, font families, numeric values, pixel values, and shadow presets
  • validate widget data-* config before applying runtime behavior while preserving px compatibility for radius and border width
  • build trigger label/icon DOM safely instead of interpolating config into innerHTML
  • make required submitter fields imply visible fields at runtime
  • sanitize modal titles, issue links, and picker/widget styling inputs
  • update icon E2E coverage for the new URL policy and hostile label/icon config

Verification

  • npm run test
  • npm run typecheck
  • npm run lint (existing warnings only)
  • npm run build:widget
  • npx playwright test e2e/widget.spec.ts --project=chromium -g "Custom Icon"
  • npx playwright test --project=chromium --shard=2/2

@neonwatty neonwatty force-pushed the harden-widget-config-inputs branch from 559b779 to 9c1aa1a Compare May 14, 2026 23:38
@neonwatty neonwatty added this pull request to the merge queue May 15, 2026
Merged via the queue into main with commit 1016f07 May 15, 2026
6 checks passed
@neonwatty neonwatty deleted the harden-widget-config-inputs branch May 15, 2026 00:08
@github-actions
Copy link
Copy Markdown

🎉 This PR is included in version 1.33.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant