0.83 regressions (TextInput, Text)
まだ誰も着手していません。
- 主要言語
- C++
- スター
- 127k
- フォーク
- 25.3k
- 平均マージ
- 1日 23時間
- マージ済み PR(30日)
- 4
説明
Description
I've noticed at least 2 regressions with 0.83
❗[attached video below] TextInput layout change issues: changing value on TextInput doesn't seem to update layout correctly and reposition the views around it. We mainly noticed it when using TextInput to vertically align the phone number prefix text (+1) with real input
Less important but still, fontWeight on iOS kinda snaps between Bold/Normal, completely ignoring values like 500 600. I noticed #54976 which seems to address this issue but I'm not 100% confident if that's the cause. Wanted to highlight it while I get the chance
Steps to reproduce
- Init a fresh 0.83.1 app
- Copy and paste the
BrokenLayoutOnInputChangescomponent from the repro snack to the App.tsx and render it - Tap on the red area which toggles the
TextInputvalue between+1and+52to see that it layouts it incorrectly - Optionally try running it on 0.82.1 and observe that it works fine
React Native Version
0.83.1
Affected Platforms
Runtime - iOS
Output of npx @react-native-community/cli info
System:
OS: macOS 15.7.3
CPU: (14) arm64 Apple M4 Pro
Memory: 3.31 GB / 48.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 22.13.1
path: /Users/user/.volta/tools/image/node/22.13.1/bin/node
Yarn:
version: 4.9.2
path: /Users/user/.volta/tools/image/yarn/4.9.2/bin/yarn
npm:
version: 10.9.2
path: /Users/user/.volta/tools/image/node/22.13.1/bin/npm
Watchman:
version: 2025.05.26.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods: Not Found
SDKs:
iOS SDK:
Platforms:
- DriverKit 24.5
- iOS 18.5
- macOS 15.5
- tvOS 18.5
- visionOS 2.5
- watchOS 11.5
Android SDK: Not Found
IDEs:
Android Studio: 2025.1 AI-251.26094.121.2513.14007798
Xcode:
version: 16.4/16F6
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.15
path: /usr/bin/javac
Ruby:
version: 3.4.4
path: /opt/homebrew/opt/ruby/bin/ruby
npmPackages:
"@react-native-community/cli":
installed: 20.0.0
wanted: 20.0.0
react:
installed: 19.2.0
wanted: 19.2.0
react-native:
installed: 0.83.1
wanted: 0.83.1
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: true
newArchEnabled: true
Stacktrace or Logs
None needed
MANDATORY Reproducer
https://snack.expo.dev/@bigcupcoffee/broken-input-layout-repro
Screenshots and Videos
0.82.1 (working fine):
https://github.com/user-attachments/assets/4afe28e5-7c05-461f-861d-4668b5617bff
0.83.1 (not working fine):
https://github.com/user-attachments/assets/c3133c29-854b-4399-b2b1-01875dac4a59
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、リンクされた Snack reproducer を React Native 0.83.1 で実行し、TextInput のレイアウト動作を 0.82.1 と比較します。+1 から +52 への値の変更については、報告されている iOS の fontWeight の動作(参照されている #54976 を含む)とは分けて調査します。周囲の Views が正しく再配置され、サポートされている中間のフォントウェイトが Bold と Normal の間でスナップしなくなれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- react-native
- 領域
- mobile
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 活発
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 48/100