[lib] Extract useKeyserverCallInfos into separate file
Summary:
In a later diff, I want to use this utility from CallKeyserverEndpointProvider. This would introduce a require cycle currently, since keyserver-call.js depends on CallKeyserverEndpointProvider. To avoid the require cycle, I'm extracting it into a separate file. This is probably a good idea for code hygiene anyways.
Depends on D10685
Test Plan:
I tested this stack using the following procedure:
- I tested primarily on native
- I compiled a dev build and deployed it to an iOS simulator
- I created a brand new account on my local keyserver using the iOS app
- I ran Redux dev tools: cd native && yarn redux-devtools
- I added a 30s sleep at the start of resolveKeyserverSessionInvalidation
- I made KeyserverConnectionsHandler return null so that the socket wouldn’t automatically recover the session prior to my testing
- I killed the app
- I deleted all of the test user’s cookie
- I then opened the app again and navigated to a chat and sent two messages
- By following the Redux monitor, I was able to see that the keyserver session invalidation recovery was successful, and both messages were eventually sent after the 30s sleep concluded
- On web, we don’t support keyserver session invalidation. However, I tested to make sure that the web app still loaded after my changes
Reviewers: tomek, inka, atul
Reviewed By: tomek
Differential Revision: https://phab.comm.dev/D10686