Discussion platform with full message history

Edit: Links to non-slack channels:

Edit 2: There are a lot of other issues with slack:

  • It inserts U+200B “Zero Width Space” characters when copying “attached” snippets. This breaks PureScript compilation and has been an issue since 2015. https://twitter.com/slackhq/status/698413999579361280
  • It doesn’t have syntax highlighting for inline snippets.
  • WYSIWYG editor is frustrating. A preview tab would be better.

Zulip addresses all of the above.

Original post:

What are your opinions on migrating away from Slack to a chat platform that doesn’t erase old messages?

It looks like anything older than 12 days is deleted (10k message limit shared with FP workspace). I often suspect that I’m asking questions that were already answered before, but outside of the search window.

Discourse seems like a great solution to the message retention problem, yet Slack is more active. Do folks prefer Slack’s instant-messaging format over Discourse’s forum experience?

Are either of these alternative instant-messaging tools appealing:

  • Zulip - Unlimited message retention for open source projects. Nice organization of conversation threads.
  • Riot - Also free. Content is visible without registering (like Discourse), although searching requires logging-in.

Both Zulip and Riot allow for bridging with the PureScript IRC channel, which would address some of the fragmentation concerns outlined in “The state of things” thread. Slack disabled IRC bridging, which is a bummer, but that wouldn’t have solved the message retention issue anyway.

I think there are network effects to consider here, too. For example, while we could migrate to another chatroom, there’s other channels in the FP slack that people might be a part of. The nice part about Slack is that there are multiple chatrooms I can be a part of without exiting the app and switching to a new one / without installing 5 different apps on my phone.

I do think it unfortunate that messages get erased after so many days because of the point you mentioned above.

Do folks prefer Slack’s instant-messaging format over Discourse’s forum experience?

I think the general consensus is that Slack is used for short, quick, informal “help me” conversations and Discourse for longer sometimes formal discussions.

I just want to link to some previous discussions on this topic in a different project. The Core Infrastructure Initiative has a goal of defining what a “good project” looks like and how it is run.

Here is the relevant item on discussion channels/tools in their official criteria:

The project MUST have one or more mechanisms for discussion (including proposed changes and issues) that are searchable, allow messages and topics to be addressed by URL, enable new people to participate in some of the discussions, and do not require client-side installation of proprietary software.

And here was the discussion thread that lead to that item’s inclusion, if you’re interested in reading more about that:

This document about “SLOPI communication” has some interesting requirements of what a good public discussion tool should look like, if you’re interested in seeing a more strict recommendation.

FWIW I really enjoy my chat messages being “forgotten” after a while (I know Slack still has them but I doubt anyone wants to pay them to retrieve them). Discourse is for things I’d like to reference (or I just make a Gist). We’ve also archived a couple of Slack conversations that contained interesting bits on Discourse.


I’ve seen this sentiment echoed a number of times in the Slack community — many people like that their messages aren’t preserved and they can ask stupid questions, have discussions about the language in a fully non-official way, and so on. I like that the Slack acts as a sort of water cooler / social environment and that it can get cluttered with random one-off questions and weird tangents with no issue because it’s all forgotten.

And I’m glad we have the Discourse for more long-form, measured discussions where people can have thoughtful…discourse. A lot of conversations of value can’t happen easily in Slack. It’s a shame that not as many good conversations get copied over to Discourse as I’d like, but that takes a bit of vigilance to stay on top of.

I personally don’t care about my messages being forgotten, though I prefer they are not saved to a public log. I don’t mind switching to a different chat client. I do want to preserve the chat / discourse combination, however.

If I see resolved questions on Slack that don’t already have a searchable solution on Discourse, should I cross-post those here (along with the solution) in the interest of building up a knowledge base? Would this be too spammy? Is StackOverflow more appropriate?

In either case, I think it would also be good to establish a policy of redacting names to respect the users who don’t want their potentially embarrassing exchanges to be memorialized.

There’s no real policy around it. My take is that if you see an interesting thread of conversation or a solved question in the Slack channel then you could quickly ask if the participants are OK with you cross-posting and if so paste it here. But it’s pretty loose – so far @chexxor is the only person who has regularly done so.

Actually, now that I think of it, there’s a Discord with a PureScript channel, which I don’t believe has message limits, but it has much less activity than the Slack:

FWIW - I love the organization model zulip uses to manage threads. The Haskell community is using it as a sort of chat+forum hybrid and it works really well. I’ve been able to read up on and even participate in some interesting conversations that are decently aged.
I think it would alleviate the need to copy valuable conversations to discourse. I can sort of see the angle of people wanting their “dumb” questions to disappear but those questions are the ones that help us beginners the most

Just discovered that there is a Zulip channel too, which has much less activity than Discord.

Zulip PureScript
Zulip PureScript-beginners

Is editing original posts in the Feedback and Site Feedback categories disabled?

I wanted to edit my original post to include the PureScript Zulip and Discord links in a more obvious place, but it looks like the edit feature is disabled.

Another point to make while bumping this thread is that Zulip seems to be the only chat platform (besides Discourse) that supports syntax highlighting and message preview.

Perhaps there is some obscure Discourse setting which disables editing after a certain amount of time; there are no special settings to close or disable editing on posts or threads anywhere on the PureScript Discourse.

Discord supports syntax highlighting as well

code goes here

Edit: the discord syntax highlighting only works on pc:(

I think it uses highlightjs, so no purescript, but using the haskell syntax highlighting for ps works really well:)

I don’t think my opinion really matters but I’d prefer to have a dedicated discord server since that’s what I use for tons of other stuff:)

Yep. 2 months by default.
To enable posts to act as wikis, change this setting from the default of 86400 minutes to 0

post edit time limit

I originally suspected a time limit to edits, but then found that I could edit older topics than this one. But that was not correct, because they were sorted by most recent activity, rather than creation date.

I’ve updated this, so you can now edit your own posts regardless of age.