Discussions: needs a subject and a group, and we have neither yet
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 434
- Forks
- 21
- Avg merge
- 18m
- Merged PRs (30d)
- 326
Description
Logging this so it is not forgotten. Not to build now — the two things it rests on do not exist.
Why a discussion is not a chat
Chat is synchronous and lossy: it scrolls away, and anybody who was not there reconstructs it by scrolling. A community is by definition a group of people who are not all present at the same time, so it needs the durable half — something that accumulates, where arriving late costs nothing. That is what a discussion is, and it is why WhatsApp groups get unusable past about six people.
Voice and video are the other end of the same axis and are tracked separately.
Why the inbox is not it either
The inbox has taken on roughly this shape — it lists conversations, and notes and tasks now land there too — but it is not a discussion forum, and the reason is participants. An inbox conversation is between you and one other party. A discussion has an audience.
Making the inbox do both would mean renaming it, and that does not hold: the inbox is yours, singular-possessive like the rest of the product. A discussion is not.
The two things missing
A subject. Discussions are normally around something. On the internet that something is usually a thing somebody shared — a link, an article, a document. A room with no subject is a chat, which we already have.
A group. Multiple participants with an audience boundary. service/chat has the membership primitive already (Open, Member, Mine, Listable), so a group is that record promoted out of chat and reused. That is the prerequisite, and it should come first.
What we already tried, and what it taught us
"Discuss with AI" on news articles. Rooms attached to items, opened from the article. It did not go anywhere. The subject was there and the people were not — a discussion needs both, and an item room with one person in it is a chat with a model.
Control buttons everywhere. Save, discuss, share on every card. It did not translate; the buttons were noise on pages that were doing something else. Worth remembering before reaching for that pattern again.
Note the contrast with aslam.org, where anything can be saved as a note or used as context for a chat. That works because it is one person's own material — the action has an obvious owner and an obvious destination. Neither is true of a discussion button on a shared page.
Order
- Groups (a service, membership promoted out of chat)
- Then discussions, attached to a shared thing
- Community, if it turns out to be a real layer above groups, which is not decided
Substrate, when it comes
internal/thread is threads and messages. A discussion is the same object as an inbox conversation with a different audience — the difference between a DM, a group thread and a public discussion is who can read it, which is the property chat.Private/Member/Listable already models. So this is not a new type; it is an audience on one we have.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the membership primitives in service/chat—Open, Member, Mine, and Listable—and the thread and message model in internal/thread. The issue explicitly says not to build this yet: groups are a prerequisite, and the discussion design and completion criteria remain undecided.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 18/100