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

Make ComposeBox uncontrolled on iOS too, and dedupe code #3017

Closed
gnprice opened this issue Oct 2, 2018 · 0 comments
Closed

Make ComposeBox uncontrolled on iOS too, and dedupe code #3017

gnprice opened this issue Oct 2, 2018 · 0 comments
Assignees
Labels
a-compose/send Compose box, autocomplete, camera/upload, outbox, sending a-iOS

Comments

@gnprice
Copy link
Member

gnprice commented Oct 2, 2018

We duplicated this code as a temporary expedient in cb2589e (from #2738), because we needed to make the message and topic inputs uncontrolled on Android but leave them controlled on iOS, in order to simultaneously avoid two different React Native bugs that affected the two platforms respectively. See the above-mentioned commit and PR for details.

As we've known since then, we should de-duplicate them; we want uncontrolled inputs on both platforms. #2886 was one PR to do this, but its clever workaround for the RN bug that had blocked us the first time turned out to not always succeed.

Fortunately, RN 0.57 has a fix for that bug. So once that upgrade is done, this should be easy. See #2788 for the 0.56 upgrade, which looks like most of the work.

@gnprice gnprice added a-iOS a-compose/send Compose box, autocomplete, camera/upload, outbox, sending labels Oct 2, 2018
@gnprice gnprice added a-compose/send Compose box, autocomplete, camera/upload, outbox, sending and removed a-compose/send Compose box, autocomplete, camera/upload, outbox, sending labels Oct 23, 2018
borisyankov added a commit to borisyankov/zulip-mobile that referenced this issue Nov 1, 2018
Resolves zulip#3017, Fixes zulip#2434, Fixes zulip#3053

Remove the iOS code which was our old 'controlled' version and
keep the new Android 'uncontrolled' version.

While iOS does not have the extreme performance issues the Android
app had because of bugs in React Native, it is still faster to not
have the component controlled - a controlled compoennt would block
any time the UI thread blocks.

Another big benefit is removing the need to support two versions.
@gnprice gnprice added the review label Nov 1, 2018
borisyankov added a commit to borisyankov/zulip-mobile that referenced this issue Nov 1, 2018
Resolves zulip#3017, Fixes zulip#2434, Fixes zulip#3053

Remove the iOS code which was our old 'controlled' version and
keep the new Android 'uncontrolled' version.

While iOS does not have the extreme performance issues the Android
app had because of bugs in React Native, it is still faster to not
have the component controlled - a controlled compoennt would block
any time the UI thread blocks.

Another big benefit is removing the need to support two versions.
borisyankov added a commit to borisyankov/zulip-mobile that referenced this issue Nov 1, 2018
Closes zulip#3017. Fixes zulip#2434. Fixes zulip#3053.

Remove the iOS code which was our old 'controlled' version and
keep the new Android 'uncontrolled' version.

While iOS does not have the extreme performance issues the Android
app had because of bugs in React Native, it is still faster to not
have the component controlled - a controlled compoennt would block
any time the UI thread blocks.

Another big benefit is removing the need to support two versions.
gnprice pushed a commit to borisyankov/zulip-mobile that referenced this issue Nov 1, 2018
Closes zulip#3017.  Fixes zulip#3053.

Remove the iOS code which was our old 'controlled' version and
keep the new Android 'uncontrolled' version.

While iOS does not have the extreme performance issues the Android
app had because of bugs in React Native, it is still faster to not
have the component controlled - a controlled component would block
any time the UI thread blocks.

Another big benefit is removing the need to support two versions.
@gnprice gnprice removed the review label Nov 1, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a-compose/send Compose box, autocomplete, camera/upload, outbox, sending a-iOS
Projects
None yet
Development

No branches or pull requests

2 participants