From ce9b0316b5949121c98f9df7754ee43af1315ebf Mon Sep 17 00:00:00 2001 From: Rohit <40559587+Rohit3523@users.noreply.github.com> Date: Mon, 7 Sep 2026 23:53:28 +0530 Subject: [PATCH 1/2] fix(navigation): render custom header as element, not a function reference Wrapping Header in an element keeps its hooks on its own fiber. Passing the component directly let native-stack invoke it as a plain function, which crashed NewServerView with 'Rendered fewer hooks than expected' once #7432 gave it defaultHeader and it toggled headerShown. --- app/lib/methods/helpers/navigation/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/lib/methods/helpers/navigation/index.ts b/app/lib/methods/helpers/navigation/index.ts index 528f545304d..ec46e4d98c6 100644 --- a/app/lib/methods/helpers/navigation/index.ts +++ b/app/lib/methods/helpers/navigation/index.ts @@ -1,3 +1,4 @@ +import { createElement } from 'react'; import { DarkTheme, DefaultTheme } from '@react-navigation/native'; import { type NativeStackNavigationOptions } from '@react-navigation/native-stack'; @@ -7,7 +8,7 @@ import sharedStyles from '../../../../views/Styles'; import Header from '../../../../containers/Header'; export const defaultHeader: NativeStackNavigationOptions = { - header: Header + header: props => createElement(Header, props) }; export const drawerStyle = { From 886cb2809d9a913612973b21d322190041212820 Mon Sep 17 00:00:00 2001 From: Rohit <40559587+Rohit3523@users.noreply.github.com> Date: Tue, 8 Sep 2026 00:04:34 +0530 Subject: [PATCH 2/2] added type --- app/lib/methods/helpers/navigation/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/lib/methods/helpers/navigation/index.ts b/app/lib/methods/helpers/navigation/index.ts index ec46e4d98c6..6264daa97b3 100644 --- a/app/lib/methods/helpers/navigation/index.ts +++ b/app/lib/methods/helpers/navigation/index.ts @@ -1,6 +1,6 @@ -import { createElement } from 'react'; +import { createElement, type ReactElement } from 'react'; import { DarkTheme, DefaultTheme } from '@react-navigation/native'; -import { type NativeStackNavigationOptions } from '@react-navigation/native-stack'; +import { type NativeStackHeaderProps, type NativeStackNavigationOptions } from '@react-navigation/native-stack'; import { themes } from '../../../constants/colors'; import { type TSupportedThemes } from '../../../../theme'; @@ -8,7 +8,7 @@ import sharedStyles from '../../../../views/Styles'; import Header from '../../../../containers/Header'; export const defaultHeader: NativeStackNavigationOptions = { - header: props => createElement(Header, props) + header: (props: NativeStackHeaderProps): ReactElement => createElement(Header, props) }; export const drawerStyle = {