react-native icon indicating copy to clipboard operation
react-native copied to clipboard

[0.77.1] minimumFontScale doesn't work in New Arch

Open DarkShtir opened this issue 10 months ago • 8 comments

Description

Text props minimumFontScale doesn't work

Steps to reproduce

  1. Install default app (npx @react-native-community/cli@latest init AwesomeProject)
  2. Wrap Text to small View (width:100, height:100)
  3. Add large text into text component
  4. Set text props ( adjustsFontSizeToFit={true} minimumFontScale={0.9} numberOfLines={1} )
  5. See result, text are small

React Native Version

0.77.1

Affected Platforms

Runtime - Android, Runtime - iOS

Areas

Fabric - The New Renderer

Output of npx @react-native-community/cli info

System:
  OS: macOS 15.1.1
  CPU: (12) arm64 Apple M3 Pro
  Memory: 238.53 MB / 18.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 22.11.0
    path: ~/.nvm/versions/node/v22.11.0/bin/node
  Yarn: Not Found
  npm:
    version: 10.9.0
    path: ~/.nvm/versions/node/v22.11.0/bin/npm
  Watchman:
    version: 2024.12.02.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.16.2
    path: /opt/homebrew/opt/ruby/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 24.1
      - iOS 18.1
      - macOS 15.1
      - tvOS 18.1
      - visionOS 2.1
      - watchOS 11.1
  Android SDK:
    API Levels:
      - "33"
      - "34"
      - "35"
    Build Tools:
      - 30.0.3
      - 33.0.0
      - 33.0.1
      - 34.0.0
      - 35.0.0
    System Images:
      - android-27 | ARM 64 v8a
      - android-35 | Google Play ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: 2024.3 AI-243.22562.218.2431.13114758
  Xcode:
    version: 16.1/16B40
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.13
    path: /usr/bin/javac
  Ruby:
    version: 3.3.6
    path: /opt/homebrew/opt/ruby/bin/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 15.1.3
    wanted: 15.1.3
  react:
    installed: 18.3.1
    wanted: 18.3.1
  react-native:
    installed: 0.77.1
    wanted: ^0.77.1
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: true
  newArchEnabled: true

Stacktrace or Logs

-

Reproducer

https://snack.expo.dev/t1eb6mkjQgY6fAFeXjhPK

Screenshots and Videos

Image

import { Text, SafeAreaView, StyleSheet, View } from 'react-native';

export default function App() {
  return (
    <SafeAreaView style={styles.container}>
      <View style={styles.wrapper}>
        <Text style={styles.paragraph} 
        adjustsFontSizeToFit={true}
        minimumFontScale={0.9}
        numberOfLines={1} >
          Change code in the editor and watch it change on your phone! Save to get a shareable url.
        </Text>
      </View>
    </SafeAreaView>
  );
}

const styles = StyleSheet.create({
  wrapper:{
    width:100,
    height:100,
    backgroundColor:'yellow'
  },
  container: {
    flex: 1,
    justifyContent: 'center',
    backgroundColor: '#ecf0f1',
    padding: 8,
    alignItems:'center'
  },
  paragraph: {
    margin: 24,
    fontSize: 18,
    fontWeight: 'bold',
    textAlign: 'center',
  },
});

Patch for fix (based on https://github.com/facebook/react-native/pull/43543) react-native+0.77.1.patch

DarkShtir avatar Mar 25 '25 14:03 DarkShtir

@DarkShtir Thanks for the issue, the reproducer and the patch. Have you perhaps tested it also with 0.78 and 0.79?

cipolleschi avatar Mar 26 '25 11:03 cipolleschi

@cipolleschi Not yet. But I'll try to test this on 0.78 and 0.79 this weekend.

DarkShtir avatar Mar 27 '25 07:03 DarkShtir

0.78 - works only IOS

Image

Android doesn't work

Image

Patch file

react-native+0.78.1.patch

DarkShtir avatar Mar 27 '25 08:03 DarkShtir

And thanks janicduplessis for PR.

DarkShtir avatar Mar 27 '25 08:03 DarkShtir

RN-0.79.0-rc.3 the same as 0.78. IOS - works, Android - none. Need improve Android implementation Patch file

react-native+0.79.0-rc.3.patch

DarkShtir avatar Mar 27 '25 08:03 DarkShtir

Any updates?

DarkShtir avatar May 15 '25 07:05 DarkShtir

react-native+0.79.2.patch

This patch fixed problems on stable RN 0.79.2 @janicduplessis @cipolleschi FYI

DarkShtir avatar May 15 '25 08:05 DarkShtir

android rn0.79.2 not working

tienhdn avatar May 26 '25 10:05 tienhdn

Any update on this? It's been a couple months with no word and I've had to disable every instance of this in my app because of this bug.

Swahvay avatar Jul 28 '25 14:07 Swahvay

I'm having this issue on RN 0.80.1 not working on iOS and Android

javbk201 avatar Aug 06 '25 21:08 javbk201

I'm having this issue on RN 0.80.1 not working on iOS and Android

Same for me on IOS with 0.80.2 (New Architecture). Not tested on Android.

McFly78 avatar Sep 05 '25 21:09 McFly78

Hey, just a bit confused: minimumFontScale is claimed as iOS props only. How does it work on Android? Is it a typo in the RN document, or did I misunderstand something?

ZhangShuaiGou avatar Sep 07 '25 23:09 ZhangShuaiGou

Same for me on IOS AND Android with 0.81.4 (New Architecture).

hugoecken avatar Oct 01 '25 15:10 hugoecken