react-native-render-html
react-native-render-html copied to clipboard
Error thrown when rendering html with '&' sign
Decision Table
- [X] My issue does not look like “The HTML attribute 'xxx' is ignored” (unless we claim support for it)
- [X] My issue does not look like “The HTML element
<yyy>is not rendered”
Good Faith Declaration
- [X] I have read the HELP document here: https://git.io/JBi6R
- [X] I have read the CONTRIBUTING document here: https://git.io/JJ0Pg
- [X] I have confirmed that this bug has not been reported yet
Description
RenderHTMLSource breaks whenever passing & in the source.html prop
Screenshot

React Native Information
├─ @babel/plugin-proposal-private-property-in-object@npm:7.21.0
│ ├─ Instances: 1
│ ├─ Version: 7.21.0
│ │
│ └─ Dependencies
│ ├─ @babel/helper-annotate-as-pure@npm:^7.18.6 → npm:7.18.6
│ ├─ @babel/helper-create-class-features-plugin@npm:^7.21.0 → npm:7.21.0
│ ├─ @babel/helper-plugin-utils@npm:^7.20.2 → npm:7.20.2
│ └─ @babel/plugin-syntax-private-property-in-object@npm:^7.14.5 → npm:7.14.5
│
├─ @babel/runtime@npm:7.21.0
│ ├─ Version: 7.21.0
│ │
│ └─ Dependencies
│ └─ regenerator-runtime@npm:^0.13.11 → npm:0.13.11
│
├─ @gorhom/bottom-sheet@npm:4.4.5
│ ├─ Instances: 1
│ ├─ Version: 4.4.5
│ │
│ └─ Dependencies
│ ├─ @gorhom/portal@npm:1.0.14 → npm:1.0.14
│ └─ invariant@npm:^2.2.4 → npm:2.2.4
│
├─ @graphql-eslint/eslint-plugin@npm:3.14.3
│ ├─ Instances: 1
│ ├─ Version: 3.14.3
│ │
│ └─ Dependencies
│ ├─ @babel/code-frame@npm:^7.18.6 → npm:7.18.6
│ ├─ @graphql-tools/code-file-loader@npm:^7.3.6 → npm:7.3.15
│ ├─ @graphql-tools/graphql-tag-pluck@npm:^7.3.6 → npm:7.4.2
│ ├─ @graphql-tools/utils@npm:^9.0.0 → npm:9.1.3
│ ├─ chalk@npm:^4.1.2 → npm:4.1.2
│ ├─ debug@npm:^4.3.4 → npm:4.3.4
│ ├─ fast-glob@npm:^3.2.12 → npm:3.2.12
│ ├─ graphql-config@npm:^4.4.0 → npm:4.4.0
│ ├─ graphql-depth-limit@npm:^1.1.0 → npm:1.1.0
│ ├─ lodash.lowercase@npm:^4.3.0 → npm:4.3.0
│ └─ tslib@npm:^2.4.1 → npm:2.4.1
│
├─ @react-hook/merged-ref@npm:1.3.2
│ ├─ Instances: 1
│ └─ Version: 1.3.2
│
├─ @react-native-async-storage/async-storage@npm:1.16.2
│ ├─ Instances: 1
│ ├─ Version: 1.16.2
│ │
│ └─ Dependencies
│ └─ merge-options@npm:^3.0.4 → npm:3.0.4
│
├─ @react-native-community/eslint-config@npm:3.2.0
│ ├─ Instances: 1
│ ├─ Version: 3.2.0
│ │
│ └─ Dependencies
│ ├─ @babel/core@npm:^7.14.0 → npm:7.20.12
│ ├─ @babel/eslint-parser@npm:^7.18.2 → npm:7.19.1
│ ├─ @react-native-community/eslint-plugin@npm:^1.1.0 → npm:1.3.0
│ ├─ @typescript-eslint/eslint-plugin@npm:^5.30.5 → npm:5.48.1
│ ├─ @typescript-eslint/parser@npm:^5.30.5 → npm:5.48.1
│ ├─ eslint-config-prettier@npm:^8.5.0 → npm:8.6.0
│ ├─ eslint-plugin-eslint-comments@npm:^3.2.0 → npm:3.2.0
│ ├─ eslint-plugin-ft-flow@npm:^2.0.1 → npm:2.0.3
│ ├─ eslint-plugin-jest@npm:^26.5.3 → npm:26.9.0
│ ├─ eslint-plugin-prettier@npm:^4.2.1 → npm:4.2.1
│ ├─ eslint-plugin-react-hooks@npm:^4.6.0 → npm:4.6.0
│ ├─ eslint-plugin-react-native@npm:^4.0.0 → npm:4.0.0
│ └─ eslint-plugin-react@npm:^7.30.1 → npm:7.31.11
│
├─ @react-navigation/bottom-tabs@npm:6.2.0
│ ├─ Instances: 1
│ ├─ Version: 6.2.0
│ │
│ └─ Dependencies
│ ├─ @react-navigation/elements@npm:^1.3.1 → npm:1.3.13
│ ├─ color@npm:^3.1.3 → npm:3.2.1
│ └─ warn-once@npm:^0.1.0 → npm:0.1.1
│
├─ @react-navigation/drawer@npm:6.5.7
│ ├─ Instances: 1
│ ├─ Version: 6.5.7
│ │
│ └─ Dependencies
│ ├─ @react-navigation/elements@npm:^1.3.13 → npm:1.3.13
│ ├─ color@npm:^4.2.3 → npm:4.2.3
│ └─ warn-once@npm:^0.1.0 → npm:0.1.1
│
├─ @react-navigation/native-stack@npm:6.5.0
│ ├─ Instances: 1
│ ├─ Version: 6.5.0
│ │
│ └─ Dependencies
│ ├─ @react-navigation/elements@npm:^1.3.1 → npm:1.3.13
│ └─ warn-once@npm:^0.1.0 → npm:0.1.1
│
├─ @react-navigation/native@npm:6.0.8
│ ├─ Instances: 1
│ ├─ Version: 6.0.8
│ │
│ └─ Dependencies
│ ├─ @react-navigation/core@npm:^6.1.1 → npm:6.4.6
│ ├─ escape-string-regexp@npm:^4.0.0 → npm:4.0.0
│ ├─ fast-deep-equal@npm:^3.1.3 → npm:3.1.3
│ └─ nanoid@npm:^3.1.23 → npm:3.3.4
│
├─ @sentry/react-native@npm:4.14.0
│ ├─ Instances: 1
│ ├─ Version: 4.14.0
│ │
│ └─ Dependencies
│ ├─ @sentry/browser@npm:7.32.1 → npm:7.32.1
│ ├─ @sentry/cli@npm:1.74.4 → npm:1.74.4
│ ├─ @sentry/core@npm:7.32.1 → npm:7.32.1
│ ├─ @sentry/hub@npm:7.32.1 → npm:7.32.1
│ ├─ @sentry/integrations@npm:7.32.1 → npm:7.32.1
│ ├─ @sentry/react@npm:7.32.1 → npm:7.32.1
│ ├─ @sentry/tracing@npm:7.32.1 → npm:7.32.1
│ ├─ @sentry/types@npm:7.32.1 → npm:7.32.1
│ ├─ @sentry/utils@npm:7.32.1 → npm:7.32.1
│ └─ @sentry/wizard@npm:1.4.0 → npm:1.4.0
│
├─ @shopify/flash-list@npm:1.4.1
│ ├─ Instances: 1
│ ├─ Version: 1.4.1
│ │
│ └─ Dependencies
│ ├─ recyclerlistview@npm:4.2.0 → npm:4.2.0
│ └─ tslib@npm:2.4.0 → npm:2.4.0
│
├─ @types/pluralize@npm:0.0.29
│ └─ Version: 0.0.29
│
├─ @types/react-native-dotenv@npm:0.2.0
│ └─ Version: 0.2.0
│
├─ @types/react-native@npm:0.67.17
│ ├─ Version: 0.67.17
│ │
│ └─ Dependencies
│ └─ @types/react@npm:^17 → npm:17.0.53
│
├─ @types/react-test-renderer@npm:17.0.2
│ ├─ Version: 17.0.2
│ │
│ └─ Dependencies
│ └─ @types/react@npm:^17 → npm:17.0.53
│
├─ @types/react@npm:17.0.53
│ ├─ Version: 17.0.53
│ │
│ └─ Dependencies
│ ├─ @types/prop-types@npm:* → npm:15.7.5
│ ├─ @types/scheduler@npm:* → npm:0.16.2
│ └─ csstype@npm:^3.0.2 → npm:3.1.1
│
├─ @types/validator@npm:13.7.12
│ └─ Version: 13.7.12
│
├─ @typescript-eslint/eslint-plugin@npm:5.48.1
│ ├─ Instances: 1
│ ├─ Version: 5.48.1
│ │
│ └─ Dependencies
│ ├─ @typescript-eslint/scope-manager@npm:5.48.1 → npm:5.48.1
│ ├─ @typescript-eslint/type-utils@npm:5.48.1 → npm:5.48.1
│ ├─ @typescript-eslint/utils@npm:5.48.1 → npm:5.48.1
│ ├─ debug@npm:^4.3.4 → npm:4.3.4
│ ├─ ignore@npm:^5.2.0 → npm:5.2.4
│ ├─ natural-compare-lite@npm:^1.4.0 → npm:1.4.0
│ ├─ regexpp@npm:^3.2.0 → npm:3.2.0
│ ├─ semver@npm:^7.3.7 → npm:7.3.8
│ └─ tsutils@npm:^3.21.0 → npm:3.21.0
│
├─ @typescript-eslint/parser@npm:5.48.1
│ ├─ Instances: 1
│ ├─ Version: 5.48.1
│ │
│ └─ Dependencies
│ ├─ @typescript-eslint/scope-manager@npm:5.48.1 → npm:5.48.1
│ ├─ @typescript-eslint/types@npm:5.48.1 → npm:5.48.1
│ ├─ @typescript-eslint/typescript-estree@npm:5.48.1 → npm:5.48.1
│ └─ debug@npm:^4.3.4 → npm:4.3.4
│
├─ @project/mobile@workspace:@project/mobile
│ ├─ Version: 0.0.1
│ │
│ └─ Dependencies
│ ├─ @babel/runtime@npm:^7.21.0 → npm:7.21.0
│ ├─ @types/pluralize@npm:^0.0.29 → npm:0.0.29
│ ├─ @types/react-native-dotenv@npm:0.2.0 → npm:0.2.0
│ ├─ @types/react-native@npm:^0.67.3 → npm:0.67.17
│ ├─ @types/react-test-renderer@npm:^17.0.2 → npm:17.0.2
│ ├─ @types/react@npm:^17.0.37 → npm:17.0.53
│ ├─ @types/validator@npm:^13 → npm:13.7.12
│ ├─ babel-plugin-module-resolver@npm:^4.1.0 → npm:4.1.0
│ ├─ concurrently@npm:^6.4.0 → npm:6.5.1
│ ├─ depcheck@npm:^1.4.3 → npm:1.4.3
│ ├─ eslint@npm:* → npm:8.31.0
│ ├─ graphql@npm:15.x → npm:15.8.0
│ ├─ lodash.kebabcase@npm:4.1.1 → npm:4.1.1
│ ├─ metro-config@npm:0.66.2 → npm:0.66.2
│ ├─ pluralize@npm:^8.0.0 → npm:8.0.0
│ ├─ postcss@npm:^8.4.5 → npm:8.4.21
│ ├─ react-native-dotenv@npm:3.3.1 → npm:3.3.1
│ ├─ react-native-sha256@npm:1.4.7 → npm:1.4.7
│ ├─ react@npm:17.0.2 → npm:17.0.2
│ ├─ validator@npm:^13.9.0 → npm:13.9.0
│ ├─ @babel/plugin-proposal-private-property-in-object@npm:^7.21.0 → npm:7.21.0 [c9f69]
│ ├─ @gorhom/bottom-sheet@npm:^4.4.5 → npm:4.4.5 [c9f69]
│ ├─ @graphql-eslint/eslint-plugin@npm:^3.13.1 → npm:3.14.3 [b9713]
│ ├─ @react-hook/merged-ref@npm:1.3.2 → npm:1.3.2 [c9f69]
│ ├─ @react-native-async-storage/async-storage@npm:1.16.2 → npm:1.16.2 [c9f69]
│ ├─ @react-native-community/eslint-config@npm:* → npm:3.2.0 [c9f69]
│ ├─ @react-navigation/bottom-tabs@npm:6.2.0 → npm:6.2.0 [c9f69]
│ ├─ @react-navigation/drawer@npm:^6.5.4 → npm:6.5.7 [c9f69]
│ ├─ @react-navigation/native-stack@npm:6.5.0 → npm:6.5.0 [c9f69]
│ ├─ @react-navigation/native@npm:6.0.8 → npm:6.0.8 [c9f69]
│ ├─ @sentry/react-native@npm:^4.14.0 → npm:4.14.0 [c9f69]
│ ├─ @shopify/flash-list@npm:^1.4.0 → npm:1.4.1 [c9f69]
│ ├─ @typescript-eslint/eslint-plugin@npm:^5.30.5 → npm:5.48.1 [cc907]
│ ├─ @typescript-eslint/parser@npm:^5.30.5 → npm:5.48.1 [cc907]
│ ├─ eslint-config-prettier@npm:^8.5.0 → npm:8.6.0 [b9713]
│ ├─ eslint-plugin-graphql@npm:^4.0.0 → npm:4.0.0 [b9713]
│ ├─ eslint-plugin-jest@npm:^27.2.1 → npm:27.2.1 [c9f69]
│ ├─ eslint-plugin-react-hooks@npm:^4.6.0 → npm:4.6.0 [b9713]
│ ├─ eslint-plugin-react@npm:^7.31.11 → npm:7.31.11 [b9713]
│ ├─ eslint-plugin-simple-import-sort@npm:^8.0.0 → npm:8.0.0 [b9713]
│ ├─ eslint-plugin-storybook@npm:^0.6.10 → npm:0.6.10 [b9713]
│ ├─ metro-react-native-babel-preset@npm:^0.67.0 → npm:0.67.0 [c9f69]
│ ├─ react-native-gesture-handler@npm:2.3.2 → npm:2.3.2 [c9f69]
│ ├─ react-native-get-random-values@npm:^1.8.0 → npm:1.8.0 [c9f69]
│ ├─ react-native-inappbrowser-reborn@npm:3.6.3 → npm:3.6.3 [c9f69]
│ ├─ react-native-linear-gradient@npm:2.5.6 → npm:2.5.6 [c9f69]
│ ├─ react-native-notifications@npm:^4.2.4 → npm:4.3.3 [c9f69]
│ ├─ react-native-reanimated@npm:2.4.1 → npm:2.4.1 [c9f69]
│ ├─ react-native-render-html@npm:6.3.4 → npm:6.3.4 [c9f69]
│ ├─ react-native-safe-area-context@npm:4.1.4 → npm:4.1.4 [c9f69]
│ ├─ react-native-screens@npm:3.13.1 → npm:3.13.1 [c9f69]
│ ├─ react-native-snap-carousel@npm:^3.9.1 → npm:3.9.1 [c9f69]
│ ├─ react-native-svg-transformer@npm:^1.0.0 → npm:1.0.0 [c9f69]
│ ├─ react-native-svg@npm:12.3.0 → npm:12.3.0 [c9f69]
│ ├─ react-native-url-polyfill@npm:1.3.0 → npm:1.3.0 [c9f69]
│ ├─ react-native@npm:0.67.3 → npm:0.67.3 [c9f69]
│ ├─ react-test-renderer@npm:17.0.2 → npm:17.0.2 [c9f69]
│ ├─ tailwind-rn@npm:4.2.0 → npm:4.2.0 [c9f69]
│ ├─ tailwindcss@npm:^3.2.4 → npm:3.2.4 [34b87]
│ └─ use-error-boundary@npm:^2.0.6 → npm:2.0.6 [c9f69]
│
├─ babel-plugin-module-resolver@npm:4.1.0
│ ├─ Version: 4.1.0
│ │
│ └─ Dependencies
│ ├─ find-babel-config@npm:^1.2.0 → npm:1.2.0
│ ├─ glob@npm:^7.1.6 → npm:7.2.3
│ ├─ pkg-up@npm:^3.1.0 → npm:3.1.0
│ ├─ reselect@npm:^4.0.0 → npm:4.1.7
│ └─ resolve@patch:resolve@^1.13.1#~builtin<compat/resolve> → patch:resolve@npm%3A1.22.1#~builtin<compat/resolve>::version=1.22.1&hash=07638b
│
├─ concurrently@npm:6.5.1
│ ├─ Version: 6.5.1
│ │
│ ├─ Exported Binaries
│ │ └─ concurrently
│ │
│ └─ Dependencies
│ ├─ chalk@npm:^4.1.0 → npm:4.1.2
│ ├─ date-fns@npm:^2.16.1 → npm:2.29.3
│ ├─ lodash@npm:^4.17.21 → npm:4.17.21
│ ├─ rxjs@npm:^6.6.3 → npm:6.6.7
│ ├─ spawn-command@npm:^0.0.2-1 → npm:0.0.2
│ ├─ supports-color@npm:^8.1.0 → npm:8.1.1
│ ├─ tree-kill@npm:^1.2.2 → npm:1.2.2
│ └─ yargs@npm:^16.2.0 → npm:16.2.0
│
├─ depcheck@npm:1.4.3
│ ├─ Version: 1.4.3
│ │
│ ├─ Exported Binaries
│ │ └─ depcheck
│ │
│ └─ Dependencies
│ ├─ @babel/parser@npm:7.16.4 → npm:7.16.4
│ ├─ @babel/traverse@npm:^7.12.5 → npm:7.20.12
│ ├─ @vue/compiler-sfc@npm:^3.0.5 → npm:3.2.45
│ ├─ camelcase@npm:^6.2.0 → npm:6.3.0
│ ├─ cosmiconfig@npm:^7.0.0 → npm:7.1.0
│ ├─ deps-regex@npm:^0.1.4 → npm:0.1.4
│ ├─ ignore@npm:^5.1.8 → npm:5.2.4
│ ├─ is-core-module@npm:^2.4.0 → npm:2.11.0
│ ├─ js-yaml@npm:^3.14.0 → npm:3.14.1
│ ├─ json5@npm:^2.1.3 → npm:2.2.3
│ ├─ lodash@npm:^4.17.20 → npm:4.17.21
│ ├─ minimatch@npm:^3.0.4 → npm:3.1.2
│ ├─ multimatch@npm:^5.0.0 → npm:5.0.0
│ ├─ please-upgrade-node@npm:^3.2.0 → npm:3.2.0
│ ├─ query-ast@npm:^1.0.3 → npm:1.0.5
│ ├─ readdirp@npm:^3.5.0 → npm:3.6.0
│ ├─ require-package-name@npm:^2.0.1 → npm:2.0.1
│ ├─ resolve@patch:resolve@^1.18.1#~builtin<compat/resolve> → patch:resolve@npm%3A1.22.1#~builtin<compat/resolve>::version=1.22.1&hash=07638b
│ ├─ sass@npm:^1.29.0 → npm:1.57.1
│ ├─ scss-parser@npm:^1.0.4 → npm:1.0.6
│ ├─ semver@npm:^7.3.2 → npm:7.3.8
│ ├─ yargs@npm:^16.1.0 → npm:16.2.0
│ └─ debug@npm:^4.1.0 → npm:4.3.4 [29474]
│
├─ eslint-config-prettier@npm:8.6.0
│ ├─ Instances: 1
│ ├─ Version: 8.6.0
│ │
│ └─ Exported Binaries
│ └─ eslint-config-prettier
│
├─ eslint-plugin-graphql@npm:4.0.0
│ ├─ Instances: 1
│ ├─ Version: 4.0.0
│ │
│ └─ Dependencies
│ ├─ @babel/runtime@npm:^7.10.0 → npm:7.20.7
│ ├─ graphql-config@npm:^3.0.2 → npm:3.4.1
│ ├─ lodash.flatten@npm:^4.4.0 → npm:4.4.0
│ └─ lodash.without@npm:^4.4.0 → npm:4.4.0
│
├─ eslint-plugin-jest@npm:27.2.1
│ ├─ Instances: 1
│ ├─ Version: 27.2.1
│ │
│ └─ Dependencies
│ └─ @typescript-eslint/utils@npm:^5.10.0 → npm:5.48.1
│
├─ eslint-plugin-react-hooks@npm:4.6.0
│ ├─ Instances: 1
│ └─ Version: 4.6.0
│
├─ eslint-plugin-react@npm:7.31.11
│ ├─ Instances: 1
│ ├─ Version: 7.31.11
│ │
│ └─ Dependencies
│ ├─ array-includes@npm:^3.1.6 → npm:3.1.6
│ ├─ array.prototype.flatmap@npm:^1.3.1 → npm:1.3.1
│ ├─ array.prototype.tosorted@npm:^1.1.1 → npm:1.1.1
│ ├─ doctrine@npm:^2.1.0 → npm:2.1.0
│ ├─ estraverse@npm:^5.3.0 → npm:5.3.0
│ ├─ jsx-ast-utils@npm:^2.4.1 || ^3.0.0 → npm:3.3.3
│ ├─ minimatch@npm:^3.1.2 → npm:3.1.2
│ ├─ object.entries@npm:^1.1.6 → npm:1.1.6
│ ├─ object.fromentries@npm:^2.0.6 → npm:2.0.6
│ ├─ object.hasown@npm:^1.1.2 → npm:1.1.2
│ ├─ object.values@npm:^1.1.6 → npm:1.1.6
│ ├─ prop-types@npm:^15.8.1 → npm:15.8.1
│ ├─ resolve@patch:resolve@^2.0.0-next.3#~builtin<compat/resolve> → patch:resolve@npm%3A2.0.0-next.4#~builtin<compat/resolve>::version=2.0.0-next.4&hash=07638b
│ ├─ semver@npm:^6.3.0 → npm:6.3.0
│ └─ string.prototype.matchall@npm:^4.0.8 → npm:4.0.8
│
├─ eslint-plugin-simple-import-sort@npm:8.0.0
│ ├─ Instances: 1
│ └─ Version: 8.0.0
│
├─ eslint-plugin-storybook@npm:0.6.10
│ ├─ Instances: 1
│ ├─ Version: 0.6.10
│ │
│ └─ Dependencies
│ ├─ @storybook/csf@npm:^0.0.1 → npm:0.0.1
│ ├─ @typescript-eslint/utils@npm:^5.45.0 → npm:5.48.1
│ ├─ requireindex@npm:^1.1.0 → npm:1.2.0
│ └─ ts-dedent@npm:^2.2.0 → npm:2.2.0
│
├─ eslint@npm:8.31.0
│ ├─ Version: 8.31.0
│ │
│ ├─ Exported Binaries
│ │ └─ eslint
│ │
│ └─ Dependencies
│ ├─ @eslint/eslintrc@npm:^1.4.1 → npm:1.4.1
│ ├─ @humanwhocodes/config-array@npm:^0.11.8 → npm:0.11.8
│ ├─ @humanwhocodes/module-importer@npm:^1.0.1 → npm:1.0.1
│ ├─ @nodelib/fs.walk@npm:^1.2.8 → npm:1.2.8
│ ├─ ajv@npm:^6.10.0 → npm:6.12.6
│ ├─ chalk@npm:^4.0.0 → npm:4.1.2
│ ├─ cross-spawn@npm:^7.0.2 → npm:7.0.3
│ ├─ doctrine@npm:^3.0.0 → npm:3.0.0
│ ├─ escape-string-regexp@npm:^4.0.0 → npm:4.0.0
│ ├─ eslint-scope@npm:^7.1.1 → npm:7.1.1
│ ├─ eslint-visitor-keys@npm:^3.3.0 → npm:3.3.0
│ ├─ espree@npm:^9.4.0 → npm:9.4.1
│ ├─ esquery@npm:^1.4.0 → npm:1.4.0
│ ├─ esutils@npm:^2.0.2 → npm:2.0.3
│ ├─ fast-deep-equal@npm:^3.1.3 → npm:3.1.3
│ ├─ file-entry-cache@npm:^6.0.1 → npm:6.0.1
│ ├─ find-up@npm:^5.0.0 → npm:5.0.0
│ ├─ glob-parent@npm:^6.0.2 → npm:6.0.2
│ ├─ globals@npm:^13.19.0 → npm:13.19.0
│ ├─ grapheme-splitter@npm:^1.0.4 → npm:1.0.4
│ ├─ ignore@npm:^5.2.0 → npm:5.2.4
│ ├─ import-fresh@npm:^3.0.0 → npm:3.3.0
│ ├─ imurmurhash@npm:^0.1.4 → npm:0.1.4
│ ├─ is-glob@npm:^4.0.0 → npm:4.0.3
│ ├─ is-path-inside@npm:^3.0.3 → npm:3.0.3
│ ├─ js-sdsl@npm:^4.1.4 → npm:4.2.0
│ ├─ js-yaml@npm:^4.1.0 → npm:4.1.0
│ ├─ json-stable-stringify-without-jsonify@npm:^1.0.1 → npm:1.0.1
│ ├─ levn@npm:^0.4.1 → npm:0.4.1
│ ├─ lodash.merge@npm:^4.6.2 → npm:4.6.2
│ ├─ minimatch@npm:^3.1.2 → npm:3.1.2
│ ├─ natural-compare@npm:^1.4.0 → npm:1.4.0
│ ├─ optionator@npm:^0.9.1 → npm:0.9.1
│ ├─ regexpp@npm:^3.2.0 → npm:3.2.0
│ ├─ strip-ansi@npm:^6.0.1 → npm:6.0.1
│ ├─ strip-json-comments@npm:^3.1.0 → npm:3.1.1
│ ├─ text-table@npm:^0.2.0 → npm:0.2.0
│ ├─ debug@npm:^4.1.0 → npm:4.3.4 [29474]
│ └─ eslint-utils@npm:^3.0.0 → npm:3.0.0 [da99c]
│
├─ graphql@npm:15.8.0
│ └─ Version: 15.8.0
│
├─ lodash.kebabcase@npm:4.1.1
│ └─ Version: 4.1.1
│
├─ metro-config@npm:0.66.2
│ ├─ Version: 0.66.2
│ │
│ └─ Dependencies
│ ├─ cosmiconfig@npm:^5.0.5 → npm:5.2.1
│ ├─ jest-validate@npm:^26.5.2 → npm:26.6.2
│ ├─ metro-cache@npm:0.66.2 → npm:0.66.2
│ ├─ metro-core@npm:0.66.2 → npm:0.66.2
│ ├─ metro-runtime@npm:0.66.2 → npm:0.66.2
│ └─ metro@npm:0.66.2 → npm:0.66.2
│
├─ metro-react-native-babel-preset@npm:0.67.0
│ ├─ Instances: 1
│ ├─ Version: 0.67.0
│ │
│ └─ Dependencies
│ ├─ @babel/core@npm:^7.14.0 → npm:7.20.12
│ ├─ @babel/plugin-proposal-class-properties@npm:^7.0.0 → npm:7.18.6
│ ├─ @babel/plugin-proposal-export-default-from@npm:^7.0.0 → npm:7.18.10
│ ├─ @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.0.0 → npm:7.18.6
│ ├─ @babel/plugin-proposal-object-rest-spread@npm:^7.0.0 → npm:7.20.7
│ ├─ @babel/plugin-proposal-optional-catch-binding@npm:^7.0.0 → npm:7.18.6
│ ├─ @babel/plugin-proposal-optional-chaining@npm:^7.0.0 → npm:7.20.7
│ ├─ @babel/plugin-syntax-dynamic-import@npm:^7.0.0 → npm:7.8.3
│ ├─ @babel/plugin-syntax-export-default-from@npm:^7.0.0 → npm:7.18.6
│ ├─ @babel/plugin-syntax-flow@npm:^7.2.0 → npm:7.18.6
│ ├─ @babel/plugin-syntax-nullish-coalescing-operator@npm:^7.0.0 → npm:7.8.3
│ ├─ @babel/plugin-syntax-optional-chaining@npm:^7.0.0 → npm:7.8.3
│ ├─ @babel/plugin-transform-arrow-functions@npm:^7.0.0 → npm:7.20.7
│ ├─ @babel/plugin-transform-async-to-generator@npm:^7.0.0 → npm:7.20.7
│ ├─ @babel/plugin-transform-block-scoping@npm:^7.0.0 → npm:7.20.11
│ ├─ @babel/plugin-transform-classes@npm:^7.0.0 → npm:7.20.7
│ ├─ @babel/plugin-transform-computed-properties@npm:^7.0.0 → npm:7.20.7
│ ├─ @babel/plugin-transform-destructuring@npm:^7.0.0 → npm:7.20.7
│ ├─ @babel/plugin-transform-exponentiation-operator@npm:^7.0.0 → npm:7.18.6
│ ├─ @babel/plugin-transform-flow-strip-types@npm:^7.0.0 → npm:7.19.0
│ ├─ @babel/plugin-transform-for-of@npm:^7.0.0 → npm:7.18.8
│ ├─ @babel/plugin-transform-function-name@npm:^7.0.0 → npm:7.18.9
│ ├─ @babel/plugin-transform-literals@npm:^7.0.0 → npm:7.18.9
│ ├─ @babel/plugin-transform-modules-commonjs@npm:^7.0.0 → npm:7.20.11
│ ├─ @babel/plugin-transform-object-assign@npm:^7.0.0 → npm:7.18.6
│ ├─ @babel/plugin-transform-parameters@npm:^7.0.0 → npm:7.20.7
│ ├─ @babel/plugin-transform-react-display-name@npm:^7.0.0 → npm:7.18.6
│ ├─ @babel/plugin-transform-react-jsx-self@npm:^7.0.0 → npm:7.18.6
│ ├─ @babel/plugin-transform-react-jsx-source@npm:^7.0.0 → npm:7.19.6
│ ├─ @babel/plugin-transform-react-jsx@npm:^7.0.0 → npm:7.20.7
│ ├─ @babel/plugin-transform-regenerator@npm:^7.0.0 → npm:7.20.5
│ ├─ @babel/plugin-transform-runtime@npm:^7.0.0 → npm:7.19.6
│ ├─ @babel/plugin-transform-shorthand-properties@npm:^7.0.0 → npm:7.18.6
│ ├─ @babel/plugin-transform-spread@npm:^7.0.0 → npm:7.20.7
│ ├─ @babel/plugin-transform-sticky-regex@npm:^7.0.0 → npm:7.18.6
│ ├─ @babel/plugin-transform-template-literals@npm:^7.0.0 → npm:7.18.9
│ ├─ @babel/plugin-transform-typescript@npm:^7.5.0 → npm:7.20.7
│ ├─ @babel/plugin-transform-unicode-regex@npm:^7.0.0 → npm:7.18.6
│ ├─ @babel/template@npm:^7.0.0 → npm:7.20.7
│ └─ react-refresh@npm:^0.4.0 → npm:0.4.3
│
├─ pluralize@npm:8.0.0
│ └─ Version: 8.0.0
│
├─ postcss@npm:8.4.21
│ ├─ Version: 8.4.21
│ │
│ └─ Dependencies
│ ├─ nanoid@npm:^3.3.4 → npm:3.3.4
│ ├─ picocolors@npm:^1.0.0 → npm:1.0.0
│ └─ source-map-js@npm:^1.0.2 → npm:1.0.2
│
├─ react-native-dotenv@npm:3.3.1
│ ├─ Version: 3.3.1
│ │
│ └─ Dependencies
│ └─ dotenv@npm:^10.0.0 → npm:10.0.0
│
├─ react-native-gesture-handler@npm:2.3.2
│ ├─ Instances: 1
│ ├─ Version: 2.3.2
│ │
│ └─ Dependencies
│ ├─ @egjs/hammerjs@npm:^2.0.17 → npm:2.0.17
│ ├─ hoist-non-react-statics@npm:^3.3.0 → npm:3.3.2
│ ├─ invariant@npm:^2.2.4 → npm:2.2.4
│ ├─ lodash@npm:^4.17.21 → npm:4.17.21
│ └─ prop-types@npm:^15.7.2 → npm:15.8.1
│
├─ react-native-get-random-values@npm:1.8.0
│ ├─ Instances: 1
│ ├─ Version: 1.8.0
│ │
│ └─ Dependencies
│ └─ fast-base64-decode@npm:^1.0.0 → npm:1.0.0
│
├─ react-native-inappbrowser-reborn@npm:3.6.3
│ ├─ Instances: 1
│ ├─ Version: 3.6.3
│ │
│ └─ Dependencies
│ ├─ invariant@npm:^2.2.4 → npm:2.2.4
│ └─ opencollective-postinstall@npm:^2.0.2 → npm:2.0.3
│
├─ react-native-linear-gradient@npm:2.5.6
│ ├─ Instances: 1
│ └─ Version: 2.5.6
│
├─ react-native-notifications@npm:4.3.3
│ ├─ Instances: 1
│ └─ Version: 4.3.3
│
├─ react-native-reanimated@npm:2.4.1
│ ├─ Instances: 1
│ ├─ Version: 2.4.1
│ │
│ └─ Dependencies
│ ├─ @babel/plugin-transform-object-assign@npm:^7.10.4 → npm:7.18.6
│ ├─ @types/invariant@npm:^2.2.35 → npm:2.2.35
│ ├─ invariant@npm:^2.2.4 → npm:2.2.4
│ ├─ lodash.isequal@npm:^4.5.0 → npm:4.5.0
│ ├─ mockdate@npm:^3.0.2 → npm:3.0.5
│ ├─ react-native-screens@npm:^3.4.0 → npm:3.18.2
│ └─ string-hash-64@npm:^1.0.3 → npm:1.0.3
│
├─ react-native-render-html@npm:6.3.4
│ ├─ Instances: 1
│ ├─ Version: 6.3.4
│ │
│ └─ Dependencies
│ ├─ @jsamr/counter-style@npm:^2.0.1 → npm:2.0.2
│ ├─ @jsamr/react-native-li@npm:^2.3.0 → npm:2.3.1
│ ├─ @native-html/transient-render-engine@npm:11.2.3 → npm:11.2.3
│ ├─ @types/ramda@npm:^0.27.40 → npm:0.27.66
│ ├─ @types/urijs@npm:^1.19.15 → npm:1.19.19
│ ├─ prop-types@npm:^15.5.7 → npm:15.8.1
│ ├─ ramda@npm:^0.27.2 → npm:0.27.2
│ ├─ stringify-entities@npm:^3.1.0 → npm:3.1.0
│ └─ urijs@npm:^1.19.6 → npm:1.19.11
│
├─ react-native-safe-area-context@npm:4.1.4
│ ├─ Instances: 1
│ └─ Version: 4.1.4
│
├─ react-native-screens@npm:3.13.1
│ ├─ Instances: 1
│ ├─ Version: 3.13.1
│ │
│ └─ Dependencies
│ ├─ react-freeze@npm:^1.0.0 → npm:1.0.3
│ └─ warn-once@npm:^0.1.0 → npm:0.1.1
│
├─ react-native-sha256@npm:1.4.7
│ └─ Version: 1.4.7
│
├─ react-native-snap-carousel@npm:3.9.1
│ ├─ Instances: 1
│ ├─ Version: 3.9.1
│ │
│ └─ Dependencies
│ ├─ prop-types@npm:^15.6.1 → npm:15.8.1
│ └─ react-addons-shallow-compare@npm:15.6.2 → npm:15.6.2
│
├─ react-native-svg-transformer@npm:1.0.0
│ ├─ Instances: 1
│ ├─ Version: 1.0.0
│ │
│ └─ Dependencies
│ ├─ @svgr/core@npm:^6.1.2 → npm:6.5.1
│ ├─ @svgr/plugin-svgo@npm:^6.1.2 → npm:6.5.1
│ └─ path-dirname@npm:^1.0.2 → npm:1.0.2
│
├─ react-native-svg@npm:12.3.0
│ ├─ Instances: 1
│ ├─ Version: 12.3.0
│ │
│ └─ Dependencies
│ ├─ css-select@npm:^4.2.1 → npm:4.3.0
│ └─ css-tree@npm:^1.0.0-alpha.39 → npm:1.1.3
│
├─ react-native-url-polyfill@npm:1.3.0
│ ├─ Instances: 1
│ ├─ Version: 1.3.0
│ │
│ └─ Dependencies
│ └─ whatwg-url-without-unicode@npm:8.0.0-3 → npm:8.0.0-3
│
├─ react-native@npm:0.67.3
│ ├─ Instances: 1
│ ├─ Version: 0.67.3
│ │
│ ├─ Exported Binaries
│ │ └─ react-native
│ │
│ └─ Dependencies
│ ├─ @jest/create-cache-key-function@npm:^27.0.1 → npm:27.5.1
│ ├─ @react-native-community/cli-platform-android@npm:^6.0.0 → npm:6.3.1
│ ├─ @react-native-community/cli-platform-ios@npm:^6.0.0 → npm:6.2.1
│ ├─ @react-native-community/cli@npm:^6.0.0 → npm:6.4.0
│ ├─ @react-native/assets@npm:1.0.0 → npm:1.0.0
│ ├─ @react-native/normalize-color@npm:2.0.0 → npm:2.0.0
│ ├─ @react-native/polyfills@npm:2.0.0 → npm:2.0.0
│ ├─ abort-controller@npm:^3.0.0 → npm:3.0.0
│ ├─ anser@npm:^1.4.9 → npm:1.4.10
│ ├─ base64-js@npm:^1.1.2 → npm:1.5.1
│ ├─ event-target-shim@npm:^5.0.1 → npm:5.0.1
│ ├─ hermes-engine@npm:~0.9.0 → npm:0.9.0
│ ├─ invariant@npm:^2.2.4 → npm:2.2.4
│ ├─ jsc-android@npm:^250230.2.1 → npm:250230.2.1
│ ├─ metro-react-native-babel-transformer@npm:0.66.2 → npm:0.66.2
│ ├─ metro-runtime@npm:0.66.2 → npm:0.66.2
│ ├─ metro-source-map@npm:0.66.2 → npm:0.66.2
│ ├─ nullthrows@npm:^1.1.1 → npm:1.1.1
│ ├─ pretty-format@npm:^26.5.2 → npm:26.6.2
│ ├─ promise@npm:^8.0.3 → npm:8.3.0
│ ├─ prop-types@npm:^15.7.2 → npm:15.8.1
│ ├─ react-devtools-core@npm:4.19.1 → npm:4.19.1
│ ├─ react-native-codegen@npm:^0.0.8 → npm:0.0.8
│ ├─ react-refresh@npm:^0.4.0 → npm:0.4.3
│ ├─ regenerator-runtime@npm:^0.13.2 → npm:0.13.11
│ ├─ scheduler@npm:^0.20.2 → npm:0.20.2
│ ├─ stacktrace-parser@npm:^0.1.3 → npm:0.1.10
│ ├─ use-subscription@npm:^1.0.0 → npm:1.8.0
│ ├─ whatwg-fetch@npm:^3.0.0 → npm:3.6.2
│ └─ ws@npm:^6.1.4 → npm:6.2.2
│
├─ react-test-renderer@npm:17.0.2
│ ├─ Instances: 1
│ ├─ Version: 17.0.2
│ │
│ └─ Dependencies
│ ├─ object-assign@npm:^4.1.1 → npm:4.1.1
│ ├─ react-is@npm:^17.0.2 → npm:17.0.2
│ ├─ react-shallow-renderer@npm:^16.13.1 → npm:16.15.0
│ └─ scheduler@npm:^0.20.2 → npm:0.20.2
│
├─ react@npm:17.0.2
│ ├─ Version: 17.0.2
│ │
│ └─ Dependencies
│ ├─ loose-envify@npm:^1.1.0 → npm:1.4.0
│ └─ object-assign@npm:^4.1.1 → npm:4.1.1
│
├─ tailwind-rn@npm:4.2.0
│ ├─ Instances: 1
│ ├─ Version: 4.2.0
│ │
│ ├─ Exported Binaries
│ │ └─ tailwind-rn
│ │
│ └─ Dependencies
│ ├─ @react-native-community/hooks@npm:^2.8.1 → npm:2.8.1
│ ├─ chokidar@npm:^3.5.2 → npm:3.5.3
│ ├─ color-string@npm:^1.9.0 → npm:1.9.1
│ ├─ css-mediaquery@npm:^0.1.2 → npm:0.1.2
│ ├─ css-to-react-native@npm:^3.0.0 → npm:3.0.0
│ ├─ css@npm:^3.0.0 → npm:3.0.0
│ └─ meow@npm:^7.0.1 → npm:7.1.1
│
├─ tailwindcss@npm:3.2.4
│ ├─ Instances: 1
│ ├─ Version: 3.2.4
│ │
│ ├─ Exported Binaries
│ │ ├─ tailwind
│ │ └─ tailwindcss
│ │
│ └─ Dependencies
│ ├─ arg@npm:^5.0.2 → npm:5.0.2
│ ├─ chokidar@npm:^3.5.3 → npm:3.5.3
│ ├─ color-name@npm:^1.1.4 → npm:1.1.4
│ ├─ detective@npm:^5.2.1 → npm:5.2.1
│ ├─ didyoumean@npm:^1.2.2 → npm:1.2.2
│ ├─ dlv@npm:^1.1.3 → npm:1.1.3
│ ├─ fast-glob@npm:^3.2.12 → npm:3.2.12
│ ├─ glob-parent@npm:^6.0.2 → npm:6.0.2
│ ├─ is-glob@npm:^4.0.3 → npm:4.0.3
│ ├─ lilconfig@npm:^2.0.6 → npm:2.0.6
│ ├─ micromatch@npm:^4.0.5 → npm:4.0.5
│ ├─ normalize-path@npm:^3.0.0 → npm:3.0.0
│ ├─ object-hash@npm:^3.0.0 → npm:3.0.0
│ ├─ picocolors@npm:^1.0.0 → npm:1.0.0
│ ├─ postcss-import@npm:^14.1.0 → npm:14.1.0
│ ├─ postcss-js@npm:^4.0.0 → npm:4.0.0
│ ├─ postcss-load-config@npm:^3.1.4 → npm:3.1.4
│ ├─ postcss-nested@npm:6.0.0 → npm:6.0.0
│ ├─ postcss-selector-parser@npm:^6.0.10 → npm:6.0.11
│ ├─ postcss-value-parser@npm:^4.2.0 → npm:4.2.0
│ ├─ postcss@npm:^8.4.18 → npm:8.4.21
│ ├─ quick-lru@npm:^5.1.1 → npm:5.1.1
│ └─ resolve@patch:resolve@^1.22.1#~builtin<compat/resolve> → patch:resolve@npm%3A1.22.1#~builtin<compat/resolve>::version=1.22.1&hash=07638b
│
├─ use-error-boundary@npm:2.0.6
│ ├─ Instances: 1
│ └─ Version: 2.0.6
│
└─ validator@npm:13.9.0
└─ Version: 13.9.0
RNRH Version
6.3.4
Tested Platforms
- [ ] Android
- [X] iOS
- [ ] Web
- [ ] MacOS
- [ ] Windows
Reproduction Platforms
- [ ] Android
- [X] iOS
- [ ] Web
- [ ] MacOS
- [ ] Windows
Minimal, Reproducible Example
<RenderHTMLSource
source={{ html: '<p>&</p>' }}
contentWidth={contentWidth}
/>
Additional Notes
No response
I have the same issue, any solution?
Most certainly a bug in https://github.com/fb55/htmlparser2 ; will try to upgrade to latest version available when I have the time, hoping this is fixed. If you have the time, you may try to parse directly with htmlparser2 and see if an error is raised. That would help with narrowing-down the culprit.
It seems htmlparser2 has an issue with decoding entities. The following workaround fixes the issue:
<RenderHTMLSource htmlParserOptions={{ decodeEntities: false }} source={{ html: '<p>&</p>' }} contentWidth={contentWidth} />
But obviously this will leave stuff like < undecoded
I'm also encountering this issue. I've ended up adding the decodeEntities: false parser option, and then using a separate lib (he) to decode my source html.