# fix\(mobile\): header actions update when only their contents change · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/commit/dbccd67a8d1a87956dffbc8efff527f054b41133)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

Requested revision: dbccd67a8d1a87956dffbc8efff527f054b41133

Requested commit: dbccd67a8d1a87956dffbc8efff527f054b41133

Commit: dbccd67a8d1a87956dffbc8efff527f054b41133

Tree: 7a75cc38607fd7d52681c9d54d934f5da3c70cae

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
fix(mobile): header actions update when only their contents change

React Navigation keeps a screen's descriptor, and with it the native
header, while the screen's options stay shallowly equal.
NativeStackScreenOptions keeps each option function's identity stable
and re-applies the options when what those functions return changes,
so the re-application never reached the header. A toolbar that gained
an action, or a menu whose action changed, kept showing the old one.
On the iPhone Duo, unfolding and folding again left the thread list
without Compose.

A re-application now hands the header new function wrappers. The
toolbar test's navigation mock skips options that stay shallowly
equal, as React Navigation does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

```

## Parents

- [b3ac8cde0a0c1db8804d1d45b6f965d0c2f6ac55](https://git.cafe/pingdotgg/t3code/commit/b3ac8cde0a0c1db8804d1d45b6f965d0c2f6ac55?format=markdown)

[Source at this commit](https://git.cafe/pingdotgg/t3code/tree/dbccd67a8d1a87956dffbc8efff527f054b41133?format=markdown)
