callstack / callstack/react-native-bottom-tabs

[tvOS] Focus not restoring with sidebarAdaptable

Open
#501 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
1.5k
Forks
109
Avg merge
11h 44m
Merged PRs (30d)
8

Description

### Before submitting a new issue

- [x] I tested using the latest version of the library, as the bug might be already fixed.
- [x] I tested using a [supported version](https://github.com/reactwg/react-native-releases/blob/main/docs/support.md) of react native.
- [x] I checked for possible duplicate issues, with possible answers.

### Bug summary

When closing sidebar on tvOS it automatically focuses on first visible object on the screen, not the previously focused one.

![sidebar-focus-bug](https://github.com/user-attachments/assets/58440ed5-e30d-436f-8ef1-304491f48ad1)

### Library version

1.1.0

### Environment info

```shell
System:
OS: macOS 26.0
CPU: (12) arm64 Apple M2 Max
Memory: 1.61 GB / 32.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 25.2.1
path: /opt/homebrew/bin/node
Yarn:
version: 1.22.22
path: /opt/homebrew/bin/yarn
npm:
version: 11.6.2
path: /opt/homebrew/bin/npm
Watchman: Not Found
Managers:
CocoaPods:
version: 1.16.2
path: /opt/homebrew/lib/ruby/gems/3.4.0/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 25.0
- iOS 26.0
- macOS 26.0
- tvOS 26.0
- visionOS 26.0
- watchOS 26.0
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Xcode:
version: 26.0/17A324
path: /usr/bin/xcodebuild
Languages:
Java:
version: 25.0.1
path: /opt/homebrew/bin/javac
Ruby:
version: 3.4.5
path: /opt/homebrew/opt/ruby/bin/ruby
npmPackages:
"@react-native-community/cli":
installed: 20.0.2
wanted: 20.0.2
react:
installed: 19.2.3
wanted: 19.2.3
react-native: Not Found
react-native-macos: Not Found
react-native-tvos:
installed: 0.83.1-0
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: true
newArchEnabled: true
```

### Steps to reproduce

1. Create navigator with sidebarAdaptable enabled
2. Create page with multiple Pressable in

### Reproducible sample code

```js

({ sfSymbol: 'star.fill' })
}}
component={(Test)} />

...


{Array.from({ length: 20 }).map((_, i) => (


Button {i}


))}

```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the sidebarAdaptable navigator example on tvOS, focusing a control in the ScrollView before closing the sidebar. Trace the focus-handling entry points used when the sidebar closes; the issue names no file or test. Done means focus returns to the previously focused object rather than the first visible object.

Written by the indexing model from the issue text.

Assessment

Tech stack
react-native
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.