Granular Watch Settings for Forgejo

This is the first “feature” PR which will only be available within CodeFloe and not patched upstream to Forgejo. The reason is not make CodeFloe special or any similar reason. It’s because I’ve decided to stop contributing to Forgejo core for the foreseeable future as I don’t align with the project’s stance on the use of AI. Why that is, what happened in detail and which points of their “AI agreement” are the problem is a topic for a separate post. Given that CodeFloe will (and already) has some compelling features which Forgejo lacks, I’ll also soon start building binaries and container images for CodeFloe so it can be used as a drop-in replacement for Forgejo for anyone who wants to use it.

Link to this section  Granular Repository Watch Settings

Granular watch settings allow users to customize which events they receive notifications for, such as new issues, comments, or pull requests. This feature is particularly useful for managing notifications and reducing noise in your inbox.

So far, there were only two choices: “Watch” or “Ignore”. Meaning you either get all notifications or none at all.
This is not ideal in pretty much all cases: as a contributor to a project who helps with reviewing pull requests, you might want to be notified about new pull requests but not about every new issue. Similarly, you surely also want to be notified about new releases. This point might apply to many non-contributors as well, so you become aware of new releases without having to visit the project’s repository every once in a while. Most projects don’t share releases in other channels, such as social media or email newsletters.

GitHub has a (very) good implementation of granular repository watch settings, allowing users to choose which repo events they want to receive notifications for. The global default is “participating and mentions”, which means users will by default only receive notifications for events they are participating in or mentioned in. What I don’t like is that all the repo events are bundled within a nested menu. Many users overlook this and never realize they can customize their notifications.

An additional “feature” that I really want personally is the option to exclude the actions of certain users. The main use case is to exclude notifications from (dependency) bots. Often enough, their actions will be handled automatically anyhow and don’t need attention. And if not, they bot doesn’t complain to wait for me for the next real visit of the repository. However, I wouldn’t want to miss a contribution of a real user.

So here we are: thanks to the help of AI, granular watch settings are now available in CodeFloe.