HomePhabricator
Diffusion Comm e7110a9cea57

[lib] Inline useBindCallKeyserverEndpointSelector

Description

[lib] Inline useBindCallKeyserverEndpointSelector

Summary:
In a later diff we'll need to know the value of paramOverride from inside this code. I could pass it in as an additional argument, but I decided that reducing the indirection by inlining useBindCallKeyserverEndpointSelector would make the code more readable.

Additionally, the _memoize in useBindCallKeyserverEndpointSelector was not useful, so I removed it. Each call of useKeyserverCall will always pass in the same ActionFunc, so there's no need to keep a cache local to that invocation that is keyed on ActionFunc. The use of _memoize was left over from when I converted this from a global createSelector model, where it was useful. I should've removed it then.

Depends on D10686

Test Plan:
I tested this stack using the following procedure:

  1. I tested primarily on native
    1. I compiled a dev build and deployed it to an iOS simulator
    2. I created a brand new account on my local keyserver using the iOS app
    3. I ran Redux dev tools: cd native && yarn redux-devtools
    4. I added a 30s sleep at the start of resolveKeyserverSessionInvalidation
    5. I made KeyserverConnectionsHandler return null so that the socket wouldn’t automatically recover the session prior to my testing
    6. I killed the app
    7. I deleted all of the test user’s cookie
    8. I then opened the app again and navigated to a chat and sent two messages
    9. 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
  2. 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/D10687

Details

Provenance
ashoatAuthored on Jan 12 2024, 8:11 AM
Reviewer
tomek
Differential Revision
D10687: [lib] Inline useBindCallKeyserverEndpointSelector
Parents
rCOMMfc7ad9ec1616: [lib] Extract useKeyserverCallInfos into separate file
Branches
Unknown
Tags
Unknown