Complete authentication and profile features

This commit is contained in:
Olaf
2026-08-24 14:50:05 +02:00
parent 1c827956c4
commit 01702fcadf
17 changed files with 227 additions and 40 deletions
+30
View File
@@ -205,3 +205,33 @@ remove default for bio and email in the profile page
### Assistant outcome
Removed the default bio text from the profile template and browser loader. Email remains API-driven and empty until stored for the user. The avatar, Mastodon instance, and post-prefix defaults remain unchanged. Focused profile validation passed, followed by the strict backend suite with 10 passing tests.
### User
Don't use an avatar URL but allow the user to upload an avatar
### Assistant outcome
Replaced the avatar URL field with a multipart image upload, added persistent avatar storage under the database data directory, mounted `/media` for serving uploaded files, limited uploads to PNG/JPEG/GIF/WebP files up to 2 MB, and added a profile preview. Added `python-multipart` to the backend dependencies and verified upload, persistence, serving, scripts, tests, and Docker image build.
### User
Show the avatar with all posts
### Assistant outcome
Updated feed rendering to display each user's uploaded avatar beside every post, with an initial fallback when no avatar exists or the image fails to load. Filtered profile headers now render uploaded avatars as well. Added avatar data coverage and verified the strict backend suite with 10 passing tests.
### User
Show the avatar with each entry on the home page. On the specific /<user>/ page don't show the avatar and user name with each entry
### Assistant outcome
Updated feed rendering so home-page entries include the avatar and username, while entries on `/<user>/` omit the repeated identity block. The filtered page still displays the user avatar and name once in its profile summary. Added cache-busting for the updated feed script and verified the strict backend suite with 10 passing tests.
### User
For the user filter create a dropdown of all users that are available on the server
### Assistant outcome
Replaced the free-text user filter with a dropdown populated from `GET /api/public/users`, including all registered users ordered by username. Preserved cookie-based selection and fallback to all users when a saved choice is unavailable. Bumped the feed asset version, rebuilt the Docker service, verified the live dropdown, and passed the strict backend suite with 10 tests.
### User
If I select a user filter I want the appropriate page to be opened (e.g. /user/ for user of / -home- for all-users)
### Assistant outcome
Changed the user dropdown to navigate to `/<username>/` for a selected user and `/` for all users, instead of filtering only in the current page. Added direct support for the trailing-slash user route, bumped the feed asset version to `v4`, rebuilt Docker, and verified the live routes and strict backend suite with 10 passing tests.
+5
View File
@@ -37,6 +37,11 @@
33. Check the whole authentication flow as it seems broken.
34. In the admin interface allow to toggle administrative rights for users. But always enforce there to be at least one user with admin rights
35. remove default for bio and email in the profile page
36. Don't use an avatar URL but allow the user to upload an avatar
37. Show the avatar with all posts
38. Show the avatar with each entry on the home page. On the specific /<user>/ page don't show the avatar and user name with each entry
39. For the user filter create a dropdown of all users that are available on the server
40. If I select a user filter I want the appropriate page to be opened (e.g. /user/ for user of / -home- for all-users)
## Future entries