callstack / callstack/react-native-slider

iOS: negative min value and 0 as maximum value turns maximum to 1

Open
#780 1 comment 0 reactions 0 assignees View on GitHub
bug report
Dominant language
TypeScript
Stars
1.4k
Forks
295
Avg merge
5m
Merged PRs (30d)
1

Description

## Environment

* react-native info output:
```
System:
OS: macOS 26.3
CPU: (12) arm64 Apple M2 Pro
Memory: 109.70 MB / 16.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 20.19.5 // also tried node 24
path: /Users/.../.nvm/versions/node/v20.19.5/bin/node
npm:
version: 10.9.4
path: /Users/.../node_modules/.bin/npm
Watchman: Not Found
Managers:
CocoaPods:
version: 1.16.2
path: /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 25.2
- iOS 26.2
- macOS 26.2
- tvOS 26.2
- visionOS 26.2
- watchOS 26.2
Android SDK: Not Found
IDEs:
Android Studio: 2025.1 AI-251.26094.121.2513.14007798
Xcode:
version: 26.3/17C529
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.17
path: /Users/.../Library/Java/JavaVirtualMachines/corretto-17.0.17/Contents/Home/bin/javac
Ruby:
version: 2.6.10
path: /usr/bin/ruby
npmPackages:
"@react-native-community/cli":
installed: 15.1.3
wanted: 15.1.3
react:
installed: 19.1.0
wanted: 19.1.0
react-native:
installed: 0.81.5
wanted: 0.81.5
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: true
newArchEnabled: true
```

## Description

When creating a slider with minimumValue = -10 and maximumValue = 0, the application in android works as expected, but on iOS the maximumValue gets overwritten to 1.

## Reproducible Demo

```
{console.log('CURENTLY AT: ', value)}}
onSlidingComplete=={(value) => {console.log('COMPLETE AT: ', value)}}
tapToSeek={false}
/>
```

Using this slider the logs will show `CURRENTLY AT 1` when sliding fully to the right on iOS and 0 on Android

## My current workaround
I set maximum to 0.1 and for my business logic in `onSlidingComplete` I do `Math.min(value, 0)`

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the reported slider configuration on iOS and compare it with Android. Trace the iOS Slider implementation for how minimumValue and maximumValue are handled when maximumValue is 0, then add or update coverage for the negative-minimum, zero-maximum case. Done means the slider reaches 0 on iOS without changing the supplied maximum value.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, react-native
Domain
mobile
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.