-
Notifications
You must be signed in to change notification settings - Fork 210
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
updated with changes #1598
base: develop
Are you sure you want to change the base?
updated with changes #1598
Conversation
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.
Auto Pull Request Review from LlamaPReview
1. Overview
1.1 PR Summary
- Business value and requirements alignment: This PR addresses issue Allow username to contain non-ascii letters or space + long names must fit in the user context menu #1561, allowing usernames to contain non-ASCII letters and spaces, and ensuring long names fit in the user context menu. This improves the user experience and supports internationalization.
- Key components modified:
validation.js
andSidebar/index.css
- Impact assessment: These changes will affect all users and should be thoroughly tested.
- System dependencies and integration impacts: The changes interact with the user interface, user input validation, and potentially the database (if user data is stored).
1.2 Architecture Changes
- System design modifications: None
- Component interactions: The changes interact with the user interface, user input validation, and potentially the database (if user data is stored).
- Integration points: None
2. Detailed Technical Analysis
2.1 Code Logic Deep-Dive
Core Logic Changes
- Server/validation/joi.js -
registrationBodyValidation
andeditUserBodyValidation
- Submitted PR Code:
const registrationBodyValidation = joi.object({
firstName: joi
.string()
.required()
.pattern(/^[\p{L}]+(?:[\p{L}\s]+)*$/u)
.messages({
"string.pattern.base": "First name must contain only letters and spaces",
}),
lastName: joi
.string()
.required()
.pattern(/^[\p{L}]+(?:[\p{L}\s]+)*$/u)
.messages({
"string.pattern.base": "Last name must contain only letters and spaces",
}),
// ... rest of the code
});
const editUserBodyValidation = joi.object({
firstName: joi
.string()
.pattern(/^[\p{L}]+(?:[\p{L}\s]+)*$/u)
.messages({
"string.pattern.base": "First name must contain only letters and spaces",
}),
lastName: joi
.string()
.pattern(/^[\p{L}]+(?:[\p{L}\s]+)*$/u)
.messages({
"string.pattern.base": "Last name must contain only letters and spaces",
}),
// ... rest of the code
});
- Analysis:
- The submitted PR has updated the validation rules for
firstName
andlastName
in bothregistrationBodyValidation
andeditUserBodyValidation
to allow non-ASCII letters and spaces. This is a significant improvement towards internationalization. - However, the initial review did not mention the potential impact on existing user data. If user data is stored in the database, the new validation rules should be compatible with existing data to prevent data inconsistencies.
- The initial review also did not cover the edge case of very long names or special characters. These edge cases should be validated to ensure the system remains stable.
- The submitted PR has updated the validation rules for
- LlamaPReview Suggested Improvements:
// Add a check to ensure the length of the name does not exceed a certain limit
firstName: joi
.string()
.max(50) // Assuming a reasonable limit, adjust as needed
.pattern(/^[\p{L}]+(?:[\p{L}\s]+)*$/u)
.messages({
"string.pattern.base": "First name must contain only letters and spaces",
"string.max": "First name is too long",
}),
-
Improvement rationale:
- Adding a length limit to the name fields prevents excessively long names from causing UI or data storage issues.
- The
string.max
validation rule provides a clear error message for users entering excessively long names. - This improvement ensures the system remains stable and user-friendly, while still allowing for internationalization.
-
Sidebar/index.css -
truncate-long-names
- Submitted PR Code:
.user-context-menu .user-name {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 200px;
}
- Analysis:
- The submitted PR has added CSS rules to truncate long names in the user context menu. This is a useful improvement for maintaining a clean UI.
- However, the initial review did not mention the potential impact on accessibility. Users with long names may have difficulty reading their full name when truncated.
- The initial review also did not cover the edge case of very long names. The current truncation may not be sufficient for extremely long names.
- LlamaPReview Suggested Improvements:
.user-context-menu .user-name {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 250px; // Increased the max-width to accommodate longer names
font-size: 0.8em; // Reduced the font size to accommodate longer names
}
.user-context-menu .user-name:hover {
white-space: normal;
overflow: visible;
text-overflow: clip;
max-width: none;
font-size: 1em;
}
- Improvement rationale:
- Increasing the
max-width
and reducing thefont-size
allows for longer names to be displayed without truncation. - Adding a hover effect that displays the full name improves accessibility for users with long names.
- This improvement maintains a clean UI while improving accessibility for users with long names.
- Increasing the
2.2 Implementation Quality
- Code organization and structure: The changes are well-organized and follow the existing structure.
- Design patterns usage: None
- Error handling approach: Not applicable in this PR
- Resource management: Not applicable in this PR
3. Critical Findings
3.1 Potential Issues
-
🔴 Critical Issues
- Impact: The changes in this PR interact with the user interface, user input validation, and potentially the database (if user data is stored). Ensuring these interactions are smooth and secure is crucial.
- Recommendation: Thoroughly test the changes, especially for non-ASCII letters, spaces, and edge cases. If user data is stored in the database, ensure the new validation rules are compatible with existing data.
-
🟡 Warnings
- Warning: The initial review did not cover the edge case of very long names or special characters.
- Potential risks: The system may not behave as expected for very long names or special characters, leading to user confusion or data inconsistencies.
- Suggested improvements: Validate the changes with various user names, including long names, non-ASCII letters, spaces, and special characters.
4. Security Assessment
- Authentication/Authorization impacts: None
- Data handling concerns: None
- Input validation: The updated validation logic should be reviewed to ensure it adequately prevents malicious input.
- Security best practices: Followed
- Potential security risks: None identified
- Mitigation strategies: None required
- Security testing requirements: Thoroughly test the changes, especially for non-ASCII letters, spaces, and edge cases.
5. Testing Strategy
5.1 Test Coverage
- Unit test analysis: Not applicable in this PR
- Integration test requirements: Test the changes in an integrated environment to ensure they do not negatively impact other components.
- Edge cases coverage: Test with various user names, including long names, non-ASCII letters, spaces, and special characters.
5.2 Test Recommendations
Suggested Test Cases
// Test with various user names
const validUserNames = [
'John Doe',
'Ján Doe',
'Jón Doe',
'Jön Doe',
'Jöns Doe',
'Jönsson Doe',
'Jönsson Doe Jr.',
'Jönsson Doe Sr.',
'Jönsson Doe III',
'Jönsson Doe IV',
'Jönsson Doe V',
'Jönsson Doe VI',
'Jönsson Doe VII',
'Jönsson Doe VIII',
'Jönsson Doe IX',
'Jönsson Doe X',
'Jönsson Doe XI',
'Jönsson Doe XII',
'Jönsson Doe XIII',
'Jönsson Doe XIV',
'Jönsson Doe XV',
'Jönsson Doe XVI',
'Jönsson Doe XVII',
'Jönsson Doe XVIII',
'Jönsson Doe XIX',
'Jönsson Doe XX',
'Jönsson Doe XXI',
'Jönsson Doe XXII',
'Jönsson Doe XXIII',
'Jönsson Doe XXIV',
'Jönsson Doe XXV',
'Jönsson Doe XXVI',
'Jönsson Doe XXVII',
'Jönsson Doe XXVIII',
'Jönsson Doe XXIX',
'Jönsson Doe XXX',
'Jönsson Doe XXXI',
'Jönsson Doe XXXII',
'Jönsson Doe XXXIII',
'Jönsson Doe XXXIV',
'Jönsson Doe XXXV',
'Jönsson Doe XXXVI',
'Jönsson Doe XXXVII',
'Jönsson Doe XXXVIII',
'Jönsson Doe XXXIX',
'Jönsson Doe XL',
'Jönsson Doe XLI',
'Jönsson Doe XLII',
'Jönsson Doe XLIII',
'Jönsson Doe XLIV',
'Jönsson Doe XLV',
'Jönsson Doe XLVI',
'Jönsson Doe XLVII',
'Jönsson Doe XLVIII',
'Jönsson Doe XLIX',
'Jönsson Doe L',
'Jönsson Doe LI',
'Jönsson Doe LII',
'Jönsson Doe LIII',
'Jönsson Doe LIV',
'Jönsson Doe LV',
'Jönsson Doe LVI',
'Jönsson Doe LVII',
'Jönsson Doe LVIII',
'Jönsson Doe LIX',
'Jönsson Doe LX',
'Jönsson Doe LXI',
'Jönsson Doe LXII',
'Jönsson Doe LXIII',
'Jönsson Doe LXIV',
'Jönsson Doe LXV',
'Jönsson Doe LXVI',
'Jönsson Doe LXVII',
'Jönsson Doe LXVIII',
'Jönsson Doe LXIX',
'Jönsson Doe LXX',
'Jönsson Doe LXXI',
'Jönsson Doe LXXII',
'Jönsson Doe LXXIII',
'Jönsson Doe LXXIV',
'Jönsson Doe LXXV',
'Jönsson Doe LXXVI',
'Jönsson Doe LXXVII',
'Jönsson Doe LXXVIII',
'Jönsson Doe LXXIX',
'Jönsson Doe LXXX',
'Jönsson Doe LXXXI',
'Jönsson Doe LXXXII',
'Jönsson Doe LXXXIII',
'Jönsson Doe LXXXIV',
'Jönsson Doe LXXXV',
'Jönsson Doe LXXXVI',
'Jönsson Doe LXXXVII',
'Jönsson Doe LXXXVIII',
'Jönsson Doe LXXXIX',
'Jönsson Doe XC',
'Jönsson Doe XCI',
'Jönsson Doe XCII',
'Jönsson Doe XCIII',
'Jönsson Doe XCIV',
'Jönsson Doe XCV',
'Jönsson Doe XCVI',
'Jönsson Doe XCVII',
'Jönsson Doe XCVIII',
'Jönsson Doe XCIX',
'Jönsson Doe C',
];
// Test with invalid user names
const invalidUserNames = [
'John Doe123',
'John Doe@',
'John Doe#',
'John Doe$',
'John Doe%',
'John Doe^',
'John Doe&',
'John Doe*',
'John Doe(',
'John Doe)',
'John Doe=',
'John Doe+',
'John Doe[',
'John Doe]',
'John Doe{',
'John Doe}',
'John Doe|',
'John Doe\\',
'John Doe;',
'John Doe:',
'John Doe<',
'John Doe>',
'John Doe,',
'John Doe.',
'John Doe/',
'John Doe?',
'John Doe!',
'John Doe~',
'John Doe`',
'John Doe\'',
'John Doe"',
'John Doe',
];
// Test with special characters
const specialCharacterUserNames = [
'John Doe!',
'John Doe@',
'John Doe#',
'John Doe$',
'John Doe%',
'John Doe^',
'John Doe&',
'John Doe*',
'John Doe(',
'John Doe)',
'John Doe=',
'John Doe+',
'John Doe[',
'John Doe]',
'John Doe{',
'John Doe}',
'John Doe|',
'John Doe\\',
'John Doe;',
'John Doe:',
'John Doe<',
'John Doe>',
'John Doe,',
'John Doe.',
'John Doe/',
'John Doe?',
'John Doe!',
'John Doe~',
'John Doe`',
'John Doe\'',
'John Doe"',
];
// Test with very long names
const veryLongUserNames = Array.from({ length: 100 }, (_, i) => `John Doe ${i + 1}`);
// Test with non-ASCII letters
const nonAsciiUserNames = [
'Ján Doe',
'Jón Doe',
'Jön Doe',
'Jönsson Doe',
'Jönsson Doe Jr.',
'Jönsson Doe Sr.',
'Jönsson Doe III',
'Jönsson Doe IV',
'Jönsson Doe V',
'Jönsson Doe VI',
'Jönsson Doe VII',
'Jönsson Doe VIII',
'Jönsson Doe IX',
'Jönsson Doe X',
'Jönsson Doe XI',
'Jönsson Doe XII',
'Jönsson Doe XIII',
'Jönsson Doe XIV',
'Jönsson Doe XV',
'Jönsson Doe XVI',
'Jönsson Doe XVII',
'Jönsson Doe XVIII',
'Jönsson Doe XIX',
'Jönsson Doe XX',
'Jönsson Doe XXI',
'Jönsson Doe XXII',
'Jönsson Doe XXIII',
'Jönsson Doe XXIV',
'Jönsson Doe XXV',
'Jönsson Doe XXVI',
'Jönsson Doe XXVII',
'Jönsson Doe XXVIII',
'Jönsson Doe XXIX',
'Jönsson Doe XXX',
'Jönsson Doe XXXI',
'Jönsson Doe XXXII',
'Jönsson Doe XXXIII',
'Jönsson Doe XXXIV',
'Jönsson Doe XXXV',
'Jönsson Doe XXXVI',
'Jönsson Doe XXXVII',
'Jönsson Doe XXXVIII',
'Jönsson Doe XXXIX',
'Jönsson Doe XL',
'Jönsson Doe XLI',
'Jönsson Doe XLII',
'Jönsson Doe XLIII',
'Jönsson Doe XLIV',
'Jönsson Doe XLV',
'Jönsson Doe XLVI',
'Jönsson Doe XLVII',
'Jönsson Doe XLVIII',
'Jönsson Doe XLIX',
'Jönsson Doe L',
'Jönsson Doe LI',
'Jönsson Doe LII',
'Jönsson Doe LIII',
'Jönsson Doe LIV',
'Jönsson Doe LV',
'Jönsson Doe LVI',
'Jönsson Doe LVII',
'Jönsson Doe LVIII',
'Jönsson Doe LIX',
'Jönsson Doe LX',
'Jönsson Doe LXI',
'Jönsson Doe LXII',
'Jönsson Doe LXIII',
'Jönsson Doe LXIV',
'Jönsson Doe LXV',
'Jönsson Doe LXVI',
'Jönsson Doe LXVII',
'Jönsson Doe LXVIII',
'Jönsson Doe LXIX',
'Jönsson Doe LXX',
'Jönsson Doe LXXI',
'Jönsson Doe LXXII',
'Jönsson Doe LXXIII',
'Jönsson Doe LXXIV',
'Jönsson Doe LXXV',
'Jönsson Doe LXXVI',
'Jönsson Doe LXXVII',
'Jönsson Doe LXXVIII',
'Jönsson Doe LXXIX',
'Jönsson Doe LXXX',
'Jönsson Doe LXXXI',
'Jönsson Doe LXXXII',
'Jönsson Doe LXXXIII',
'Jönsson Doe LXXXIV',
'Jönsson Doe LXXXV',
'Jönsson Doe LXXXVI',
'Jönsson Doe LXXXVII',
'Jönsson Doe LXXXVIII',
'Jönsson Doe LXXXIX',
'Jönsson Doe XC',
'Jönsson Doe XCI',
'Jönsson Doe XCII',
'Jönsson Doe XCIII',
'Jönsson Doe XCIV',
'Jönsson Doe XCV',
'Jönsson Doe XCVI',
'Jönsson Doe XCVII',
'Jönsson Doe XCVIII',
'Jönsson Doe XCIX',
'Jönsson Doe C',
];
- Coverage improvements: Ensure all test cases are covered.
- Performance testing needs: Monitor performance during testing to ensure the changes do not negatively impact the application's speed.
6. Documentation & Maintenance
- Documentation updates needed: Update the documentation to reflect the changes in user input validation and the user interface.
- Long-term maintenance considerations: Ensure the new validation rules are compatible with existing user data. Monitor the system for any potential data inconsistencies.
7. Deployment & Operations
- Deployment impact and strategy: These changes should be deployed to all users. A rolling deployment strategy may be appropriate to minimize downtime.
- Key operational considerations: Monitor the system for any potential data inconsistencies or user confusion. Address any user feedback promptly.
8. Summary & Recommendations
8.1 Key Action Items
- Thoroughly test the changes: Ensure the changes are compatible with existing user data and do not cause any data inconsistencies. Validate the changes with various user names, including long names, non-ASCII letters, spaces, and special characters.
- Update the documentation: Reflect the changes in user input validation and the user interface in the documentation.
- Monitor the system: After deployment, monitor the system for any potential data inconsistencies or user confusion. Address any user feedback promptly.
8.2 Future Considerations
- Internationalization: Continue to improve the system's support for internationalization, including input validation, user interface, and data storage.
- User experience: Continuously monitor and improve the user experience, including user interface design, usability, and accessibility.
- System integration impacts: As the system evolves, consider the potential impacts of changes on other components and the overall system architecture.
💡 Help Shape LlamaPReview
How's this review format working for you? Vote in our Github Discussion Polls to help us improve your review experience!
Can you add a video here? I don't see it here or in the comments. Also the regex does not allow special characters like hyphens (e.g., "Anne-Marie"), apostrophes (e.g., "O'Connor"). |
WalkthroughThe pull request introduces enhanced name validation across client and server components. The changes modify regex patterns to support Unicode letters and spaces, replacing the previous strict English-letter-only validation. This update allows for more inclusive name validation that recognizes characters from multiple languages while maintaining a clear validation structure. The modifications are consistent across both client-side and server-side validation logic. Changes
Sequence DiagramsequenceDiagram
participant User
participant Client
participant Server
participant Validation
User->>Client: Enters name
Client->>Validation: Validate name pattern
Validation-->>Client: Validate Unicode letters and spaces
Client->>Server: Submit user data
Server->>Validation: Validate name pattern
Validation-->>Server: Confirm valid name
Server->>User: Process request
Possibly related PRs
Suggested reviewers
📜 Recent review detailsConfiguration used: .coderabbit.yaml 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
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.
Actionable comments posted: 2
🧹 Nitpick comments (1)
Server/validation/joi.js (1)
45-45
: Update those error messages to match the new pattern! 📝The error messages should reflect that hyphens and apostrophes are now allowed.
- "string.pattern.base": "First name must contain only letters and spaces", + "string.pattern.base": "First name must contain only letters, spaces, hyphens, and apostrophes",Apply similar changes to all four error messages.
Also applies to: 52-52, 85-85, 91-91
Client/src/Validation/validation.js
Outdated
@@ -7,11 +7,11 @@ const nameSchema = joi | |||
.string() | |||
.max(50) | |||
.trim() | |||
.pattern(/^[A-Za-z]+$/) | |||
.pattern(/^[\p{L}]+(?:[\p{L}\s]+)*$/u) |
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.
Yo, the name validation needs more flexibility, dawg! 🔥
The current regex pattern doesn't support common name characters like hyphens (e.g., "Anne-Marie") and apostrophes (e.g., "O'Connor"). Let's make it more inclusive!
Here's a fix that'll make it work better:
- .pattern(/^[\p{L}]+(?:[\p{L}\s]+)*$/u)
+ .pattern(/^[\p{L}]+(?:[\p{L}\s'\-]+)*$/u)
Also applies to: 14-14
@gorkem-bwl , in detail problem: |
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.
Actionable comments posted: 1
♻️ Duplicate comments (2)
Server/validation/joi.js (2)
43-46
:⚠️ Potential issueYo dawg, we got some inconsistency in the registration schema! 🎤
The registration schema's regex
/^[\p{L}]+(?:[\p{L}\s]+)*$/u
doesn't support special characters like hyphens and apostrophes (e.g., "Anne-Marie", "O'Connor"), but the edit schema does. Let's keep it consistent!Drop this fire diff to fix it:
- .pattern(/^[\p{L}]+(?:[\p{L}\s]+)*$/u) + .pattern(/^[\p{L}]+(?:[\p{L}\s'\-]+)*$/u)Also, the error message "must contain only letters and spaces" isn't accurate since we're allowing more than just letters and spaces. Keep it real with:
- "string.pattern.base": "First name must contain only letters and spaces", + "string.pattern.base": "First name must contain only letters, spaces, hyphens and apostrophes",Also applies to: 50-53
81-92
: 🛠️ Refactor suggestionMom's spaghetti! We got code duplication! 🍝
The same regex pattern and error messages are repeated four times. Let's DRY it up by extracting it to a constant!
Here's the hot fix:
+const namePattern = /^[\p{L}]+(?:[\p{L}\s'\-]+)*$/u; +const nameErrorMessage = "must contain only letters, spaces, hyphens and apostrophes"; const registrationBodyValidation = joi.object({ firstName: joi .string() .required() - .pattern(/^[\p{L}]+(?:[\p{L}\s'\-]+)*$/u) + .pattern(namePattern) .messages({ - "string.pattern.base": "First name must contain only letters and spaces", + "string.pattern.base": `First name ${nameErrorMessage}`, }), lastName: joi .string() .required() - .pattern(/^[\p{L}]+(?:[\p{L}\s'\-]+)*$/u) + .pattern(namePattern) .messages({ - "string.pattern.base": "Last name must contain only letters and spaces", + "string.pattern.base": `Last name ${nameErrorMessage}`, }),Apply the same changes to
editUserBodyValidation
. Straight fire! 🔥
Server/validation/joi.js
Outdated
.pattern(/^[\p{L}]+(?:[\p{L}\s]+)*$/u) | ||
.messages({ | ||
"string.pattern.base": "First name must contain only letters and spaces", | ||
}), |
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.
💡 Codebase verification
Yo, the regex is dropping the ball on legit names! 🎯
The current pattern is too restrictive and fails to validate common name formats:
- Compound names with hyphens (Mary-Jane)
- Names with apostrophes (O'Connor)
- Names with suffixes (Smith Jr.)
While it correctly handles Unicode letters (José, María, 안녕하세요), it needs to be updated to support these common name components.
🔗 Analysis chain
Verify the regex pattern coverage! 🎯
Let's make sure our regex pattern handles all the edge cases correctly.
Also applies to: 50-53, 81-92
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Test the name validation regex against various test cases
# Create a test file with sample names
cat << 'EOF' > test_names.txt
John
Mary-Jane
O'Connor
José
María
안녕하세요
Zhang-Wei
Jean-François
Smith Jr.
EOF
# Use awk to test the regex pattern against each name
awk '
BEGIN {
pattern = "^[[:alpha:]]+([[:alpha:][:space:]'\''\\-]+)*$"
}
{
if ($0 ~ pattern) {
print "PASS:", $0
} else {
print "FAIL:", $0
}
}' test_names.txt
Length of output: 329
Script:
#!/bin/bash
# Create a Node.js script to test the actual regex pattern
cat << 'EOF' > test_regex.js
const names = [
'John',
'Mary-Jane',
"O'Connor",
'José',
'María',
'안녕하세요',
'Zhang-Wei',
'Jean-François',
'Smith Jr.',
'John123',
'Mary!',
' Space',
'Dot.Name'
];
const pattern = /^[\p{L}]+(?:[\p{L}\s]+)*$/u;
console.log('Testing names against pattern:', pattern);
console.log('----------------------------------------');
names.forEach(name => {
console.log(`${name.padEnd(20)} : ${pattern.test(name) ? 'PASS' : 'FAIL'}`);
});
EOF
# Use Node.js to run the test
node test_regex.js
Length of output: 491
No worries. Let's see if it works on our end on a live system, and get back to you on this then. Next time, please do not click on a check item if you haven't completed it (e.g "I took a screenshot or a video and attached to this PR if there is a UI change"). |
@yoyounik you've got two PRs open for this issue now, is the older one redundant? If so, please close it and rename this one appropriately. Thank you! |
@yoyounik have you declared the required environmental variables? Please post your client and server .env files so we can inspect and make sure they are setup correctly. |
@yoyounik touching base here, have you got the application up and running so that you can test this? We won't be merging untested code. |
@ajhollid the client side is running fine. The only problem i am facing is starting off with server, i have no redis installed and i guess that is why the server is not starting off. |
@ajhollid i will try installing redis and testing it once, and then i will let you know in a while . |
@ajhollid , the server is running now on port 5000,: the only problem is that , it is showing something like this , when running it on web: |
The server does not accept get requests on / I imagine you want to connect to he Client, not the server. Client runs on port 5173 |
yes @ajhollid 😊 and in server .env file , i added this: CLIENT_HOST="http://localhost:5173" Can you give any hints where and how to run it, i have tried to run it in many ways |
@yoyounik go to the client directory and run |
yes @ajhollid , after going to client and running npm run dev: |
It appears your Client cannot talk to your server. I suggest checking your Server logs and seeing what is going on. My guess would be Mongo and Redis images are not running. If that is the case, I suggest you closely follow the steps set out in the documentation to properly start your application. |
Describe your changes
Changes made:
Validation Logic Update:
validation.js: Updated nameSchema to allow non-ASCII letters and spaces.
Truncation for Long Names:
Sidebar/index.css: Added CSS rules to truncate long names in the user context menu.
Issue number
Issue Number : #1561 (comment)
Please ensure all items are checked off before requesting a review: