feat(profiles): editable display name, bio, and avatar #33

Merged
nrupard merged 1 commit from feat/profiles into main 2026-05-05 21:59:28 +02:00
Owner

Adds a Profile section to /settings that lets users set a display name (max 64 chars), a bio (max 500 chars), and a profile picture (PNG/JPEG/WebP, 1 MiB cap). Display names and avatars now appear in messages, the sidebar, and DM headers, falling back to a username/initial circle when unset. Avatars are stored on disk under {DATA_DIR}/avatars/{user_id}.{ext}; a new GET /avatars/{user_id} route serves them with the correct MIME and a 5-minute cache header. Uploads are validated by magic bytes and written atomically.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

Adds a Profile section to /settings that lets users set a display name (max 64 chars), a bio (max 500 chars), and a profile picture (PNG/JPEG/WebP, 1 MiB cap). Display names and avatars now appear in messages, the sidebar, and DM headers, falling back to a username/initial circle when unset. Avatars are stored on disk under {DATA_DIR}/avatars/{user_id}.{ext}; a new GET /avatars/{user_id} route serves them with the correct MIME and a 5-minute cache header. Uploads are validated by magic bytes and written atomically. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds a Profile section to /settings that lets users set a display name (max 64 chars), a bio (max 500 chars), and a profile picture (PNG/JPEG/WebP, 1 MiB cap). Display names and avatars now appear in messages, the sidebar, and DM headers, falling back to a username/initial circle when unset. Avatars are stored on disk under {DATA_DIR}/avatars/{user_id}.{ext}; a new GET /avatars/{user_id} route serves them with the correct MIME and a 5-minute cache header. Uploads are validated by magic bytes and written atomically.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
nrupard deleted branch feat/profiles 2026-05-05 21:59:29 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/lets-chat!33
No description provided.