Page MenuHomePhabricator

[native] Move isExitingDuringEditMode in ChatInputBar to a ref in function component
AcceptedPublic

Authored by angelika on Fri, Nov 22, 4:33 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Nov 22, 3:40 PM
Unknown Object (File)
Fri, Nov 22, 1:38 PM
Unknown Object (File)
Fri, Nov 22, 1:38 PM
Unknown Object (File)
Fri, Nov 22, 1:36 PM
Subscribers

Details

Summary
Test Plan

Tested this diff stack by playing around with ChatInputBar on both iOS simulator and Android device:

  • focus the text input and verify the keyboard is up and the camera buttons are animated correctly
  • try to send the message, verify the send button is animated correctly
  • verify the text input can be unfocused and keyboard is hidden
  • verify the draft works: write text, navigate from the chat, navigate into the chat again, verify the text is kept and the $
  • verify the edit mode works by editing a message
  • try to close the chat while editing a message - the alert should be shown
  • try to join a thread
  • try to select typed text

Diff Detail

Repository
rCOMM Comm
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

This diff migrates a state to a ref, so I did some additional reading to see if that makes sense. I wondered if there might be some reason why isExitingDuringEditMode was originally implemented as React component state instead of an instance variable, and in particular I was trying to see if it's used during render anywhere.

I wasn't able to find any places where isExitingDuringEditMode is used during render. It appears to only be used for "spot checks" in various callbacks, so I think it makes sense to migrate it to a ref.

This revision is now accepted and ready to land.Sat, Nov 23, 9:45 AM