Page MenuHomePhabricator

[keyserver] Send farcaster_mutual UPDATE_RELATIONSHIP message when establishing Farcaster relationship
ClosedPublic

Authored by ashoat on Apr 21 2024, 4:57 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Nov 26, 12:39 AM
Unknown Object (File)
Mon, Nov 25, 10:31 PM
Unknown Object (File)
Fri, Nov 22, 6:36 AM
Unknown Object (File)
Thu, Nov 21, 10:48 PM
Unknown Object (File)
Wed, Nov 20, 10:34 PM
Unknown Object (File)
Wed, Nov 20, 1:22 PM
Unknown Object (File)
Wed, Nov 20, 4:08 AM
Unknown Object (File)
Tue, Nov 19, 6:14 PM
Subscribers

Details

Summary

This is developed from my Hackathon commit 7024301fcda748efefa900bd952cd8e127aac87d, but updated to reflect changes @atul has made to allow us to include FID:

  1. Updates to the structure of the UPDATE_RELATIONSHIP message
  2. Updates to the FARCASTER_MUTUAL API

Note that I also updated the code to avoid creating KNOW_OF relationships between the viewer and themselves.

Test Plan

I tested this during the Hackathon, but haven't tested the updates since then. Will try to test this in the office this week

Diff Detail

Repository
rCOMM Comm
Branch
ashoat/farcaster
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

Change looks good, but we should probably land something like D11712 first so web/desktop clients receive shimmed UNSUPPORTED messages?

This revision is now accepted and ready to land.Apr 22 2024, 10:16 AM

Makes sense – I'll defer landing this

I haven't landed this yet because I'm having trouble testing it while tethering and don't have access to Wi-Fi right now. Will hopefully find some Wi-Fi tomorrow

Finally got to testing this and found some issues:

  1. The list of userIDs passed to createPersonalThreads is not filtered through fetchUserInfos, which can lead to validateCandidateMembers throwing when createThread is called. This issue was present with relationshipActions.FRIEND as well. I addressed it by adding a third parameter to createPersonalThreads that passes in the filtered list of userIDs.
  2. We weren't filtering the viewer out before calling createPersonalThreads. (This one wasn't affecting relationshipActions.FRIEND; it's specific to relationshipActions.FARCASTER_MUTUAL.)
  3. We aren't specifying dontPrefixCreator when shimming UPDATE_RELATIONSHIP messages. Will address in a separate diff.
This revision was landed with ongoing or failed builds.May 3 2024, 1:41 PM
This revision was automatically updated to reflect the committed changes.
  1. We aren't specifying dontPrefixCreator when shimming UPDATE_RELATIONSHIP messages. Will address in a separate diff.

Addressed in D11868