Forgejo/release-notes/8.0.0
0ko 1496bb6079 Better logic for showing user feed/public activity elements (#4189)
There are a few changes of template logic which defines when which elements should be shown on profile page. The motivation is to have the elements when needed and don't when they're not relevant.

## Changes

### RSS button

Now displayed if:
* feeds are enabled
AND one or more of:
* the current user is an admin
* the current user is viewing their profile
* the activity is publicly available

So, basically in cases when the .rss feed actually contains any events. Before this change this button was constantly shown and was giving an empty feed if it was unavailable.

### Public activity tab

The tab is displayed if:
* the current user is an admin
* the current user is viewing their profile
* the activity is publicly available
* the current tab is this exact tab, for example, in case it was accessed by adding `?tab=activity` to the URL, so that the UI is not broken w/o a highlighted tab

So, this tab is not displayed when it's not going to contain any information, but still can be accessed.

### Banner "This user has disabled the public visibility of the activity."

For admins:
* always show the big blue banner to warn that sharing a screenshot of this publicly is bad idea

For self:
* always display a little note about the current visibility status with a "Change" link

For others:
* only display a little note to explain why the activity is not shown

### Heatmap and activity feed

Elements are only displayed when relevant, instead of keeping empty leftovers, for easier testing. This template change is also covered by test. **Everything in this Changes section is covered by test unless I forgot something.**

## Preview

There's obviously too many states to screenshot, here are highlights:

![](https://codeberg.org/attachments/47559531-9bcd-46c0-90d4-8b51512da752)
_Warning admin for why they're seeing the information_

![](https://codeberg.org/attachments/3107bf62-955b-4fe5-bce3-6305a928afe1)
_Viewing self - private_

![](https://codeberg.org/attachments/afb63ead-fb0b-4fc7-9d8b-c6c09e9ae62b)
_Viewing self - public_

![](https://codeberg.org/attachments/df3c090a-7490-4827-b33b-771fd4fa0a9f)
_Don't have access to the information_

![](https://codeberg.org/attachments/2dd2b0ac-2fe0-4453-aa4b-e91fd08f4411)
_The tab is not shown when the activity can't be accessed_

![](https://codeberg.org/attachments/ed4c61de-b3b7-4523-b92b-bc76e1d8b7c5)
_Can't access the RSS feed_

![](https://codeberg.org/attachments/5a27f2be-d79c-4fb4-85a5-758348398f1b)
_Can access the RSS feed_

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4189
Reviewed-by: Otto <otto@codeberg.org>
2024-06-24 08:19:11 +00:00
..
feat Merge pull request '[gitea] week 2024-25 cherry pick (gitea/main -> forgejo)' (#4145) from earl-warren/wcp/2024-25 into forgejo 2024-06-18 07:56:20 +00:00
fix Update module github.com/yuin/goldmark to v1.7.3 2024-06-24 08:03:18 +02:00
perf docs(release-notes): week 2024-25 cherry pick 2024-06-16 13:42:59 +02:00
3139.md Add release note for #3139 2024-04-28 22:44:59 +02:00
3285.md Add a release note for #3285 2024-05-10 09:32:07 +02:00
3383.md Release notes for Limit database max connections by default 2024-04-27 22:03:25 +02:00
3414.md ldap: default domain name (#3414) 2024-04-26 22:38:58 +00:00
3616.md Add slogan config (#3752) 2024-06-07 17:12:48 +00:00
3724.md Update module github.com/caddyserver/certmagic to v0.21.0 (#3724) 2024-05-12 14:56:39 +00:00
3811.md Add minimal implementation for RubyGems compact index API. (#3811) 2024-05-19 23:30:41 +00:00
3830.md fix(actions): prevent deleted records' UUID from colliding with new records (#3830) 2024-05-19 10:46:15 +00:00
3934.md Add a release note about the previous changes 2024-05-31 08:21:55 +02:00
4095.md Disable issue subscribe button for guest users (#4095) 2024-06-11 05:54:35 +00:00
4139.md Reorder repo tabs (#4139) 2024-06-16 12:36:41 +00:00
4189.md Better logic for showing user feed/public activity elements (#4189) 2024-06-24 08:19:11 +00:00