Conversation
…ression Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
PM-971 Allow hyphen in url - asset library
fix(PM-974) Allow project managers to view all projects
feat(PM-974): allow PM to view users and delete users from project
fix(PM-974): projects list in challenges tab
PM-973 invite by mail
| * regex for url validation | ||
| */ | ||
| const urlRegex = /((https?):\/\/)?(www.)?[a-z0-9]+(\.[a-z]{2,}){1,3}(#?\/?(?:[a-zA-Z0-9#]+))*\/?(\?[a-zA-Z0-9-_]+=[a-zA-Z0-9-%]+&?)?$/ | ||
| const urlRegex = /((https?):\/\/)?(www\.)?[\w-]+(\.[a-z]{2,}){1,3}(#?\/?(?:[a-zA-Z0-9#-]+))*\/?(\?[a-zA-Z0-9-_]+=[a-zA-Z0-9-%]+&?)?$/ |
Check failure
Code scanning / CodeQL
Inefficient regular expression High
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI about 1 year ago
To fix the problem, we need to modify the regular expression to remove the ambiguity that causes exponential backtracking. Specifically, we can replace the ambiguous character class [a-zA-Z0-9#-] with a more precise character class that avoids ambiguity. Additionally, we can simplify the regular expression to ensure it performs efficiently.
- Replace
[a-zA-Z0-9#-]+with a more specific character class that avoids ambiguity. - Ensure the regular expression still matches valid URLs without causing performance issues.
| @@ -60,3 +60,3 @@ | ||
| */ | ||
| const urlRegex = /((https?):\/\/)?(www\.)?[\w-]+(\.[a-z]{2,}){1,3}(#?\/?(?:[a-zA-Z0-9#-]+))*\/?(\?[a-zA-Z0-9-_]+=[a-zA-Z0-9-%]+&?)?$/ | ||
| const urlRegex = /((https?):\/\/)?(www\.)?[\w-]+(\.[a-z]{2,}){1,3}(#?\/?(?:[\w-]+))*\/?(\?[a-zA-Z0-9-_]+=[a-zA-Z0-9-%]+&?)?$/ | ||
|
|
There was a problem hiding this comment.
Copilot reviewed 21 out of 24 changed files in this pull request and generated 3 comments.
Files not reviewed (3)
- src/components/Users/Users.module.scss: Language not supported
- src/containers/ProjectInvitations/ProjectInvitations.module.scss: Language not supported
- src/containers/Projects/styles.module.scss: Language not supported
| } else if (automaticAction === PROJECT_MEMBER_INVITE_STATUS_REFUSED) { | ||
| declineInvite() | ||
| } | ||
| }, [1500]) |
There was a problem hiding this comment.
The second parameter for setTimeout should be a number (1500) instead of an array. Please change [1500] to 1500.
| }, [1500]) | |
| }, 1500) |
| </div> | ||
| {showSelectUserError && ( | ||
| <div className={styles.row}> | ||
| <div className={styles.errorMesssage}>Please select a member.</div> |
There was a problem hiding this comment.
The class name 'errorMesssage' appears to be misspelled; consider correcting it to 'errorMessage'.
| <div className={styles.errorMesssage}>Please enter a valid email address.</div> | ||
| </div> | ||
| )} | ||
| {inviteUserError && ( | ||
| <div className={styles.row}> | ||
| <div className={styles.errorMesssage}>{inviteUserError}</div> |
There was a problem hiding this comment.
The class name 'errorMesssage' is misspelled; consider correcting it to 'errorMessage'.
| <div className={styles.errorMesssage}>Please enter a valid email address.</div> | |
| </div> | |
| )} | |
| {inviteUserError && ( | |
| <div className={styles.row}> | |
| <div className={styles.errorMesssage}>{inviteUserError}</div> | |
| <div className={styles.errorMessage}>Please enter a valid email address.</div> | |
| </div> | |
| )} | |
| {inviteUserError && ( | |
| <div className={styles.row}> | |
| <div className={styles.errorMessage}>{inviteUserError}</div> |
Changes to be done in Work Manager while decommissioning Connect.
Updates: