Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace brace with ace-build and react-ace #1331

Merged
merged 1 commit into from
Jan 20, 2022

Conversation

rhyshort
Copy link
Contributor

Overview

To enable users to remove the CSP directive style-src unsafe-inline, the
ace editor version needs to be upgraded to at least 1.4.13 which
includes the global option useStrictCSP. In order to do this
brace has had to be replaced since it hasn't had an update in 4 years.
react-ace is chosen as a replacement as it uses ace-builds and wraps
ace in a react component. The option useStrictCSP is enabled,
with the required style sheets imported, where possible properties
that can be handled by react-ace are passed directly to AceEditor
as part of the render() call, otherwise customizations are left
to be handled by the codeeditor component.

Testing recommendations

The changes should be covered by the existing nightwatch tests and from an end user perspective the changes should be not be noticable.

GitHub issue number

n/a

Related Pull Requests

n/a

Checklist

  • Code is written and works correctly;
  • Changes are covered by tests;
  • Documentation reflects the changes;
  • Update rebar.config.script with the correct tag once a new Fauxton release is made

Copy link
Contributor

@Antonio-Maranhao Antonio-Maranhao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found a couple of issues.

To enable removal of the CSP directive `style-src unsafe-inline`, the
ace editor version needs to be upgraded to at least 1.4.13 which
includes the global option `useStrictCSP`. In order to do this
brace has had to be replaced since it hasn't had an update in 4 years.
react-ace is chosen as a replacement as it uses ace-builds and wraps
ace in a react component. The option `useStrictCSP` is enabled,
with the required style sheets imported, where possible properties
that can be handled by react-ace are passed directly to `AceEditor`
as part of the `render()` call, otherwise customizations are left
to be handled by the codeeditor component.
@Antonio-Maranhao Antonio-Maranhao merged commit 9fc82fb into apache:main Jan 20, 2022
@rhyshort rhyshort deleted the fauxton-replace-brace branch January 20, 2022 14:30
Antonio-Maranhao added a commit to Antonio-Maranhao/couchdb-fauxton that referenced this pull request Jan 28, 2022
Antonio-Maranhao added a commit that referenced this pull request Jan 31, 2022
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.

None yet

2 participants