Add a GitHub Discussions like forum feature #8192

Open
opened 2025-11-02 07:56:40 -06:00 by GiteaMirror · 17 comments
Owner

Originally created by @qwerty287 on GitHub (Nov 29, 2021).

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

Example from GH feedback

Originally created by @qwerty287 on GitHub (Nov 29, 2021). ### Feature Description GitHub has the "[Discussions](https://docs.github.com/en/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: * [GitHub feedback](https://github.com/github/feedback/discussions) * [Node.js](https://github.com/nodejs/node/discussions) * [Next.js](https://github.com/vercel/next.js/discussions) ref: https://codeberg.org/Codeberg/Community/issues/528 ### Screenshots ![Example from GH feedback](https://user-images.githubusercontent.com/80460567/143927701-30b7e50a-4bd5-4b5a-be5e-7c6016762ed9.png)
GiteaMirror added the type/proposaltype/feature labels 2025-11-02 07:56:40 -06:00
Author
Owner

@fnetX commented on GitHub (Nov 29, 2021):

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.

@fnetX commented on GitHub (Nov 29, 2021): 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.
Author
Owner

@mscherer commented on GitHub (Nov 30, 2021):

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 commented on GitHub (Nov 30, 2021): 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.
Author
Owner

@fnetX commented on GitHub (Nov 30, 2021):

@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.

@fnetX commented on GitHub (Nov 30, 2021): @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.
Author
Owner

@mscherer commented on GitHub (Nov 30, 2021):

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.

@mscherer commented on GitHub (Nov 30, 2021): 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.
Author
Owner

@6543 commented on GitHub (Dec 10, 2021):

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?
@6543 commented on GitHub (Dec 10, 2021): 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?
Author
Owner

@qwerty287 commented on GitHub (Dec 11, 2021):

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.

@qwerty287 commented on GitHub (Dec 11, 2021): > 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.
Author
Owner

@fnetX commented on GitHub (Dec 11, 2021):

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.

@fnetX commented on GitHub (Dec 11, 2021): > 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.
Author
Owner

@trymeouteh commented on GitHub (Jan 11, 2022):

Would like to see a discussion section added to gitea

@trymeouteh commented on GitHub (Jan 11, 2022): Would like to see a discussion section added to gitea
Author
Owner

@vhscom commented on GitHub (Jan 22, 2022):

This issue is a duplicate of https://github.com/go-gitea/gitea/issues/14562

@vhscom commented on GitHub (Jan 22, 2022): This issue is a duplicate of https://github.com/go-gitea/gitea/issues/14562
Author
Owner

@qwerty287 commented on GitHub (Jan 22, 2022):

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 commented on GitHub (Jan 22, 2022): 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)
Author
Owner

@techknowlogick commented on GitHub (Jan 22, 2022):

@qwerty287 my apologies. Lunny has re-opened this :)

@techknowlogick commented on GitHub (Jan 22, 2022): @qwerty287 my apologies. Lunny has re-opened this :)
Author
Owner

@Kreijstal commented on GitHub (Feb 19, 2022):

would kanban boards and the such be also there

@Kreijstal commented on GitHub (Feb 19, 2022): would kanban boards and the such be also there
Author
Owner

@twisted-nematic57 commented on GitHub (Sep 10, 2022):

@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.

@twisted-nematic57 commented on GitHub (Sep 10, 2022): @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.
Author
Owner

@SangeloDev commented on GitHub (Jun 9, 2023):

This would definitely be something useful, to keep issues and support separately.
Gitea Discussions gets a +1 from me!

@SangeloDev commented on GitHub (Jun 9, 2023): This would definitely be something useful, to keep issues and support separately. Gitea Discussions gets a +1 from me!
Author
Owner

@secondtruth commented on GitHub (Mar 5, 2024):

I'd also like to have this feature. This would be a great one, especially for community building and collecting questions and feature requests.

@secondtruth commented on GitHub (Mar 5, 2024): I'd also like to have this feature. This would be a great one, especially for community building and collecting questions and feature requests.
Author
Owner

@JedMeister commented on GitHub (May 14, 2024):

👍

@JedMeister commented on GitHub (May 14, 2024): :+1:
Author
Owner

@xamidi commented on GitHub (Nov 17, 2024):

what's the real benefit to use "Discussions" and not the normal issues?

This is equivalent to asking about the real benefit to having a (customizable) forum integrated into a repository.

A few mayor differences between GitHub "Issues" and "Discussions":

In Discussions,

  • there are customizable categories
  • one can preselect (for search) by categories
  • there can be multiple comments that have individual reply sections
  • every topic/"discussion" and comment (but not the replies) can be upvoted by everyone (except when the topic is locked)

For example the "Q&A" category can be used for actual Q&A functionality, i.e. questioners can select answers (and users can get achievements for obtaining selected answers, btw). A lot of what GitHub Discussions are capable of is demonstrated in community/discussions. [Note that it is, however, a little special — usually only topics under the Q&A category have the "mark as answer" option, but there, apparently more (possibly all) categories support this. Apparently, they put most categories on "Question / Answer" format.]
grafik

@xamidi commented on GitHub (Nov 17, 2024): > what's the real benefit to use "Discussions" and not the normal issues? This is equivalent to asking about the real benefit to having a (customizable) forum integrated into a repository. A few mayor differences between GitHub "Issues" and "Discussions": In Discussions, - there are customizable categories - one can preselect (for search) by categories - there can be multiple comments that have individual reply sections - every topic/"discussion" and comment (but not the replies) can be upvoted by everyone (except when the topic is locked) For example the "Q&A" category can be used for actual Q&A functionality, i.e. questioners can select answers (and users can get achievements for obtaining selected answers, btw). A lot of what [GitHub Discussions](https://docs.github.com/discussions) are capable of is demonstrated in [community/discussions](https://github.com/orgs/community/discussions). [~~Note that it is, however, a little special — usually only topics under the Q&A category have the "mark as answer" option, but there, apparently more (possibly all) categories support this.~~ Apparently, they put most categories on "Question / Answer" format.] ![grafik](https://github.com/user-attachments/assets/e449e5f6-c111-4691-a255-7460904253b5)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/gitea#8192