From 2c6f82ab0a60ae41f449bf56f520b3f4c64e16cf Mon Sep 17 00:00:00 2001 From: Ariel <33434462+arieloO@users.noreply.github.com> Date: Fri, 27 Mar 2026 17:25:26 +0100 Subject: [PATCH 1/2] fix: ARenderer TypeError when href undefined Fixes TypeError on `href.lenght` when href is undefined - tests `typeof href` is string before reading its length `useNormalizedUrl` can return `undefined` if it fails to parse absolute an url (see: normalizeResourceLocator.ts) > `[TypeError: Cannot read property 'length' of undefined]` --- packages/render/src/renderers/ARenderer.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/render/src/renderers/ARenderer.tsx b/packages/render/src/renderers/ARenderer.tsx index 91a564a6..0b622f32 100644 --- a/packages/render/src/renderers/ARenderer.tsx +++ b/packages/render/src/renderers/ARenderer.tsx @@ -16,8 +16,9 @@ function useAnchorOnLinkPress( const { baseTarget } = useDocumentMetadata(); const shouldHandleLinkPress = tnode.tagName === 'a' && - typeof normalizedHref === 'string' && + typeof href === 'string' && href.length > 0 && + typeof normalizedHref === 'string' && typeof onPress === 'function'; return shouldHandleLinkPress ? (e: GestureResponderEvent) => From ed425088f1bba6e63eddb6527551187aa952fd94 Mon Sep 17 00:00:00 2001 From: Ariel <33434462+arieloO@users.noreply.github.com> Date: Mon, 13 Apr 2026 18:38:06 +0200 Subject: [PATCH 2/2] test: add regression test for anchor without href when baseUrl is set - see fix: ARenderer TypeError when href is undefined (2c6f82a) --- ...chor-href-undefined-with-base-url.test.tsx | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 packages/render/src/__tests__/regression.32.anchor-href-undefined-with-base-url.test.tsx diff --git a/packages/render/src/__tests__/regression.32.anchor-href-undefined-with-base-url.test.tsx b/packages/render/src/__tests__/regression.32.anchor-href-undefined-with-base-url.test.tsx new file mode 100644 index 00000000..c8ae5295 --- /dev/null +++ b/packages/render/src/__tests__/regression.32.anchor-href-undefined-with-base-url.test.tsx @@ -0,0 +1,23 @@ +import React from 'react'; +import { render } from '@testing-library/react-native'; +import RenderHTML from '../RenderHTML'; + +/** + * https://github.com/native-html/render/pull/32 + */ +describe('RenderHTML component', () => { + describe('should pass regression #32 regarding anchor without href when baseUrl is provided', () => { + it('should mount without throwing', () => { + const { getByText } = render( + link label', + baseUrl: 'https://example.com/' + }} + /> + ); + expect(getByText('link label')).toBeTruthy(); + }); + }); +});