GODT-2042: fix setup guide not always showing on first login.

This commit is contained in:
Xavier Michelon
2022-12-02 11:17:28 +01:00
parent e87db5b2ab
commit 4003e0a2ab
20 changed files with 1039 additions and 1033 deletions

File diff suppressed because it is too large Load Diff

View File

@ -185,11 +185,10 @@ message User {
string avatarText = 3;
UserState state = 4;
bool splitMode = 5;
bool setupGuideSeen = 6;
int64 usedBytes = 7;
int64 totalBytes = 8;
bytes password = 9;
repeated string addresses = 10;
int64 usedBytes = 6;
int64 totalBytes = 7;
bytes password = 8;
repeated string addresses = 9;
}
message UserSplitModeRequest {
@ -290,6 +289,7 @@ message LoginTwoPasswordsRequestedEvent {}
message LoginFinishedEvent {
string userID = 1;
bool wasSignedOut = 2;
}
//**********************************************************

View File

@ -57,8 +57,8 @@ func NewLoginTwoPasswordsRequestedEvent() *StreamEvent {
return loginEvent(&LoginEvent{Event: &LoginEvent_TwoPasswordRequested{}})
}
func NewLoginFinishedEvent(userID string) *StreamEvent {
return loginEvent(&LoginEvent{Event: &LoginEvent_Finished{Finished: &LoginFinishedEvent{UserID: userID}}})
func NewLoginFinishedEvent(userID string, wasSignedOut bool) *StreamEvent {
return loginEvent(&LoginEvent{Event: &LoginEvent_Finished{Finished: &LoginFinishedEvent{UserID: userID, WasSignedOut: wasSignedOut}}})
}
func NewLoginAlreadyLoggedInEvent(userID string) *StreamEvent {

View File

@ -390,6 +390,8 @@ func (s *Service) loginClean() {
func (s *Service) finishLogin() {
defer s.loginClean()
wasSignedOut := s.bridge.HasUser(s.auth.UserID)
if len(s.password) == 0 || s.auth.UID == "" || s.authClient == nil {
s.log.
WithField("hasPass", len(s.password) != 0).
@ -415,7 +417,7 @@ func (s *Service) finishLogin() {
s.log.WithField("userID", userID).Debug("Login finished")
_ = s.SendEvent(NewLoginFinishedEvent(userID))
_ = s.SendEvent(NewLoginFinishedEvent(userID, wasSignedOut))
}
func (s *Service) waitForUserChangeDone(eventCh <-chan events.Event, userID string) {

View File

@ -126,7 +126,7 @@ func (s *Service) StartEventTest() error { //nolint:funlen
NewLoginError(LoginErrorType_FREE_USER, "error"),
NewLoginTfaRequestedEvent(dummyAddress),
NewLoginTwoPasswordsRequestedEvent(),
NewLoginFinishedEvent("userID"),
NewLoginFinishedEvent("userID", false),
NewLoginAlreadyLoggedInEvent("userID"),
// update

View File

@ -61,16 +61,15 @@ func getInitials(fullName string) string {
// grpcUserFromInfo converts a bridge user to a gRPC user.
func grpcUserFromInfo(user bridge.UserInfo) *User {
return &User{
Id: user.UserID,
Username: user.Username,
AvatarText: getInitials(user.Username),
State: userStateToGrpc(user.State),
SplitMode: user.AddressMode == vault.SplitMode,
SetupGuideSeen: true, // users listed have already seen the setup guide.
UsedBytes: int64(user.UsedSpace),
TotalBytes: int64(user.MaxSpace),
Password: user.BridgePass,
Addresses: user.Addresses,
Id: user.UserID,
Username: user.Username,
AvatarText: getInitials(user.Username),
State: userStateToGrpc(user.State),
SplitMode: user.AddressMode == vault.SplitMode,
UsedBytes: int64(user.UsedSpace),
TotalBytes: int64(user.MaxSpace),
Password: user.BridgePass,
Addresses: user.Addresses,
}
}