hack.chat
hack.chat copied to clipboard
chat history
Is there a way to log chat history on the server if it's desired?
No, but I'm working on a fork of hack.chat with features similar to Slack and Hipchat, including chat history.
You can also record chat history with a client-side bot.
Do you mind updating this issue when you have a desire to have testers for your fork?
Just to provide some context, this is what I think would be an ideal simple setup for collaboration between team members in my domain (academic/research work involving maths/software)
server
- deploying hack.chat behind nginx ssl proxy with client certs (layer on security from a 'proven' software)
- user auth within hack.chat (so folks can't assume others usernames once registered)
- persistent chat history via files rather than db (intent to track in vcs)
client
- white-space preservation, syntax highlighting, latex formatting
- room tabbing (rather than several browser tabs)
- fullscreen option, rather than fixed width
We seem to have similar goals, so I'll annotate your list of features with my idea of the new fork.
server
- This is what hack.chat is doing, so I don't see why not.
- I may need to make a pluggable system for registrations, so organizations with general-purpose authentication servers could be hooked into that chat auth system.
- I like the idea of using text files for chat messages, with one file per channel. However, if a lot of data is produced, it may take a while for the server to index the newlines and process the client's query to "get the last 100 messages" or the "previous 100 messages before this one." I might cave in and just use CouchDB or RethinkDB.
client
- All these sound great. Surround code with tilde to highlight, triple tilde for multiline code, $ and $$ for LaTeX. Anything else?
- What's wrong with one room per tab? I'm having trouble visualizing a good UI to do this.
- Lines ideally shouldn't be wider than 60 characters, but for multiline code blocks, I suppose this rule can be broken.
Pretty excited to hear this, I was thinking a bit more since the last response.
Server
- the nginx/ssl proxy, the reason I said that was I felt like I've seen a lot of programs that attempt to do certificate management internally, there's no need for that as the default case for hosting is already through a reverse proxy and we know that nginx will have 'more eyes' on the ssl implementation that hack.chat.
- pluggable registrations is interesting, first one you might consider is PAM?
- DB makes sense as things grow, would be nice to have a hook in the server for dumping a room history as a text file.
Client
- I can't think of anything else, maybe follow a convention from sphinx or whatever is currently using markdown-ish form to indicate the syntax. I think LaTeX is ~~~{.sh} for shell for example.
- nothing wrong with it, I can think immediately of having 10+ rooms open though. I use FF tab groups so I could manage, but it might be bad for someone who's used to a lot less. Consider something like HexChat (irc client) which has a roomlist on the left side.
- 60 char might be too tiny, for instance pep8 says 79. Configurable width would be nice.