Skip to content
This repository has been archived by the owner on Nov 21, 2018. It is now read-only.

Replace freenode webchat with Scrollback #65

Closed
wants to merge 4 commits into from

Conversation

aravindet
Copy link

The io.js homepage currently links to freenode webchat for #io.js. For IRC newbies (the typical web client user), the user interface isn’t the friendliest or most modern. It also does not show any logs (you have to go elsewhere for that), which is somewhat confusing.

Scrollback is an open-source web IRC client that has integrated logs and a more modern frontend. There’s a hosted service here.

Perhaps we could link to that instead of freenode webchat? (This pull request makes that change.)

Disclaimer: I’m one of the authors.

Possibly relevant features:

  • The scrollback server is whitelisted by freenode for hundreds of connections.
  • There’s a widget that can be embedded in the iojs.org site
  • You can add custom CSS to match the site’s look and feel
  • Audible notifications if the user is mentioned while scrollback is in a background tab
  • Our server-side stack is Node + Redis + LevelDB (via LevelUp) + our fork of Node-IRC
  • The client uses WebSockets, LocalStorage and AppCache (where available) for performance
  • (Experimental) Classifies IRC logs into discussion threads; this uses machine learning and is about 70% accurate for typical english channels
  • There’s an Android app with push notifications

@ruimarinho
Copy link

Another option would be a public Slack channel (ref. https://make.wordpress.org/chat/).

@Fishrock123
Copy link
Contributor

wget https://raw.githubusercontent.com/scrollback/scrollback/master/tools/install.sh -O install.sh && chmod +x install.sh && ./install.sh

I can't say I am comfortable telling people to do this.

@aravindet
Copy link
Author

@ruimarinho One issue with slack (and gitter for that matter) is that it fragments the discussion into multiple channels; IMHO as there would always be people on IRC, it would be better to have all project-related discussions there.

@Fishrock123 That install script (which, of course, you can read before running) is for setting up a development environment for scrollback. This pull request merely adds a client-side link to the service hosted at scrollback.io, and does not require installing or running scrollback on the io.js website’s infrastructure.

@Fishrock123
Copy link
Contributor

@aravindet what's the install like on windows or mac? I only saw linux distro settings in the install.

@aravindet
Copy link
Author

We have not tested on Windows.

On OSX and distros other than Ubuntu, Fedora and Arch you should install Redis server, gulp and the required gulp plugins manually. It is also recommended to have a postgresql server for analytics logs; the initialization script is in analytics/createDatabase.sql. After that git clone, npm install.

If you run into any issues, please create one on scrollback/scrollback. We don't have integration tests on the install script, so things break more often than we like :-(

@therebelrobot
Copy link
Contributor

+1 to this update, I'll pull it down and take a look at the conflicts today.

@therebelrobot
Copy link
Contributor

@aravindet , when I go to scrollback in the iojs room, it looks like it is super out of date, like 12 hours ago or something like that. What is the update schedule for this app? If it's not a live feed it may not work for what we want.

@Fishrock123
Copy link
Contributor

I'm still -1 on this. We need a client that everyone can use and is easy to install. (Web app that is better than freenode could do.)

@therebelrobot
Copy link
Contributor

That's what it looks like this has implemented. There is a web app at https://scrollback.io/iojs?tab=people that is already pulling in the irc, but it seems to be lagging behind a bit. The pull request just links to that.

I personally like the ui better, but if it can't be realtime we may just be sol

@aravindet
Copy link
Author

@therebelrobot There was a problem yesterday where the logging bot left some of the freenode channels, including #io.js. It looks like that happened around a freenode netsplit; usually it reconnects to all the channels when the network but it didn’t yesterday. We’ve (hopefully) fixed it now.

Apart from that, the first message that a scrollback user sends is delayed a few seconds, because a new TCP connection to freenode has to be created. Subsequent messages are sent immediately. (Connections are created lazily to prevent a flood of joins and parts when there are many people browsing the logs.)

@ruimarinho
Copy link

An addendum to my previous comment - a cool idea from @rauchg and his experience with a public Slack community. See https://github.com/rauchg/slackin.

@therebelrobot therebelrobot mentioned this pull request Jan 26, 2015
@therebelrobot
Copy link
Contributor

@ruimarinho, let's move that discussion to the newly opened issue on that proposal. Slack is a different beast altogether and should be treated as such. I'd like to keep the discussion thread for this PR specifically on scrollback in replacing freenode's IRC interface.

@ruimarinho
Copy link

Sounds good @therebelrobot! My apologies for mixing topics here.

@therebelrobot
Copy link
Contributor

Not to worry @ruimarinho :) Thank you so much for your participation, and I hope we can get a good discussion going on that other thread.

Back to this, I'll fix the merge conflict tonight when I get home, unless you want to grab it first @aravindet. I'm running some tests in the IRC channel to see the responsiveness, and I'll comment further after that.

@aravindet
Copy link
Author

Fixed the merge conflict.

@Fishrock123
Copy link
Contributor

I'm pretty sure I'm -1 on scrollback. It's too complicated and too magic.

@Fishrock123
Copy link
Contributor

Ok that being said it is better than freenode webchat.

@therebelrobot
Copy link
Contributor

I'm +1 on this, so long as we can make sure it's up to date with what's in the room. @aravindet , is it storing history even if no one is logged into it? I notice large gaps if no one has been in the app for a while.

@therebelrobot
Copy link
Contributor

though that may be fixed now, I'm seeing it be pretty active right now...

@snostorm
Copy link
Contributor

snostorm commented Feb 5, 2015

I'm somewhat neutral on this. I think it is probably more readable than what we have now and is almost no work for us.

+0.5?

@aravindet
Copy link
Author

@therebelrobot yes, it should log even when there’s noone from scrollback in the channel.
The bug last week was triggered by reconnection after a netsplit; the bot did not rejoin the channel correctly.

@snostorm
Copy link
Contributor

snostorm commented Feb 8, 2015

Should we finalize this on the next meeting or just approve a merge sooner? As it is just a link to an IRC log it would be easy to change if we become unhappy with the quality of the service, etc.

@aravindet
Copy link
Author

The idea to port slate IRC over to the web is interesting but it is potentially a long project.

In the meantime, this is an easy improvement - it merely switches the link in the footer from freenode webchat to scrollback, and even @Fishrock123 agrees that it would be an improvement.

If something better becomes available, it would be trivial to switch to that.

@therebelrobot
Copy link
Contributor

This PR currently has merge conflicts, @aravindet, can you take a look and see if they are reconcilable? Or do you want to make a new PR with an updated link?

@fhemberger
Copy link
Contributor

I just had a closer look at the proposed change, I will just update it in the right place (this PR changed the content in the generated 'public' directory).

@fhemberger fhemberger closed this in 7e986a1 May 4, 2015
@Fishrock123
Copy link
Contributor

Cool. Thanks @fhemberger

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants