Skip to content

Commit 47c7165

Browse files
NickGerlemanmeta-codesync[bot]
authored andcommitted
Enable defaultTextToOverflowHidden by default (facebook#55632)
Summary: Pull Request resolved: facebook#55632 Talking to mdvacca, we think this change should be pretty safe, so turning on by default. Changelog entry in last change. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D93796779 fbshipit-source-id: 12472f4fff23eaf855fe200eee081e82b3f4b40a
1 parent 4ad76b6 commit 47c7165

7 files changed

Lines changed: 72 additions & 9 deletions

File tree

packages/react-native/Libraries/Components/Pressable/__tests__/Pressable-itest.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,8 @@ describe('<Pressable>', () => {
150150
ellipsizeMode="tail"
151151
fontSize="NaN"
152152
fontSizeMultiplier="NaN"
153-
foregroundColor="rgba(0, 0, 0, 0)">
153+
foregroundColor="rgba(0, 0, 0, 0)"
154+
overflow="hidden">
154155
the quick brown fox
155156
</rn-paragraph>
156157
</rn-view>,

packages/react-native/Libraries/Text/__tests__/Text-itest.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ describe('<Text>', () => {
4242
ellipsizeMode="tail"
4343
fontSize="NaN"
4444
fontSizeMultiplier="NaN"
45-
foregroundColor="rgba(0, 0, 0, 0)">
45+
foregroundColor="rgba(0, 0, 0, 0)"
46+
overflow="hidden">
4647
{TEST_TEXT}
4748
</rn-paragraph>,
4849
);

packages/react-native/Libraries/Text/__tests__/Text-test.js

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,11 @@ describe('Text', () => {
6666
accessible={true}
6767
allowFontScaling={true}
6868
ellipsizeMode="tail"
69+
style={
70+
Object {
71+
"overflow": "hidden",
72+
}
73+
}
6974
/>
7075
`);
7176
});
@@ -88,6 +93,11 @@ describe('Text', () => {
8893
ellipsizeMode="tail"
8994
isHighlighted={false}
9095
isPressable={true}
96+
style={
97+
Object {
98+
"overflow": "hidden",
99+
}
100+
}
91101
>
92102
Clickable Text
93103
</RCTText>
@@ -107,6 +117,11 @@ describe('Text', () => {
107117
ellipsizeMode="tail"
108118
isHighlighted={false}
109119
isPressable={true}
120+
style={
121+
Object {
122+
"overflow": "hidden",
123+
}
124+
}
110125
>
111126
Long Press Text
112127
</RCTText>
@@ -126,6 +141,11 @@ describe('Text', () => {
126141
ellipsizeMode="tail"
127142
isHighlighted={false}
128143
isPressable={true}
144+
style={
145+
Object {
146+
"overflow": "hidden",
147+
}
148+
}
129149
>
130150
Responder Text
131151
</RCTText>
@@ -147,6 +167,11 @@ describe('Text', () => {
147167
ellipsizeMode="tail"
148168
isHighlighted={false}
149169
isPressable={true}
170+
style={
171+
Object {
172+
"overflow": "hidden",
173+
}
174+
}
150175
>
151176
Explicit Button Role
152177
</RCTText>
@@ -169,6 +194,11 @@ describe('Text', () => {
169194
isHighlighted={false}
170195
isPressable={true}
171196
role="button"
197+
style={
198+
Object {
199+
"overflow": "hidden",
200+
}
201+
}
172202
>
173203
Explicit Role Prop
174204
</RCTText>
@@ -193,6 +223,11 @@ describe('Text', () => {
193223
allowFontScaling={true}
194224
disabled={true}
195225
ellipsizeMode="tail"
226+
style={
227+
Object {
228+
"overflow": "hidden",
229+
}
230+
}
196231
>
197232
Disabled Pressable Text
198233
</RCTText>
@@ -211,12 +246,22 @@ describe('Text', () => {
211246
accessible={true}
212247
allowFontScaling={true}
213248
ellipsizeMode="tail"
249+
style={
250+
Object {
251+
"overflow": "hidden",
252+
}
253+
}
214254
>
215255
Parent Text
216256
<RCTText
217257
accessibilityRole="link"
218258
isHighlighted={false}
219259
isPressable={true}
260+
style={
261+
Object {
262+
"overflow": "hidden",
263+
}
264+
}
220265
>
221266
Nested Clickable Link
222267
</RCTText>
@@ -232,6 +277,11 @@ describe('Text', () => {
232277
accessible={true}
233278
allowFontScaling={true}
234279
ellipsizeMode="tail"
280+
style={
281+
Object {
282+
"overflow": "hidden",
283+
}
284+
}
235285
>
236286
Non-pressable Text
237287
</RCTText>
@@ -257,6 +307,11 @@ describe('Text compat with web', () => {
257307
allowFontScaling={true}
258308
ellipsizeMode="tail"
259309
nativeID="id"
310+
style={
311+
Object {
312+
"overflow": "hidden",
313+
}
314+
}
260315
tabIndex={0}
261316
testID="testID"
262317
/>
@@ -374,6 +429,11 @@ describe('Text compat with web', () => {
374429
ellipsizeMode="tail"
375430
importantForAccessibility="no-hide-descendants"
376431
role="main"
432+
style={
433+
Object {
434+
"overflow": "hidden",
435+
}
436+
}
377437
/>
378438
`);
379439
});
@@ -404,6 +464,7 @@ describe('Text compat with web', () => {
404464
"display": "flex",
405465
"flex": 1,
406466
"marginInlineStart": 10,
467+
"overflow": "hidden",
407468
"textAlignVertical": "center",
408469
"userSelect": undefined,
409470
"verticalAlign": undefined,

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* This source code is licensed under the MIT license found in the
55
* LICENSE file in the root directory of this source tree.
66
*
7-
* @generated SignedSource<<9ae90142061f1ea0766058d9cf6f3dc6>>
7+
* @generated SignedSource<<65cdfdcbe22ff163b75e0b067bd72693>>
88
*/
99

1010
/**
@@ -29,7 +29,7 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
2929

3030
override fun cxxNativeAnimatedEnabled(): Boolean = false
3131

32-
override fun defaultTextToOverflowHidden(): Boolean = false
32+
override fun defaultTextToOverflowHidden(): Boolean = true
3333

3434
override fun disableEarlyViewCommandExecution(): Boolean = false
3535

packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* This source code is licensed under the MIT license found in the
55
* LICENSE file in the root directory of this source tree.
66
*
7-
* @generated SignedSource<<1926124626012fd9c635ccd00241f92a>>
7+
* @generated SignedSource<<a0dcf7857ba3a41d1f39da63e1627335>>
88
*/
99

1010
/**
@@ -40,7 +40,7 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
4040
}
4141

4242
bool defaultTextToOverflowHidden() override {
43-
return false;
43+
return true;
4444
}
4545

4646
bool disableEarlyViewCommandExecution() override {

packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ const definitions: FeatureFlagDefinitions = {
8383
ossReleaseStage: 'none',
8484
},
8585
defaultTextToOverflowHidden: {
86-
defaultValue: false,
86+
defaultValue: true,
8787
metadata: {
8888
dateAdded: '2026-02-13',
8989
description:

packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* This source code is licensed under the MIT license found in the
55
* LICENSE file in the root directory of this source tree.
66
*
7-
* @generated SignedSource<<c71f3d287866aa7b06479009e986a3e6>>
7+
* @generated SignedSource<<97e082b7554dba5b4f387ef783d2d6e3>>
88
* @flow strict
99
* @noformat
1010
*/
@@ -211,7 +211,7 @@ export const cxxNativeAnimatedEnabled: Getter<boolean> = createNativeFlagGetter(
211211
/**
212212
* When enabled, sets the default overflow style for Text components to hidden instead of visible.
213213
*/
214-
export const defaultTextToOverflowHidden: Getter<boolean> = createNativeFlagGetter('defaultTextToOverflowHidden', false);
214+
export const defaultTextToOverflowHidden: Getter<boolean> = createNativeFlagGetter('defaultTextToOverflowHidden', true);
215215
/**
216216
* Dispatch view commands in mount item order.
217217
*/

0 commit comments

Comments
 (0)