callstack / callstack/react-native-bottom-tabs
[tvOS] Focus not restoring with sidebarAdaptable
- 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.

### 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
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