-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Description
Summary
When a user sets their display name to include an @ symbol (e.g., @aromatt), their profile disappears from the members list.
Steps to Reproduce
- Go to profile edit page (
/profile/edit) - Set display name to something containing
@(e.g.,@aromatt) - Save changes
- Navigate to the members page (
/members) - Search for or scroll to find the user
Current Behavior
User profile is not visible in the members list when display name contains @ symbol.
Expected Behavior
User profile should appear in the members list regardless of special characters in the display name.
Relevant Code
Members Page Query - src/routes/members.tsx (lines 45-50):
const members = await getPublicMembersFn()Server Function - src/fn/profiles.ts (lines 147-153):
Calls getPublicMembers()
Database Query - src/data-access/profiles.ts (lines 128-144):
SELECT id, displayName, image, bio, flair, updatedAt
FROM profiles
INNER JOIN users ON profiles.userId = users.id
WHERE profiles.isPublicProfile = true
ORDER BY profiles.updatedAt DESCDisplay Name Validation - src/routes/profile/edit.tsx (lines 57-68):
- Only validates: required, 1-100 chars
- No special character restrictions
Possible Causes
- PostgreSQL query might interpret
@as a special character in some context - The
isPublicProfileflag might be getting reset when updating with special characters - Frontend rendering issue when parsing display names
- Drizzle ORM query building issue with special characters
Affected Areas
- Routes:
/src/routes/members.tsx(user list rendering) - Routes:
/src/routes/profile/edit.tsx(profile update form) - Data Access:
/src/data-access/profiles.ts(getPublicMembers query) - Server Functions:
/src/fn/profiles.ts(getPublicMembersFn)
Acceptance Criteria
- Users with
@in display name appear in members list - Other special characters (
#,!,&,%, etc.) don't cause similar issues - Display name is properly escaped/handled in database queries
- Profile visibility (
isPublicProfile) is not affected by display name content
coderabbitai
Metadata
Metadata
Assignees
Labels
No labels