More functionality around profiles in Upstream

@Julien, @brandonhaslegs

Profiles are called person identities in the protocol level. Conceptually they are similar to projects with one major difference: There’s only one remote for each profile so we don’t need to manage the remotes manually. (Theoretically there can be multiple remotes but this is not fully supported yet and we don’t offer any capabilities to use this yet.)

This means we can offer the following functionality in Upstream.

  • We can list the identity profiles the user follows. (Upstream follows an identity implicitly when they add somebody as a peer to a project.)
  • A user sends me the their identity URN (i.e. rad:git:hy....) and I can choose to follow it through the search bar.
  • If I’m already following a user putting their identity in the search bar allows me to navigate to them.
  • We can show the identity URN alongside the device ID on the profile page.
  • Remotes can be added to a project by providing the identity URN instead of the device ID.

What is the intended semantics for this? In theory, multiple keys can be associated with a Person. Would the tracking use all those keys available?

I’m curious whether this is related to Feature: replicate Person data · Issue #708 · radicle-dev/radicle-link · GitHub? Just wanted to point out that it’s probably not a good idea to rely on that behaviour :slight_smile:

Thanks for the pointer. We’re aware of that discussion and the functionality I proposed should allow us to deal with the upcoming change properly.

In the beginning it would make sense to track all devices of a person. Since nobody is using multiple devices at the moment we don’t run into any issues. Once multiple devices become more common we can think about how we want to tackle this then.

1 Like