Fix CSP 'unsafe-eval' error preventing Remote DevTools connection #1934
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
#1783
Analysis
The
unsafe-eval
CSP error occurs inForm.tsx
when@rjsf/validator-ajv8
attempts to useeval()
for JSON schema validation. This happens because the library falls back to runtime compilation when precompiled validators are not available.Solution / Workaround
Addressing the root cause by migrating to precompiled validators would require significant refactoring, as
Form.tsx
is used with multiple schema configurations across multiple components. Yet the Remote Redux DevTool feature is unsuable without fixing the form error.Two simple workarounds were considered:
unsafe-eval
This PR opted for the first approach because the UI already constrains the
port
field to numeric values and thesecure
field to boolean values, making theeval
-based ajv validation redundant. The second approach was avoided as it would compromise the security of the Remote DevTools window.