A major feature of similar software like Slack is the ability to publish notifications into rooms. We approximately do this ourselves in IRC with phabot, and users often express interest in publishing notifications from one system to another.
For example, it should be possible to have a transcript like this:
alincoln: Can you land D123? The rest of it looked good to me.
epriestley: Sure, one sec.
epriestley closed revision D123: foobar the snafu.
One way we might do this is:
- Allow threads and rooms to be registered for notifications that affect certain users and projects.
- For example, "Conpherence Engineering" might be registered for Conpherence.
- "Backend Team" might be registered for the individual members of the team, so all their personal activity shows up there.
- This could be a dropdown > edit notification settings > type some junk into a tokenizer sort of thing. For v0, supporting either users or projects (whichever is easier) seems perfectly fine if we don't get both for free.
- When notifications are published, also publish notification transactions into relevant threads.
- Give Conpherence some kind of "story" transaction type which can render a feed story with appropriate text and permissions (users who can't see the original story shouldn't be able to see the transaction at all, probably? Seems better than "something mysterious which you don't have permission to see happened".)
- Then figure out how much extra UI we need to customize story types.
- And, do we need "Differential stories from Conpherence, Maniphest stories from Differential, all stories from @epriestley"?
- If the high-end of need is too bizarre to easily represent, we could use Herald, especially after T5791.
- But we should keep this as simple as possible for the first couple versions. This UI mess is probably the majority of the actual work, and we should ship the feature and get a feel for it before investing too heavily in UI and tweaks.
(Another way we might do this is by supporting chat bots as first-class users, but I think we should push bot/API stuff to Conpherence v3.)