6 ms·
I made a browser-based chat app. Based on node.js and nodechat.
- isaacsu 16y agoYou can spawn your own twich room by just linking to http://twich.me/any_room_name http://twich.me/any_room_name or http://2wi.ch/any_room_name http://2wi.ch/any_room_name Works on iOS and Android too. Comments and feedback appreciated.
- jasonz 16y agolooks great, can I control who is in my room if I make one?
- profitoftruth85 16y agoThis should definitely be a feature. Also, when somebody posts it scrolls down to the bottom. Sometimes the bottom half of the window showing the chat turns black and blocks out the text in opera on mac.
- keyle 16y agoOne neat thing would be what you would expect of a IRC client: when you hit <tab> it auto completes the nickname. That would improve actual discussions.
- keyle 16y agoAlso another neat thing would be a favicon. I say that because I got the channel pinned as an application (Google Chrome) and it shows a default icon.
- jarin 16y agoI love the embedded YouTube :)
- davi 16y agowow too bad it tanked so quickly with spammer types very cool and thought provoking. BTW, I was "foo". :) Feature request: When I log out & come back to a room, the conversation should still be there. edit: interesting, someone just downvoted a bunch of comments here. HN has grown large and attractive to idjits. I upvoted the zeros back to ones.
- isaacsu 16y agoRe: spam Well I was half expecting it. I suppose now we sorta know how it holds up to heavyish traffic, even if it's spam... Thing is twich rooms don't hold any history. it works more like throwaway chatrooms atm. Persistent rooms - I'm strongly considering implementing down the road.
- heyadayo 16y agoOpen sourced code or it didn't happen.
- fuelfive 16y agobump
- rksprst 16y agoBug (or feature I guess): if I scroll up and someone posts, it autoscrolls me down to the page.
- KingOfB 16y agoGreat work, was fun till the spammers showed up. You leaning towards open sourcing it or selling access to chat servers?
- isaacsu 16y agoThanks. Yeah I'll definitely have to work on the spamming. Leaning towards open sourcing it and maybe run a hosted service.
- keyle 16y agoThat was fantastic and fast, but it definitely needs Flood control http://www.irchelp.org/irchelp/mirc/flood.html http://www.irchelp.org/irchelp/mirc/flood.html and http://en.wikipedia.org/wiki/Internet_Relay_Chat_flood http://en.wikipedia.org/wiki/Internet_Relay_Chat_flood
- isaacsu 16y agoDefinitely needs flood control. Thanks for the ref. I'll read up on it.
- isaacsu 16y agohmm... someone's stress testing http://2wi.ch/hackernews http://2wi.ch/hackernews atm. let's adjourn someplace else. suggestions?
- zepolen 16y agoSlight bug: you can pass in %31 as your nick which makes it '1' bypassing the 3char limit.
- isaacsu 16y agoThanks for picking that up. I would've never picked it.
- bl4k 16y agoyou need to re-evaluate how you are handling characters. you aren't escaping and encoding properly. there is no point in just smashing the little bugs that people bring up because it will still leave other things open. time to re-eval.
- Terretta 16y ago> "you aren't escaping properly ... re-eval" eval(eval(escape(string))) ?
- butu 16y agoI love this one!!! I can start the group chat in a second!!!
- deleted 16y ago[deleted]
- akkartik 16y agoHow's it different from http://github.com/ry/node_chat http://github.com/ry/node_chat? Here's my clone with a shared jukebox: http://github.com/akkartik/node_chat http://github.com/akkartik/node_chat
- jackowayed 16y agoinfinte rooms. so you just go to twitch.me/foobar and send other people that link. You're chatting with just those people. Sure, you could host node_chat yourself, but a) then you have to host node_chat yourself, and b) if you found yourself in a situation where you wanted 2 rooms open at once, you'd have to start up another instance of node_chat.
- akkartik 16y agoAh.
- isaacsu 16y agohi everyone. suggestion: start your own twich by just linking to http://twich.me/[roomname] http://twich.me/[roomname] and post the link to get others chatting with you. it's getting too crowded in the main room.
- carbocation 16y agoIf someone types an extended string of unbroken characters, you should break that string for them. If you don't, the horizontal autoscroll bar appears and actually blocks the 1 most recent comment.
- jerf 16y agoUnless you've fixed a XSS bug in the hour since it was posted here, kudos on being the first Node.js chat site I've seen like this that was not vulnerable to XSS discoverable within ten seconds.
- deleted 16y ago[deleted]
- zepolen 16y agoThe actual app is pretty well xss proofed. But, unfortunately if you go to this link... http://twich.me/<script>alert(document.cookie);</script> (had to stick it in code block because HN auto marks it as spam)
- deleted 16y ago[deleted]
- d0m 16y agoReally out of subject; but those colors are pretty cool. I wish I had a theme like that for Textmate or IRC.
- isaacsu 16y agoColor scheme is homage to original nodechat demo which uses the same. http://chat.nodejs.org/ http://chat.nodejs.org/
- woogley 16y agoI think I would be more impressed if this used WebSockets or something. How many Node chat apps have we seen? .. Actually, how many AJAX chat apps have we seen? I'd like to see a different network project, or at least one that uses sockets instead of AJAX polling ..
- jacquesm 16y agoWould you like a pony too? How about you build one?
- kwamenum86 16y agoStill vulnerable to XSS...
- statictype 16y agoInteresting because injecting script tags shows them properly escaped but also seems to be evaluating them. Not sure how both can happen at the same time.
- denik 16y agohere's another long polling chat, in Python and with source code: http://chat.gevent.org http://chat.gevent.org
- lalalala 16y agofor (i=0;i<=500;i++) { $('input#entry').val('kjhjkh' + i); $('input#entry-btn').click(); } or you could just push it to the url heaps of people have injected js too
- netaddict 16y agowhile(1){ $('input#entry').val('hahaha'); $('input#entry-btn').click();}
- lalalala 16y agofor (i=0;i<=500;i++) { $('input#entry').val('kjhjkh' + i); $('input#entry-btn').click(); } or you could just push it to the url heaps of people have injected js too
- dprice1 16y agoI got a series of "lol" popup dialogs, then was pushed out of the room and returned to Hacker News. I was fairly frightened by this turn of events and won't return using my normal browser without some assurances that I'm not going to be victimized. I guess I'll fire up a virgin firefox profile and try some more. On the user interface side, it would make sense if any line starting with "/" was interpreted as a command (legit or not). Otherwise, you'll have a lot of "/help" and so forth in the channels. Especially since "/print" is a valid command. Update: Not sure, but I think someone has now injected some JS which causes everyone else in the channel to continuously spam it with the word "crash". Good times...
- chegra 16y agoLove it, I'm at http://twich.me/chegra http://twich.me/chegra
- mike-cardwell 16y agoBeautiful. However, your restrictions on names are too strict. I should be able to use the name 話筒. Nice that I can use chinese characters in the chat room name though. Do you have any intention to monetise this? If so, do you have any ideas you'd be willing to share?
- mike-cardwell 16y agoAlso, do you intend on making it possible to use without javascript enabled? An iframe for the chat input and one for the output each doing long polls with meta refreshes should do it. Considerably less efficient of course, but opens the app to more users...
- RiderOfGiraffes 16y agoCan't read the dark grey on black.
- deleted 16y ago[deleted]
- Mpdreamz 16y agoLove the BitchX inspired theme :)