From 1dad4d9409ceee01f4b34b982b1d0db624228c56 Mon Sep 17 00:00:00 2001 From: Sean Hatfield <seanhatfield5@gmail.com> Date: Fri, 16 Aug 2024 12:55:14 -0700 Subject: [PATCH] Fix multi-user setup bug for invalid username/password (#2130) * fix multiuser setup bug for invalid username/password * handle user creation failed gracefully and delete user on fail --- .../src/pages/OnboardingFlow/Steps/UserSetup/index.jsx | 10 +++++++--- server/endpoints/system.js | 9 +++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/frontend/src/pages/OnboardingFlow/Steps/UserSetup/index.jsx b/frontend/src/pages/OnboardingFlow/Steps/UserSetup/index.jsx index 7e938076a..04625abf4 100644 --- a/frontend/src/pages/OnboardingFlow/Steps/UserSetup/index.jsx +++ b/frontend/src/pages/OnboardingFlow/Steps/UserSetup/index.jsx @@ -288,6 +288,11 @@ const MyTeam = ({ setMultiUserLoginValid, myTeamSubmitRef, navigate }) => { onChange={handleUsernameChange} /> </div> + <p className=" text-white text-opacity-80 text-xs font-base"> + Username must be at least 6 characters long and only contain + lowercase letters, numbers, underscores, and hyphens with no + spaces. + </p> <div className="mt-4"> <label htmlFor="name" @@ -306,9 +311,8 @@ const MyTeam = ({ setMultiUserLoginValid, myTeamSubmitRef, navigate }) => { onChange={handlePasswordChange} /> </div> - <p className="w-96 text-white text-opacity-80 text-xs font-base"> - Username must be at least 6 characters long. Password must be at - least 8 characters long. + <p className=" text-white text-opacity-80 text-xs font-base"> + Password must be at least 8 characters long. </p> </div> </div> diff --git a/server/endpoints/system.js b/server/endpoints/system.js index 2b5e5c01b..d49765d40 100644 --- a/server/endpoints/system.js +++ b/server/endpoints/system.js @@ -481,6 +481,15 @@ function systemEndpoints(app) { password, role: ROLES.admin, }); + + if (error || !user) { + response.status(400).json({ + success: false, + error: error || "Failed to enable multi-user mode.", + }); + return; + } + await SystemSettings._updateSettings({ multi_user_mode: true, limit_user_messages: false, -- GitLab