-
Notifications
You must be signed in to change notification settings - Fork 21
feat(core): migrate group scoped name #1265
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: VT20-1919-create-group-profile
Are you sure you want to change the base?
feat(core): migrate group scoped name #1265
Conversation
theme, | ||
}; | ||
} | ||
} | ||
|
||
export function formatToV1_2_0_3(parts: HabNameParts): string { | ||
const version = "1.2.0.3"; | ||
const themePart = parts.theme || ""; // Ensure theme is not undefined | ||
const displayNamePart = parts.displayName || ""; // Ensure display name is not undefined |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
displayName is always defined.
Theme should also always be defined after this now - can we remove ?
in HabNameParts
src/core/utils/habName.ts
Outdated
// New format | ||
if (parts.length !== 4) { | ||
throw new Error( | ||
"Invalid new format name: Expected 4 parts separated by colons (version:theme:groupPart:displayName)." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But this only applies to mHab identifiers. Individual identifiers and the gHab identifier don't have a groupPart
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As per DM there's something not working when creating the group profile. Everything else makes sense so far.
Please let me know when you need a review again or ask @Sotatek-DukeVu if I am not around.
USERNAME_CREATION_SUCCESS = "usernameCreationSuccess", | ||
USERNAME_CREATION_ERROR = "usernameCreationError", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also need to remove from en.json
if no longer needed.
Description
Currently, each identifier has only 1 display name, and the entire wallet has a username which is shared with connections. In the new account based flow, this global username is being removed.
Instead:
We will share the display name of individual identifiers
Groups will have a group name (same as display name), and a “username” per group
The group name is shared with connections
The username is shared with other members of the group when setting up the group
Refactor defaultProfile to currentAccount
The selected profile is moved and refactored to
stateCache
, outside of Authentification Object, as it is independent of the auth. See here:New methods:
New method file habName to parse the identifier names:
New format example:
1.2.0.3:theme:isInitiator-groupId-userName:displayName
parseHabName
is a utility function designed to deconstruct a structured "hab name" string into its individual components. It takes a single name: string argument, which is expected to follow the formatversion:isInitiator-group_id-username:display_name
. The function then parses this string and returns an object of typeHabNameParts
, providing programmatic access to extracted fields such asversion
,isInitiator
(a boolean indicating if the current entity is the group initiator),groupId
,userName
, anddisplayName
.formatToV1_2_0_3
is a utility function that constructs a "hab name" string from its individual components, specifically adhering to the1.2.0.3
version format. It takes an object of type HabNameParts (which contains fields like version, isInitiator, groupId, userName, and displayName
) and serializes them into the precise stringformat
version:isInitiator-group_id-username:display_name
.Checklist before requesting a review
Issue ticket number and link
Testing & Validation
Design Review