Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Toggling secureTextEntry between true and false cause text to disappear on iOS #12939

Closed
phil714 opened this issue Mar 14, 2017 · 16 comments
Closed
Labels
Platform: iOS iOS applications. Resolution: Locked This issue was locked by the bot.

Comments

@phil714
Copy link

phil714 commented Mar 14, 2017

Description

I'm trying to create a custom password input where you can toggle if you can see the password or not. The bug is that when you change between true and false on textInput, the content of the input disappear.

Reproduction

First, you need to have a textInput with secureTextEntry. Then you enter a string in the textinput. After that you set the secureTextEntry to false and then back to true and you enter another character. The field should be set empty and then the new character appear.

On android, the cursor is set to the beginning of the field you do the same steps.

Solution

I found that the onChangeText props of the TextInput return an empty string when you set secureTextEntry to true.

Additional Information

React Native version : 0.41
Platform: iOS and Android
OS : MacOS

Here's a simple example of what I'm trying to do :

import React, { Component } from 'react';
import {
  AppRegistry,
  StyleSheet,
  Text,
  View,
  TextInput,
  TouchableOpacity
} from 'react-native';

export default class test_secureTextEntry extends Component {
  constructor(props) {
        super(props);
        this.state = {
          hidden: true
        };
    }

  render() {
    return (
      <View style={styles.container}>
        <TextInput
          secureTextEntry={this.state.hidden}
          style={{ width: 100, height: 40, backgroundColor: 'grey' }}
        />
        <TouchableOpacity
          onPress={ () => this.setState({ hidden: !this.state.hidden })}
        >
          <Text>Go</Text>
        </TouchableOpacity>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  }
});

AppRegistry.registerComponent('test_secureTextEntry', () => test_secureTextEntry);

@shergin shergin added the Platform: iOS iOS applications. label Mar 16, 2017
@urska19
Copy link

urska19 commented Apr 13, 2017

Workaround that is working for me, is removing focus from TextInput, when user clicks show/hide password. One way to do this, is to add ref (for example ref="password") to your TextInput and then call this.refs.password.blur()

@hramos
Copy link
Contributor

hramos commented Jul 25, 2017

Hi there! This issue is being closed because it has been inactive for a while. Maybe the issue has been fixed in a recent release, or perhaps it is not affecting a lot of people. Either way, we're automatically closing issues after a period of inactivity. Please do not take it personally!

If you think this issue should definitely remain open, please let us know. The following information is helpful when it comes to determining if the issue should be re-opened:

  • Does the issue still reproduce on the latest release candidate? Post a comment with the version you tested.
  • If so, is there any information missing from the bug report? Post a comment with all the information required by the issue template.
  • Is there a pull request that addresses this issue? Post a comment with the PR number so we can follow up.

If you would like to work on a patch to fix the issue, contributions are very welcome! Read through the contribution guide, and feel free to hop into #react-native if you need help planning your contribution.

@hramos hramos added the Icebox label Jul 25, 2017
@hramos hramos closed this as completed Jul 25, 2017
@ryanab
Copy link

ryanab commented Dec 1, 2017

I just came across this issue today in React Native 44 so it still exists in some capacity I believe.

I am using the work around for the time being, perhaps I will create a new project with the latest release candidate and see if I can reproduce, and if so take a look at source and submit a PR.

@lchapoy
Copy link

lchapoy commented Dec 14, 2017

I am using react-native 49.5 and the issue is still there.

@ryanab
Copy link

ryanab commented Dec 14, 2017

@lchapoy does the issue exist on both IOS and Android?

@lchapoy
Copy link

lchapoy commented Dec 14, 2017

I haven't tested on Android. I am implementing the password visibility behavior and I notice that it is clearing the input when the user tries to write on it after the secureTextEntry property change from false to true.

So far I have only tested on IOS 11.2 iPhone 6 emulator.

@GitHubTracey
Copy link

GitHubTracey commented Jan 30, 2018

Hey,

I'm a little late to the party, but I can confirm the behaviour is both in Android as well as iOS, regardless if I am doing a development or production build - and it is still present in 0.51.0.

Though I'm thinking this behaviour is also intentional for those that do not have a show/hide option for the password. (Go look at your local banking app where they don't have the option to view password).

Edit:
After reading @ryanab comments, I see that I had a bug in there! Oops! So I deleted the bad code. I also use the this.refs.password.onBlur() option to ensure the value is there, but it disappears in between toggling then typing again, which is the part I am working on.

@ryanab
Copy link

ryanab commented Jan 30, 2018

Thanks Tracey, I tried something similar but the issue I came across is handling certain edge cases. For example, when the toggle is pressed IIRC a delete char is sent through. So, we can just tell it to ignore that and use setNativeProps to set the previously saved text. But then, what if the user's first intention is to delete/backspace, now the text is not displaying what the user has typed/intended due to our hijacking the input text?

I am sure there is a work around, but it feels like there are edge cases we have not thought of and we should not be doing so much manipulation to the native behavior.

However, I am wondering if this is like you said, and is an intended behavior. The AirBNB App I noticed has the same "bug" (try it yourself type a password then hit the show/hide toggle). I know they use React Native for some portions of their app, and I was wondering if this was the same issue or if again, this is an intended behavior. Maybe someone from FB / AirBNB can chime in if they come across this!

Thanks,
Ryan

@GitHubTracey
Copy link

GitHubTracey commented Jan 30, 2018

Hey Ryan,

Ooh... yes, the only time that I see this potentially being a problem is if the user decides to "select all" text and then delete, and type a character... then it reloads it all...hm. I'm going to have to think about it a little more. Definitely an edge case for me, but still important for the user experience!

Edit: I take that back... I see exactly what you were talking about. I'm surprised I missed that. Yup, if I clear the text on purpose, or if I backspace to clear the field, then there is a bug. Back to the drawing board for me on this one.

Thanks for the catch!

Tracey

@nateReiners
Copy link

  • 1 this is still an issue for me (RN 0.50.3) and this should be re-opened

@ryanab
Copy link

ryanab commented Feb 7, 2018 via email

@nateReiners
Copy link

@ryanab I have an Samsung Android phone, and the AirBnB app's password field works perfectly (does not clear on backspace after toggling the hide password prop). However, when I tried their iOS app on my iPhone6, the password field clears just like you said. Interesting. I blame Apple.

@Astarta0
Copy link

Hello everyone!
Please, can you help me?
I user RN 0.52.2,
I have TextInput for users password:

<TextInput
                                ref={(input) => {this.passwordInput = input}}
                                value={this.props.userPassword}
                                returnKeyType={'go'}
                                secureTextEntry={this.state.hidePassword}
                                autoCorrect={false}
                                autoCapitalize={'none'}
                                placeholder={'Пароль'}
                                placeholderTextColor={THEMES.blue.gray}
                                style={styles.textInput}
                                onChangeText={this.props.updateUserPasswordFromSignUp}
                                underlineColorAndroid="transparent"
                                autoComplete={false}
 />

And when secureTextEntry is false , I will see suggestions on the keyboard, but I want avoid suggestions - it takes place of screen)

@Draccan
Copy link

Draccan commented Mar 21, 2018

It could be possible that the error is in the secureTextEntry implementation? I've seen that the input is cleared on iOS even if I focus another input and then come back to the secureTextEntry input.

So it could be possible that secureTextEntry blurs and focus again input changing secureTextEntry prop value?

@ryanab
Copy link

ryanab commented Apr 5, 2018

I was looking into this again and was looking at IOS Secure Text Entry and actually think this may be the default/desired behavior by Apple for said component.

facebook-github-bot pushed a commit that referenced this issue Jun 16, 2018
Summary:
This sync includes the following changes:
- **[ae14317d6](facebook/react@ae14317d6)**: Inline fbjs/lib/emptyFunction (#13054) //<Dan Abramov>//
- **[72434a768](facebook/react@72434a768)**: Remove or inline some fbjs dependencies (#13046) //<Dan Abramov>//
- **[64c54edea](facebook/react@64c54edea)**: Adding movementX and movementY to synthenticMouseEvent fixes #6723 (#9018) //<Jason Williams>//
- **[9bd4d1fae](facebook/react@9bd4d1fae)**: Synchronously restart when an error is thrown during async rendering (#13041) //<Andrew Clark>//
- **[9bda7b28f](facebook/react@9bda7b28f)**: Suspended high pri work forces lower priority work to expire early  (#12965) //<Andrew Clark>//
- **[2e7577907](facebook/react@2e7577907)**: Fix incorrect data in compositionend event with Korean IME on IE11 (#10217) (#12563) //<Crux>//
- **[bc963f353](facebook/react@bc963f353)**: setJSResponder in Fabric renderer (#13031) //<Sebastian Markbåge>//
- **[051637da6](facebook/react@051637da6)**: Extract Fabric event handlers from canonical props (#13024) //<Sebastian Markbåge>//
- **[2a8085980](facebook/react@2a8085980)**: Remove rAF fork (#12980) //<Flarnie Marchan>//
- **[e0c78344e](facebook/react@e0c78344e)**: Retry on error if there's lower priority pending work (#12957) //<Andrew Clark>//
- **[9725065eb](facebook/react@9725065eb)**: Update bundle sizes for 16.4.1 release //<Dan Abramov>//
- **[0b87b2790](facebook/react@0b87b2790)**: Updating package versions for release 16.4.1 //<Dan Abramov>//
- **[036ae3c6e](facebook/react@036ae3c6e)**: Use native event dispatching instead of Simulate or SimulateNative (#13023) //<Philipp Spieß>//
- **[945fc1bfc](facebook/react@945fc1bfc)**: Call gDSFP with the right state in react-test-render (#13030) //<Rafał Ruciński>//
- **[392530104](facebook/react@392530104)**: Remove feature flag around 'getDerivedStateFromProps' bug fix (#13022) //<Flarnie Marchan>//
- **[1594409fa](facebook/react@1594409fa)**: Scheduler depends on common packages (#13020) //<Dan Abramov>//
- **[d5c11193e](facebook/react@d5c11193e)**: Added production profiling bundle type (#12886) //<Brian Vaughn>//
- **[ec60457bc](facebook/react@ec60457bc)**: Popping context is O(1) in SSR (#13019) //<Dan Abramov>//
- **[30bc8ef79](facebook/react@30bc8ef79)**: Allow multiple root children in test renderer traversal API (#13017) //<Dan Abramov>//
- **[d480782c4](facebook/react@d480782c4)**: Don’t error when returning an empty Fragment (#12966) //<Philipp Spieß>//
- **[4ac6f133a](facebook/react@4ac6f133a)**: Fallback to event.srcElement for IE9 (#12976) //<Nathan Hunzaker>//
- **[23be4102d](facebook/react@23be4102d)**: Fixed an issue with nested contexts unwinding when server rendering. Issue #12984 (#12985) //<Eric Soderberg>//
- **[d0d428064](facebook/react@d0d428064)**: Remove old reference to inst._wrapperState (#12987) //<Nathan Hunzaker>//
- **[c78957eac](facebook/react@c78957eac)**: Fix an SVG focusing crash in IE11 (#12996) //<Jifa Jiang>//
- **[bfb12ebb5](facebook/react@bfb12ebb5)**: delete a couple of redundant lines in performWorkOnRoot() in ReactFiberScheduler.js (#13003) //<Nathan Quarles>//
- **[394b17eed](facebook/react@394b17eed)**: Update custom renderer docs //<Dan Abramov>//
- **[188c4252a](facebook/react@188c4252a)**: Fix react-dom ReferenceError requestAnimationFrame in non-browser env (#13000) (#13001) //<Ivan Babak>//
- **[9cf3733a9](facebook/react@9cf3733a9)**: update comment in computeAsyncExpiration() to reflect code (#12994) //<Nathan Quarles>//
- **[c5a733e1e](facebook/react@c5a733e1e)**: Fix links of docs on the comment (#12795) //<Ende93>//
- **[36546b513](facebook/react@36546b513)**: Set the correct initial value on input range (#12939) //<Maxime Nory>//
- **[15767a8f8](facebook/react@15767a8f8)**: [scheduler] 5/n Error handling in scheduler (#12920) //<Flarnie Marchan>//
- **[3118ed9d6](facebook/react@3118ed9d6)**: Expose unstable_interactiveUpdates on ReactDOM (#12943) //<Andrew Clark>//
- **[524a74331](facebook/react@524a74331)**: Fix for Flow issues in SimpleCacheProvider (#12942) //<Flarnie Marchan>//
- **[ae57b125c](facebook/react@ae57b125c)**: [simple-cache-provider] Use LRU cache eviction (#12851) //<Andrew Clark>//
- **[e0a03c1b4](facebook/react@e0a03c1b4)**: Extend input type check in selection capabilities (#12062) (#12135) //<Spyros Ioakeimidis>//
- **[79a740c6e](facebook/react@79a740c6e)**: Rename variables to remove references to 'global' global (#12931) //<Flarnie Marchan>//
- **[ff724d3c2](facebook/react@ff724d3c2)**: [scheduler] 4/n Allow splitting out `schedule` in fb-www, prepare to fix polyfill issue internally (#12900) //<Flarnie Marchan>//
- **[83f76e4db](facebook/react@83f76e4db)**: ForwardRefs supports propTypes (#12911) //<Brian Vaughn>//
- **[8aeea5afa](facebook/react@8aeea5afa)**: Do not assign node.value on input creation if no change will occur (#12925) //<Nathan Hunzaker>//
- **[aa85b0fd5](facebook/react@aa85b0fd5)**: Upgrade to Jest 23 (#12894) //<Simen Bekkhus>//
- **[61777a78f](facebook/react@61777a78f)**: [scheduler] 3/n Use a linked list instead of map and queue for callback storage (#12893) //<Flarnie Marchan>//
- **[e7bd3d59a](facebook/react@e7bd3d59a)**: No longer expose ReactNativeComponentTree (#12904) //<Sebastian Markbåge>//
- **[f35d989be](facebook/react@f35d989be)**: TestRenderer warns if flushThrough is passed the wrong params (#12909) //<Brian Vaughn>//
- **[557870067](facebook/react@557870067)**: Record "actual" times for all Fibers within a Profiler tree (alt) (#12910) //<Brian Vaughn>//
- **[76e07071a](facebook/react@76e07071a)**: [scheduler] 2/n Adding 'schedule' fixture (#12884) //<Flarnie Marchan>//
- **[345e0a71a](facebook/react@345e0a71a)**: Improve tests for 'schedule' module (#12880) //<Flarnie Marchan>//
- **[8765d6089](facebook/react@8765d6089)**: Update bundle sizes for 16.4.0 release //<Andrew Clark>//
- **[d427a563d](facebook/react@d427a563d)**: Updating package versions for release 16.4.0 //<Andrew Clark>//
- **[53852a887](facebook/react@53852a887)**: add functional components warning about legacy context api (#12892) //<Chang Yan>//
- **[fe747a51c](facebook/react@fe747a51c)**: Add React.Timeout to getComponentName (#12890) //<Toru Kobayashi>//
- **[c601f7a64](facebook/react@c601f7a64)**: add siblings Timeout components test case (#12862) //<Chang Yan>//
- **[735035837](facebook/react@735035837)**: add legacy context API warning in strict mode (#12849) //<Chang Yan>//
- **[e88579184](facebook/react@e88579184)**: Fix a regression that caused us to listen to extra events at the top (#12878) //<Dan Abramov>//
- **[7c0aca289](facebook/react@7c0aca289)**: Rollup freeze: false (#12879) //<Brian Vaughn>//
- **[33289b530](facebook/react@33289b530)**: Tests and fixes for 'timing out' behavior (#12858) //<Flarnie Marchan>//
- **[ad27845cc](facebook/react@ad27845cc)**: Fix double-firing submit events (#12877) //<Sophie Alpert>//
- **[dd5fad296](facebook/react@dd5fad296)**: Update Flow to 0.70 (#12875) //<Dan Abramov>//
- **[13003654e](facebook/react@13003654e)**: Pass "start time" and "commit time" to Profiler callback (#12852) //<Brian Vaughn>//
- **[dc3b144f4](facebook/react@dc3b144f4)**: Treat Rollup "warnings" as errors (#12868) //<Dan Abramov>//
- **[d7b9b4921](facebook/react@d7b9b4921)**: Fix react native example links in README of 'react-reconciler' (#12871) //<Kevin (Kun) "Kassimo" Qian>//
- **[9bed4a6ae](facebook/react@9bed4a6ae)**: https in reactProdInvariant text (#12869) //<Sophie Alpert>//
- **[47b003a82](facebook/react@47b003a82)**: Resolve host configs at build time (#12792) //<Dan Abramov>//

Release Notes:
[GENERAL] [FEATURE] [React] - React sync for revisions c0fe8d6...ae14317

Reviewed By: bvaughn

Differential Revision: D8458731

fbshipit-source-id: afefaa50685d43e70c8ea85c70d2e29dee311cbb
@altaf933
Copy link

I have same issue on react-native version react-native: 0.55.3

grabbou pushed a commit that referenced this issue Jun 21, 2018
Summary:
This sync includes the following changes:
- **[ae14317d6](facebook/react@ae14317d6)**: Inline fbjs/lib/emptyFunction (#13054) //<Dan Abramov>//
- **[72434a768](facebook/react@72434a768)**: Remove or inline some fbjs dependencies (#13046) //<Dan Abramov>//
- **[64c54edea](facebook/react@64c54edea)**: Adding movementX and movementY to synthenticMouseEvent fixes #6723 (#9018) //<Jason Williams>//
- **[9bd4d1fae](facebook/react@9bd4d1fae)**: Synchronously restart when an error is thrown during async rendering (#13041) //<Andrew Clark>//
- **[9bda7b28f](facebook/react@9bda7b28f)**: Suspended high pri work forces lower priority work to expire early  (#12965) //<Andrew Clark>//
- **[2e7577907](facebook/react@2e7577907)**: Fix incorrect data in compositionend event with Korean IME on IE11 (#10217) (#12563) //<Crux>//
- **[bc963f353](facebook/react@bc963f353)**: setJSResponder in Fabric renderer (#13031) //<Sebastian Markbåge>//
- **[051637da6](facebook/react@051637da6)**: Extract Fabric event handlers from canonical props (#13024) //<Sebastian Markbåge>//
- **[2a8085980](facebook/react@2a8085980)**: Remove rAF fork (#12980) //<Flarnie Marchan>//
- **[e0c78344e](facebook/react@e0c78344e)**: Retry on error if there's lower priority pending work (#12957) //<Andrew Clark>//
- **[9725065eb](facebook/react@9725065eb)**: Update bundle sizes for 16.4.1 release //<Dan Abramov>//
- **[0b87b2790](facebook/react@0b87b2790)**: Updating package versions for release 16.4.1 //<Dan Abramov>//
- **[036ae3c6e](facebook/react@036ae3c6e)**: Use native event dispatching instead of Simulate or SimulateNative (#13023) //<Philipp Spieß>//
- **[945fc1bfc](facebook/react@945fc1bfc)**: Call gDSFP with the right state in react-test-render (#13030) //<Rafał Ruciński>//
- **[392530104](facebook/react@392530104)**: Remove feature flag around 'getDerivedStateFromProps' bug fix (#13022) //<Flarnie Marchan>//
- **[1594409fa](facebook/react@1594409fa)**: Scheduler depends on common packages (#13020) //<Dan Abramov>//
- **[d5c11193e](facebook/react@d5c11193e)**: Added production profiling bundle type (#12886) //<Brian Vaughn>//
- **[ec60457bc](facebook/react@ec60457bc)**: Popping context is O(1) in SSR (#13019) //<Dan Abramov>//
- **[30bc8ef79](facebook/react@30bc8ef79)**: Allow multiple root children in test renderer traversal API (#13017) //<Dan Abramov>//
- **[d480782c4](facebook/react@d480782c4)**: Don’t error when returning an empty Fragment (#12966) //<Philipp Spieß>//
- **[4ac6f133a](facebook/react@4ac6f133a)**: Fallback to event.srcElement for IE9 (#12976) //<Nathan Hunzaker>//
- **[23be4102d](facebook/react@23be4102d)**: Fixed an issue with nested contexts unwinding when server rendering. Issue #12984 (#12985) //<Eric Soderberg>//
- **[d0d428064](facebook/react@d0d428064)**: Remove old reference to inst._wrapperState (#12987) //<Nathan Hunzaker>//
- **[c78957eac](facebook/react@c78957eac)**: Fix an SVG focusing crash in IE11 (#12996) //<Jifa Jiang>//
- **[bfb12ebb5](facebook/react@bfb12ebb5)**: delete a couple of redundant lines in performWorkOnRoot() in ReactFiberScheduler.js (#13003) //<Nathan Quarles>//
- **[394b17eed](facebook/react@394b17eed)**: Update custom renderer docs //<Dan Abramov>//
- **[188c4252a](facebook/react@188c4252a)**: Fix react-dom ReferenceError requestAnimationFrame in non-browser env (#13000) (#13001) //<Ivan Babak>//
- **[9cf3733a9](facebook/react@9cf3733a9)**: update comment in computeAsyncExpiration() to reflect code (#12994) //<Nathan Quarles>//
- **[c5a733e1e](facebook/react@c5a733e1e)**: Fix links of docs on the comment (#12795) //<Ende93>//
- **[36546b513](facebook/react@36546b513)**: Set the correct initial value on input range (#12939) //<Maxime Nory>//
- **[15767a8f8](facebook/react@15767a8f8)**: [scheduler] 5/n Error handling in scheduler (#12920) //<Flarnie Marchan>//
- **[3118ed9d6](facebook/react@3118ed9d6)**: Expose unstable_interactiveUpdates on ReactDOM (#12943) //<Andrew Clark>//
- **[524a74331](facebook/react@524a74331)**: Fix for Flow issues in SimpleCacheProvider (#12942) //<Flarnie Marchan>//
- **[ae57b125c](facebook/react@ae57b125c)**: [simple-cache-provider] Use LRU cache eviction (#12851) //<Andrew Clark>//
- **[e0a03c1b4](facebook/react@e0a03c1b4)**: Extend input type check in selection capabilities (#12062) (#12135) //<Spyros Ioakeimidis>//
- **[79a740c6e](facebook/react@79a740c6e)**: Rename variables to remove references to 'global' global (#12931) //<Flarnie Marchan>//
- **[ff724d3c2](facebook/react@ff724d3c2)**: [scheduler] 4/n Allow splitting out `schedule` in fb-www, prepare to fix polyfill issue internally (#12900) //<Flarnie Marchan>//
- **[83f76e4db](facebook/react@83f76e4db)**: ForwardRefs supports propTypes (#12911) //<Brian Vaughn>//
- **[8aeea5afa](facebook/react@8aeea5afa)**: Do not assign node.value on input creation if no change will occur (#12925) //<Nathan Hunzaker>//
- **[aa85b0fd5](facebook/react@aa85b0fd5)**: Upgrade to Jest 23 (#12894) //<Simen Bekkhus>//
- **[61777a78f](facebook/react@61777a78f)**: [scheduler] 3/n Use a linked list instead of map and queue for callback storage (#12893) //<Flarnie Marchan>//
- **[e7bd3d59a](facebook/react@e7bd3d59a)**: No longer expose ReactNativeComponentTree (#12904) //<Sebastian Markbåge>//
- **[f35d989be](facebook/react@f35d989be)**: TestRenderer warns if flushThrough is passed the wrong params (#12909) //<Brian Vaughn>//
- **[557870067](facebook/react@557870067)**: Record "actual" times for all Fibers within a Profiler tree (alt) (#12910) //<Brian Vaughn>//
- **[76e07071a](facebook/react@76e07071a)**: [scheduler] 2/n Adding 'schedule' fixture (#12884) //<Flarnie Marchan>//
- **[345e0a71a](facebook/react@345e0a71a)**: Improve tests for 'schedule' module (#12880) //<Flarnie Marchan>//
- **[8765d6089](facebook/react@8765d6089)**: Update bundle sizes for 16.4.0 release //<Andrew Clark>//
- **[d427a563d](facebook/react@d427a563d)**: Updating package versions for release 16.4.0 //<Andrew Clark>//
- **[53852a887](facebook/react@53852a887)**: add functional components warning about legacy context api (#12892) //<Chang Yan>//
- **[fe747a51c](facebook/react@fe747a51c)**: Add React.Timeout to getComponentName (#12890) //<Toru Kobayashi>//
- **[c601f7a64](facebook/react@c601f7a64)**: add siblings Timeout components test case (#12862) //<Chang Yan>//
- **[735035837](facebook/react@735035837)**: add legacy context API warning in strict mode (#12849) //<Chang Yan>//
- **[e88579184](facebook/react@e88579184)**: Fix a regression that caused us to listen to extra events at the top (#12878) //<Dan Abramov>//
- **[7c0aca289](facebook/react@7c0aca289)**: Rollup freeze: false (#12879) //<Brian Vaughn>//
- **[33289b530](facebook/react@33289b530)**: Tests and fixes for 'timing out' behavior (#12858) //<Flarnie Marchan>//
- **[ad27845cc](facebook/react@ad27845cc)**: Fix double-firing submit events (#12877) //<Sophie Alpert>//
- **[dd5fad296](facebook/react@dd5fad296)**: Update Flow to 0.70 (#12875) //<Dan Abramov>//
- **[13003654e](facebook/react@13003654e)**: Pass "start time" and "commit time" to Profiler callback (#12852) //<Brian Vaughn>//
- **[dc3b144f4](facebook/react@dc3b144f4)**: Treat Rollup "warnings" as errors (#12868) //<Dan Abramov>//
- **[d7b9b4921](facebook/react@d7b9b4921)**: Fix react native example links in README of 'react-reconciler' (#12871) //<Kevin (Kun) "Kassimo" Qian>//
- **[9bed4a6ae](facebook/react@9bed4a6ae)**: https in reactProdInvariant text (#12869) //<Sophie Alpert>//
- **[47b003a82](facebook/react@47b003a82)**: Resolve host configs at build time (#12792) //<Dan Abramov>//

Release Notes:
[GENERAL] [FEATURE] [React] - React sync for revisions c0fe8d6...ae14317

Reviewed By: bvaughn

Differential Revision: D8458731

fbshipit-source-id: afefaa50685d43e70c8ea85c70d2e29dee311cbb
macdoum1 pushed a commit to macdoum1/react-native that referenced this issue Jun 28, 2018
Summary:
This sync includes the following changes:
- **[ae14317d6](facebook/react@ae14317d6)**: Inline fbjs/lib/emptyFunction (facebook#13054) //<Dan Abramov>//
- **[72434a768](facebook/react@72434a768)**: Remove or inline some fbjs dependencies (facebook#13046) //<Dan Abramov>//
- **[64c54edea](facebook/react@64c54edea)**: Adding movementX and movementY to synthenticMouseEvent fixes facebook#6723 (facebook#9018) //<Jason Williams>//
- **[9bd4d1fae](facebook/react@9bd4d1fae)**: Synchronously restart when an error is thrown during async rendering (facebook#13041) //<Andrew Clark>//
- **[9bda7b28f](facebook/react@9bda7b28f)**: Suspended high pri work forces lower priority work to expire early  (facebook#12965) //<Andrew Clark>//
- **[2e7577907](facebook/react@2e7577907)**: Fix incorrect data in compositionend event with Korean IME on IE11 (facebook#10217) (facebook#12563) //<Crux>//
- **[bc963f353](facebook/react@bc963f353)**: setJSResponder in Fabric renderer (facebook#13031) //<Sebastian Markbåge>//
- **[051637da6](facebook/react@051637da6)**: Extract Fabric event handlers from canonical props (facebook#13024) //<Sebastian Markbåge>//
- **[2a8085980](facebook/react@2a8085980)**: Remove rAF fork (facebook#12980) //<Flarnie Marchan>//
- **[e0c78344e](facebook/react@e0c78344e)**: Retry on error if there's lower priority pending work (facebook#12957) //<Andrew Clark>//
- **[9725065eb](facebook/react@9725065eb)**: Update bundle sizes for 16.4.1 release //<Dan Abramov>//
- **[0b87b2790](facebook/react@0b87b2790)**: Updating package versions for release 16.4.1 //<Dan Abramov>//
- **[036ae3c6e](facebook/react@036ae3c6e)**: Use native event dispatching instead of Simulate or SimulateNative (facebook#13023) //<Philipp Spieß>//
- **[945fc1bfc](facebook/react@945fc1bfc)**: Call gDSFP with the right state in react-test-render (facebook#13030) //<Rafał Ruciński>//
- **[392530104](facebook/react@392530104)**: Remove feature flag around 'getDerivedStateFromProps' bug fix (facebook#13022) //<Flarnie Marchan>//
- **[1594409fa](facebook/react@1594409fa)**: Scheduler depends on common packages (facebook#13020) //<Dan Abramov>//
- **[d5c11193e](facebook/react@d5c11193e)**: Added production profiling bundle type (facebook#12886) //<Brian Vaughn>//
- **[ec60457bc](facebook/react@ec60457bc)**: Popping context is O(1) in SSR (facebook#13019) //<Dan Abramov>//
- **[30bc8ef79](facebook/react@30bc8ef79)**: Allow multiple root children in test renderer traversal API (facebook#13017) //<Dan Abramov>//
- **[d480782c4](facebook/react@d480782c4)**: Don’t error when returning an empty Fragment (facebook#12966) //<Philipp Spieß>//
- **[4ac6f133a](facebook/react@4ac6f133a)**: Fallback to event.srcElement for IE9 (facebook#12976) //<Nathan Hunzaker>//
- **[23be4102d](facebook/react@23be4102d)**: Fixed an issue with nested contexts unwinding when server rendering. Issue facebook#12984 (facebook#12985) //<Eric Soderberg>//
- **[d0d428064](facebook/react@d0d428064)**: Remove old reference to inst._wrapperState (facebook#12987) //<Nathan Hunzaker>//
- **[c78957eac](facebook/react@c78957eac)**: Fix an SVG focusing crash in IE11 (facebook#12996) //<Jifa Jiang>//
- **[bfb12ebb5](facebook/react@bfb12ebb5)**: delete a couple of redundant lines in performWorkOnRoot() in ReactFiberScheduler.js (facebook#13003) //<Nathan Quarles>//
- **[394b17eed](facebook/react@394b17eed)**: Update custom renderer docs //<Dan Abramov>//
- **[188c4252a](facebook/react@188c4252a)**: Fix react-dom ReferenceError requestAnimationFrame in non-browser env (facebook#13000) (facebook#13001) //<Ivan Babak>//
- **[9cf3733a9](facebook/react@9cf3733a9)**: update comment in computeAsyncExpiration() to reflect code (facebook#12994) //<Nathan Quarles>//
- **[c5a733e1e](facebook/react@c5a733e1e)**: Fix links of docs on the comment (facebook#12795) //<Ende93>//
- **[36546b513](facebook/react@36546b513)**: Set the correct initial value on input range (facebook#12939) //<Maxime Nory>//
- **[15767a8f8](facebook/react@15767a8f8)**: [scheduler] 5/n Error handling in scheduler (facebook#12920) //<Flarnie Marchan>//
- **[3118ed9d6](facebook/react@3118ed9d6)**: Expose unstable_interactiveUpdates on ReactDOM (facebook#12943) //<Andrew Clark>//
- **[524a74331](facebook/react@524a74331)**: Fix for Flow issues in SimpleCacheProvider (facebook#12942) //<Flarnie Marchan>//
- **[ae57b125c](facebook/react@ae57b125c)**: [simple-cache-provider] Use LRU cache eviction (facebook#12851) //<Andrew Clark>//
- **[e0a03c1b4](facebook/react@e0a03c1b4)**: Extend input type check in selection capabilities (facebook#12062) (facebook#12135) //<Spyros Ioakeimidis>//
- **[79a740c6e](facebook/react@79a740c6e)**: Rename variables to remove references to 'global' global (facebook#12931) //<Flarnie Marchan>//
- **[ff724d3c2](facebook/react@ff724d3c2)**: [scheduler] 4/n Allow splitting out `schedule` in fb-www, prepare to fix polyfill issue internally (facebook#12900) //<Flarnie Marchan>//
- **[83f76e4db](facebook/react@83f76e4db)**: ForwardRefs supports propTypes (facebook#12911) //<Brian Vaughn>//
- **[8aeea5afa](facebook/react@8aeea5afa)**: Do not assign node.value on input creation if no change will occur (facebook#12925) //<Nathan Hunzaker>//
- **[aa85b0fd5](facebook/react@aa85b0fd5)**: Upgrade to Jest 23 (facebook#12894) //<Simen Bekkhus>//
- **[61777a78f](facebook/react@61777a78f)**: [scheduler] 3/n Use a linked list instead of map and queue for callback storage (facebook#12893) //<Flarnie Marchan>//
- **[e7bd3d59a](facebook/react@e7bd3d59a)**: No longer expose ReactNativeComponentTree (facebook#12904) //<Sebastian Markbåge>//
- **[f35d989be](facebook/react@f35d989be)**: TestRenderer warns if flushThrough is passed the wrong params (facebook#12909) //<Brian Vaughn>//
- **[557870067](facebook/react@557870067)**: Record "actual" times for all Fibers within a Profiler tree (alt) (facebook#12910) //<Brian Vaughn>//
- **[76e07071a](facebook/react@76e07071a)**: [scheduler] 2/n Adding 'schedule' fixture (facebook#12884) //<Flarnie Marchan>//
- **[345e0a71a](facebook/react@345e0a71a)**: Improve tests for 'schedule' module (facebook#12880) //<Flarnie Marchan>//
- **[8765d6089](facebook/react@8765d6089)**: Update bundle sizes for 16.4.0 release //<Andrew Clark>//
- **[d427a563d](facebook/react@d427a563d)**: Updating package versions for release 16.4.0 //<Andrew Clark>//
- **[53852a887](facebook/react@53852a887)**: add functional components warning about legacy context api (facebook#12892) //<Chang Yan>//
- **[fe747a51c](facebook/react@fe747a51c)**: Add React.Timeout to getComponentName (facebook#12890) //<Toru Kobayashi>//
- **[c601f7a64](facebook/react@c601f7a64)**: add siblings Timeout components test case (facebook#12862) //<Chang Yan>//
- **[735035837](facebook/react@735035837)**: add legacy context API warning in strict mode (facebook#12849) //<Chang Yan>//
- **[e88579184](facebook/react@e88579184)**: Fix a regression that caused us to listen to extra events at the top (facebook#12878) //<Dan Abramov>//
- **[7c0aca289](facebook/react@7c0aca289)**: Rollup freeze: false (facebook#12879) //<Brian Vaughn>//
- **[33289b530](facebook/react@33289b530)**: Tests and fixes for 'timing out' behavior (facebook#12858) //<Flarnie Marchan>//
- **[ad27845cc](facebook/react@ad27845cc)**: Fix double-firing submit events (facebook#12877) //<Sophie Alpert>//
- **[dd5fad296](facebook/react@dd5fad296)**: Update Flow to 0.70 (facebook#12875) //<Dan Abramov>//
- **[13003654e](facebook/react@13003654e)**: Pass "start time" and "commit time" to Profiler callback (facebook#12852) //<Brian Vaughn>//
- **[dc3b144f4](facebook/react@dc3b144f4)**: Treat Rollup "warnings" as errors (facebook#12868) //<Dan Abramov>//
- **[d7b9b4921](facebook/react@d7b9b4921)**: Fix react native example links in README of 'react-reconciler' (facebook#12871) //<Kevin (Kun) "Kassimo" Qian>//
- **[9bed4a6ae](facebook/react@9bed4a6ae)**: https in reactProdInvariant text (facebook#12869) //<Sophie Alpert>//
- **[47b003a82](facebook/react@47b003a82)**: Resolve host configs at build time (facebook#12792) //<Dan Abramov>//

Release Notes:
[GENERAL] [FEATURE] [React] - React sync for revisions c0fe8d6...ae14317

Reviewed By: bvaughn

Differential Revision: D8458731

fbshipit-source-id: afefaa50685d43e70c8ea85c70d2e29dee311cbb
@facebook facebook locked as resolved and limited conversation to collaborators Jul 25, 2018
@react-native-bot react-native-bot added the Resolution: Locked This issue was locked by the bot. label Jul 25, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Platform: iOS iOS applications. Resolution: Locked This issue was locked by the bot.
Projects
None yet
Development

No branches or pull requests