Feat/profanity filter#164
Open
nanaabdul1172 wants to merge 10 commits into
Open
Conversation
|
@nanaabdul1172 is attempting to deploy a commit to the Abdulazeem's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@nanaabdul1172 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
Owner
|
Fix checks |
Owner
|
Could you click the Update branch button on your end, or run git pull origin main locally and push? That will make the tests pass so I can merge this!" |
…172/stellar-tags into feat/profanity-filter
- Install bad-words package and initialise Filter at module load - Reject usernames containing restricted words with 400 Bad Request - Mock bad-words in server.test.js and receipts.test.js to fix Jest ESM parse error (badwords-list ships as ESM; Jest runs in CJS mode) - Resolve merge conflicts: take Prisma-based server from remote branch and layer profanity check on top of existing length/secret-key guards
Owner
|
Fix backend build test error |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
closes #95
Implementation Complete ✓
The profanity filter has been successfully added to the /register route in server.js. Here's what was implemented:
Changes Made:
Package Installation: The bad-words package was already installed in the project
Filter Initialization: Added the filter at the top of the route handler:
const Filter = require('bad-words');
const filter = new Filter();
Validation Logic: Added profanity check after basic field validation but before database operations:
// Extract the username part before the * for profanity check
const usernameOnly = username.split('*')[0];
if (filter.isProfane(usernameOnly)) {
return res.status(400).json({ error: 'Username contains restricted words' });
}
How It Works:
The filter checks only the username portion (before the * domain separator)
If profanity is detected, the request is rejected with a 400 Bad Request status
The error message returned is: "Username contains restricted words"
Valid usernames proceed through the normal registration flow
Testing Recommendations:
You can test this by attempting to register with profane usernames. The filter will catch common offensive words and prevent registration, keeping your federation directory professional and compliant.