akavlie / web-irc Goto Github PK
View Code? Open in Web Editor NEWA web IRC client
License: MIT License
A web IRC client
License: MIT License
When you input a nickname and press tab, it should auto-complete on nicks in the current channel.
It would be nice to have a mock server for testing the app (client side), to alleviate the need to connect to a real IRC server and such every time a change is made. Think I've worked out a reasonable way to do so:
This is an awesome project. Thanks for this.
If I use web-irc to connect to a server with nick "lance" and any channel(s) and that nick is already in use I won't get any warning messages I'll just be presented with a web-irc UI with only a status tab which doesn't respond to any commands. I won't have joined any channels. If I try to /join #channel nothing will happen in the UI.
I was able to reproduce this using the only 2 servers I tried with, my own IRC server, and irc.freenode.net
This is easy to work around when connecting to my private IRC server, I just won't use a nickname I know is already in use.
If you need any details from me, logs, whatever, just ask. Thanks.
http://leaverou.github.com/prefixfree/
CSS3 without all the vendor prefixes? I'm sold.
hi, i try to npm install node-irc but im getting is not in the npm registry error.
any idea what could be wrong here?
This app seemed to work okay on my local box but not on a live server.
I get this error when I put in my name/server/channel
From my console log:
Uncaught TypeError: Cannot read property 'command' of undefined
app.js:446
On line 560, I have an undefined, on the data.message.
Drop in code from HTML5 Boilerplate so app won't fail when console isn't enabled
Clearly, appending all the channels returned on a site like Freenode to the DOM as they're received kills performance.
Let's try lazy-loading the channels once it gets past a fairly low threshhold (say 100) -- add the next batch once you get close to the end of the list.
Ah, forget trying to custom code this. I need other grid functionality anyway like sort & search. Looks like jqGrid & Slickgrid are the best candidates here for good performance -- try jqGrid as it looks to be better documented.
Channel output should automatically scroll down when a new message arrives (but only if the channel is already scrolled to the bottom)
Having a hard time coming up with an imaginative name for this. Suggestions welcome.
/msg, /join, etc. etc.
Add support for user notification of any channel mentions
A couple of ideas for notification methods:
If I set my nick, but the server renames me, currently it freaks out because the app still thinks I have my original nick.
This will probably all be fine if I handle a nick change event:
'nick'
function (oldnick, newnick, channels) { }
Emitted when a user changes nick along with the channels the user is in.
The server portion of this app is pretty thin, but I think it would still benefit from express.js -- at the very least, to handle static file serving better, and to make it easy to vary port (and other config) for different environments.
An IRC client isn't too useful without this!
Find a good foolproof regex and parse URLs mentioned in the channel.
They should open in a new window of course.
UI experience needed here -- find a good way to deal with tabs when they run past the browser window width.
Concept & mockups would be useful even if you can't code it.
(This is assuming that we continue to use the browser-style tabbing as it is now. I'm open to other ideas.)
On window resize, the output div size is recalculated. This leads to jittery scrollbar appearance/disappearance when the height is lowered.
A good solution is posted here, by msevrens:
http://forum.jquery.com/topic/how-to-solve-the-100-height-problem
Take the essence of that solution (the noscroll
stuff) and get it to work on web-irc.
Think about possible approaches to supporting persistent logins, even after a user leaves the page.
I don't think any free web IRC clients do this.
May need to split into multiple tasks after a good approach is discovered.
From the nodester deployment logs:
debug - xhr-polling received data packet 5:::{"name":"connect","args":[{"nick":"addyosmani","server":"freenode","channels":["jquery-ot,jquery-dev"]}]}
Starting IRC client; wiring up socket events.
events.js:45
throw arguments[1]; // Unhandled 'error' event
^
Error: ENOTFOUND, Domain name not found
at IOWatcher.callback (dns.js:74:15)
Error: Restarted too many times, bailing.
Client obviously needs polish, from a better designer.
Both visual and UI/UX
This may be a big one, and may warrant multiple separate issues. Here are some ideas:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.