feat(profile): add configurable profile visibility with access control #39

Open
McPringle wants to merge 1 commit from McPringle/feat/public-profiles into main
McPringle commented 2026-05-02 10:57:15 +02:00 (Migrated from github.com)

This change adds configurable profile visibility settings: public, followers only, or private. Access to profile pages and profile-related data is now enforced centrally, and the UI handles restricted profiles with a clear message.

Previously, anonymous users who clicked on a user profile were redirected to the login page. In addition, users editing their own profile had no clear indication of who could actually see it. The new visibility setting makes that behavior explicit and understandable, while putting control over profile visibility directly in the hands of the user. The default is followers only, since that most closely matches the behavior that was effectively observed before.

For example, I would like to make my own profile publicly visible so it can be accessed directly without ambiguity: sattelgeschichten.ch/users/McPringle

image
This change adds configurable profile visibility settings: public, followers only, or private. Access to profile pages and profile-related data is now enforced centrally, and the UI handles restricted profiles with a clear message. Previously, anonymous users who clicked on a user profile were redirected to the login page. In addition, users editing their own profile had no clear indication of who could actually see it. The new visibility setting makes that behavior explicit and understandable, while putting control over profile visibility directly in the hands of the user. The default is followers only, since that most closely matches the behavior that was effectively observed before. For example, I would like to make my own profile publicly visible so it can be accessed directly without ambiguity: [sattelgeschichten.ch/users/McPringle](https://sattelgeschichten.ch/users/McPringle) <img width="793" height="1154" alt="image" src="https://github.com/user-attachments/assets/66ccc55e-c431-4956-9493-6f195a49c509" />
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin McPringle/feat/public-profiles:McPringle/feat/public-profiles
git checkout McPringle/feat/public-profiles

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git checkout main
git merge --no-ff McPringle/feat/public-profiles
git checkout McPringle/feat/public-profiles
git rebase main
git checkout main
git merge --ff-only McPringle/feat/public-profiles
git checkout McPringle/feat/public-profiles
git rebase main
git checkout main
git merge --no-ff McPringle/feat/public-profiles
git checkout main
git merge --squash McPringle/feat/public-profiles
git checkout main
git merge --ff-only McPringle/feat/public-profiles
git checkout main
git merge McPringle/feat/public-profiles
git push origin main
Sign in to join this conversation.
No description provided.