gitea
gitea copied to clipboard
Add a GitHub Discussions like forum feature
Feature Description
GitHub has the "Discussions" feature, which is something like a forum. They are actually similar to issues, with the following differences:
- you can answer to a comment and this comment will be showed in a separate list below the comment
- instead of closing the discussions, they can be resolved and you can set the comment that resolved the problem
- they are sorted into categories (I think GH's default is "General", "Ideas", "Q&A" and "Show and tell", "Announcements")
- you can upvote single discussions
- you can convert an issue to a discussion and a discussion to an issue
Some repos using them:
ref: https://codeberg.org/Codeberg/Community/issues/528
Screenshots

What about a generic implementation to create as-many-issue-trackers as you like, move issues between them, but have them separated by default.
A repo could, for example, have a targeted and distraction-free "Bug Tracker", a tracker for "Feature Requests" and a general "Support Forum". I know @Gusted is working on confidential issues in #17711, but I'm just now thinking of allowing to create a maintainers-only security tracker (or more generic internal discussion) with this very same approach. Some projects also want to have a clean bug-tracker where not everyone can post stuff, this could also be achieved by such a generic implementation.
I think, using an issue tracker as forum is just fine, I don't see any need for writing a new forum software in Gitea tbh. I think the main reason for people to want this is a separation from the normal issue tracker.
From what I see on github discussion (or discourse), there is a few adjustment that would need to be added to issue for proper discussions.
For a start, the way the issue are displayed. The order is not "latest created issue", but "latest issue with activity". Then I am not sure what it mean to close a discussion "issue", and who should be able to close the topic, and if automated trigger would apply there ?
The whole UX (assigned to, etc) would also need to be removed or at least changed, as I think this would be confusing and meaningless for discussion, but useful for tickets.
And there is feature that may make sense to add (like merging or splitting issue/discussions), but maybe in a different way for issue and discussions.
@mscherer I think this still qualifies for a generic implementation, rather than adding all these features one-by-one and upon request and discussing about changing the default values from time to time.
For example, there are issue trackers where I'd love to have the default view at "Recently updated" ... allowing users to define their own trackers with diferent values (and maybe adding default buttons like with label sets that create a "Forum" with some defaults) might be fine.
You can already disable certain features for the issue trackers, like time tracking, dependencies etc, why not allow for more customization? Still, some features might come handy even in forums at times ...
In forums it's not uncommon to "close" (archive, mark as outdated etc) a thread.
merging / splitting could also be a FR for normal issues.
I know that this will require a lot more work than just copying some code and wiring it into a discussion feature, but I think it will allow a lot more flexibility. I expect many feature requests in the future, like "I want this in my discussion forum" or "I'd like this forum feature back in my issue tracker", or "Git-Hosting XY just added a dedicated User-Support-Desk, can we have this, too, by copying the forum code again?" - and having a very generic backend sounds like a lot of freedom to users, much less duplication and more efficient.
Yeah, I think it help to show what would be changed so the feature could be added 1 by 1. As you point out, it would make sense to have a different sorting on the issue tracker, and so this could be added, and exposed as a project setting.
And then reused in some kind of higher level profile that preconfigure the merged issue/ticket/discussion backend, or something like that.
I have only two thoughts:
- what's the real benefit to use "Discussions" and not the normal issues?
- will it increase gitea's code base unnecessary or can it be done with 1-2 flags in backend and just another template to look at it?
what's the real benefit to use "Discussions" and not the normal issues?
I think github just wants to provide a place where you can get support that's different from issues, because most projects don't want to have support questions in their issue tracker (Gitea has this too and prefers using the forum/discord).
will it increase gitea's code base unnecessary or can it be done with 1-2 flags in backend and just another template to look at it?
I don't really think so. If using the github way, you'd need (backend) another flag to mark it as discussion, a new column to save in which category the discussion is and a sub-comment feature which allows you to comment an another comment (if it's not a sub-comment already). And of course the frontend templates and API endpoints.
what's the real benefit to use "Discussions" and not the normal issues?
This is questionable, but there is high demand for this, we can see this on SocialMedia. IMO, there is in any way high demand to customize the way issues are tracked, whether to split out Discussions and Support, or collect feature requests separated from bug reports as common in some FLOSS projects, or to have a focused core tracker for the maintainer team ... I can think of many ideas, but I don't want to repeat my initital comment, see above.
Would like to see a discussion section added to gitea
This issue is a duplicate of https://github.com/go-gitea/gitea/issues/14562
It is not. #14562 addresses a discussion in org teams, and this one in repos. This is not the same discussion feature (but most people think that it is).
GH docs: #14562 - https://docs.github.com/en/organizations/collaborating-with-your-team
This one - https://docs.github.com/en/discussions
(So please reopen this issue)
@qwerty287 my apologies. Lunny has re-opened this :)
would kanban boards and the such be also there
@Kreijstal that feature already exists. Try going to the Projects tab in any Gitea repository and you can make a Kanban board there 😉
But I have to put my +1 for this issue here. This is essential.
This would definitely be something useful, to keep issues and support separately. Gitea Discussions gets a +1 from me!
I'd also like to have this feature. This would be a great one, especially for community building and collecting questions and feature requests.
:+1: