# refactor\(mobile\): drop the Home first-paint fatal valve — it could never fire · pingdotgg/t3code

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

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

Visibility: public

Requested revision: 796bbd7fc433d36b2785ac6577753663a5f045bc

Requested commit: 796bbd7fc433d36b2785ac6577753663a5f045bc

Commit: 796bbd7fc433d36b2785ac6577753663a5f045bc

Tree: 920e788f233d8a9b344efb5e911b4ee86d9186dc

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
refactor(mobile): drop the Home first-paint fatal valve — it could never fire

Verified in the installed sources: @react-navigation/native 7.3.4
NavigationContainer renders only its (null) fallback until the async linking
getInitialState thenable resolves, while the providers above it already
commit native views. So the first frame — RN's first-native-view marker,
which is also what disarms expo-updates 57's startup-error recovery tasks —
always precedes Home's first render, on every launch, pre-PR included. A
cached-older-update fallback was therefore never available for a Home render
crash even on main (expo logged the crash and waited for a remote update),
and a valve that rethrows only before the first frame can never fire in the
real app. Keeping it would only trade a working fallback for a crash to
match main's already-poor behavior.

Home cold-launch render crashes now take the same path as every other
screen: fallback with Open settings -> Diagnostics. OTA recovery is
unchanged from main and handled by expo's native checkAutomatically ON_LOAD
(next launch downloads and applies the fix), independent of
HomeRouteScreen's effect. Removes fatalIfFirstPaintFails,
FirstCommitSentinel, app-first-commit, childCommitted tracking,
shouldRethrowAsFatal, and their tests; valve-unit tests asserted flags, not
launch order, and missed exactly this.

```

## Parents

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

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