[Bug]: Passports need to always have unaffiliated user profile #7
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: devteam/sharenet#7
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Brief Summary
Passports need to always have unaffiliated user profile
Steps to Reproduce
N/A
Expected Behavior
A Passport needs to have a concept of an unaffiliated user profile which is never removable from a Passport. This is to allow the user to have an identity (such as a username, firstname, lastname, etc) which exist when the user is not a member of any Hub. The user then uses this unaffiliated user profile when applying for membership to a Hub. Without an unaffiliated user profile, it could be possible for a user to be able to lose all user profiles within a Passport and therefore not be able to present themselves to the outside world as anything. This is obviously wrong-- logically, a user always presents themselves as something.
The unaffiliated user profile should have fields that are modifiable, such as the firstname, lastname, avatar, etc, but the unaffiliated user profile is not allowed to have a Hub DID field, since by definition the unaffiliated user profile is not affiliated with any Hub.
The concept of a default user profile needs to be decoupled from this concept of an unaffiliated user profile. The default user profile just means the user profile that is automatically displayed to the user and used when the user signs in, and that's it. The default user profile probably shouldn't be an individual boolean field in each user profile (such as "isDefault"), to prevent the possibility of the frontend being coded as allowing the user using multiple user profiles at the same time, which should not be possible, doesn't make sense, and is probably fishy/hacker behavior. Instead, the default user profile should be a field in the global info section of the Passport itself, and should probably identify the uuidv7 ID of the user profile that is to be used as the default user profile. This strongly implies all user profiles, even the unaffiliated user profile, need to have a uuidv7 ID defined. It probably should also be the case that the default user profile field should be in the encrypted part of the global info section, as this is a detail that the outside world doesn't need to know.
Actual Behavior
Currently we have a logic error.
Additional Context
Checklist
"Base user profile" is probably a better name than "unaffiliated user profile".