Giter Site home page Giter Site logo

subway's People

Contributors

akavlie avatar badosu avatar byk avatar cjb avatar crodjer avatar cwc avatar davidbanham avatar deviantintegral avatar dj-emberex avatar eirikb avatar ericbarch avatar fauntleroy avatar fculpo avatar hermansc avatar ibuprofen avatar jatochnietdan avatar jbfink avatar joeyaghion avatar jsolis avatar koba789 avatar maikelwever avatar marcoceppi avatar nrn avatar overra avatar pellegrino avatar pschichtel avatar spenserj avatar thedjpetersen avatar themgt avatar vinnymac avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

subway's Issues

Quiet mode

There should be a mode where joins/parts are not shown in the channel only the actual message content. In big channels this will be especially useful.

Support link to channel

There should be a way to provide a friend a link with a server/channel/username and them to follow it directly and it will connect to the server, join the channel, and apply the closest possible match for that username.

Settings model

There should be a backbone model which represents the settings for the app.

Embedded media

When someone posts an image or youtube link they should be embedded into the chat.

Message formatting improvements

The current message formatting isn't a bad concept, but I think we can do better. It adds a bit too much vertical space to each message IMO, and draws too much attention to the date line.

My taste exceeds my talent here... there are a lot of ideas we could play with, from more conventional IRC formatting to iChat / Adium style messages with colored bubbles surrounding each.

Tab completion

When the user hits the 'tab' key the input should start to autocomplete the field from the userlist.

HTML5 Boilerplate

We really sure ensure we're supporting HTML5 tags in all browsers, in order to get the most involvement from the community.

H5BP/Modernizr/Respond.js can help out a lot here.

I've already ported H5BP to Jade, but we need only really need a stripped down version.

I can help with this.

Fluid layout issues

So all of the major containers in the current layout are expressed with percentage sizing. The fluid layout you get with that is great, but it creates problems. See What happens to the User List / channel headers as you shrink vertically for example.

I think the only good solution here is JS-based resizing, with elements like the input container, title bars etc. getting fixed vertical sizing, and other elements getting fixed minimums as appropriate.

Monitor & auto-restart on failure

The nodester deploy crashed already. There are a number of modules that will monitor and auto-restart node instances; this is very important to have in place before we advertise a public link heavily.

Userlist

There needs to be a userlist that displays users and updates on users joining and leaving.

Interaction with the IRC library

Hook up basic interaction with node-irc library. This should happen in a seperate file that gets required by the subway.js file.

Autocomplete irc server

Have a default set of IRC servers that starts autocompleting when you start typing in IRC server address.

Add support for /privmsg & /query

The convention is that /query opens a chat window immediately, whereas /privmsg and /msg don't open a window. In our case, we'll make all three synonyms... but all three should work.

More new message signalling

Some additional signals would be helpful to indicate new mentions and privmsgs:

  • Count in title (a la Gmail)
  • Play a sound (but what sound??)
  • Desktop notification (bleeding edge -- only Chrome support right now)

Upgrade to Backbone 0.9.0

...and hope nothing breaks. It was just released yesterday.
Looks like it has a handful of useful new features.

Channel member list not showing

Not sure if there is an extra step yet required to get the side pane with list to show, but it didn't show by default for my in development mode.

User box

There should be a box on above the channels that shows the users name where they can click and change their name

Crash due to unhandled error

This happened today, in production:

   debug - websocket writing 5:::{"name":"motd","args":[{"motd":"- asimov.freenode.net Message of the Day - \n- Welcome to asimov.freenode.net in TX, USA!  Thanks to\n- Rackspace (www.rackspace.com) for sponsoring\n- this server!\n-  \n- ASIMOV, ISAAC [1920-1992].  One of the brightest stars of the\n- science fiction universe.  Author of \u001fI Robot\u001f, the\n- \u001fFoundation\u001f series (which \"grew like Topsy\"), \u001fPebble in the\u001f\n- \u001fSky\u001f and hundreds of works of science fact and science\n- fiction.\n-  \n- You're using freenode, a service of Peer-Directed Projects\n- Center Ltd (http://freenode.net/pdpc.shtml).\n-  \n- By connecting to freenode you indicate that you have read\n- and agree to adhere to our policies and procedures as per\n- the website (http://freenode.net). We would like to remind\n- you that unauthorized public logging of channels on the\n- network is prohibited. Public channel logging should only\n- take place where the channel owner(s) has requested this\n- and users of the channel are all made aware (if you are\n- publically logging your channel, you may wish to keep a\n- notice in topic and perhaps as a on-join message).\n-  \n- freenode runs an open proxy scanner. Your use of the network\n- indicates your acceptance of this policy. For details on\n- freenode network policy, please take a look at our policy\n- page (http://freenode.net/policy.shtml). Thank you for using\n- the network!\n-  \n- Don't forget to check out these other Peer-Directed Projects:\n- FOSSCON [http://www.fosscon.org] and fossevents \n- [http://www.fossevents.org], and soon we'll repeat last years \n- success with Picnics for Geeks across the globe, more info at \n- [http://geeknic.org]\n-  \n- freenode is a service of Peer-Directed Projects Center Ltd,\n- a not for profit organisation registered in England and Wales.\n-  \n- If you support the work we do and wish to donate to the PDPC, \n- you may do so over at http://freenode.net/pdpc_donations.shtml\n-  \n- Thank you for using freenode!\n-  \n- ***************************************************************\n- Please read http://blog.freenode.net/2010/11/be-safe-out-there/\n- ***************************************************************\nEnd of /MOTD command.\n"}]}

9 Feb 18:32:07 - MODE:mattk sets mode: +i

Event notice sent

{ nick: 'NickServ',
  to: 'mattk',
  text: 'This nickname is registered. Please choose a different nickname, or identify via \u0002/msg NickServ identify <password>\u0002.',
  message: undefined }

   debug - websocket writing 5:::{"name":"notice","args":[{"nick":"NickServ","to":"mattk","text":"This nickname is registered. Please choose a different nickname, or identify via \u0002/msg NickServ identify <password>\u0002."}]}

9 Feb 18:32:07 - GOT NOTICE from "NickServ": "This nickname is registered. Please choose a different nickname, or identify via /msg NickServ identify <password>."

   debug - websocket writing 5:::{"name":"getNick","args":[{"nick":"mattk"}]}

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.

Dot com, Social media

More contributors the better -- need a dot com and twitter.

Maybe subway.io or something?

Deploy on nodester

Think it's about time to get this thing up on nodester. It's easy & free.
Plan to do it on Monday when people are paying more attention to the internet.

Alert dialog when closing window

When you close the tab it should prompt you if you are sure you want to disconnect from IRC.

If not by default, should be a setting.

Userlist update

Some style differences updating the userlist. Changing how the time is displayed and how delays are tracked.

Scroll weirdness

Status takes a while to start scrolling. Then it starts the animated scroll, one message at a time (with each line of the motd being a separate message), really slowly. A few issues here:

  • Scrollbar goes haywire when you try to move it.
  • Status messages should automatically pull the scrollbar to the bottom as the populate the window (I programmed web-irc this way).
  • If you scroll back to view message history, the view snaps down to the bottom as soon as a new message arrives.

I have some code in web-irc for conditional auto-scroll based on whether the view is already scrolled to the bottom, and for saving scroll position when changing focused windows.

Redo addMessage

In stream init, we have this:

this.bind('add', irc.appView.addMessage);

addMessage should be brought into ChatView; some of that code could probably be simplified in the process.

Update nick in user list on nick change

When any user changes their nick, the userlist should update, and a nick change message should show in the channel.
Had support for this in web-irc; see lines 561-572 of app.js. Can't remember if it really worked though...

New loading gif

The current loading gif has a sligh unattractive border, its time to find a new loading gif...

Titlebar

The titlebar needs the name of the channel and the current topic.

Mobile Friendly

We need a front-end for mobile devices, we could go about this probably with a UA detection and use a different
{ layout: 'mobile' } or something in Jade. I might be able to help integrate this.

Sidebar & connection dialog need minimum widths

There are no min-widths on containers -- if you size the browser down horizontally, the logo overruns the left sidebar and the "New Connection" / "Settings" logos are stacked vertically.

Start work on frontend

Start work on frontend model, view, templates for the application. There should be a basic overall chat window and other elements derived from that.

Regressions in Improvements

There appears to have been quiet a few regressions in some of the refactoring done in 1/misc/improvements. At this time I would say the branch is unsafe for merging until all the regressions have been cleared.

Triple-activation

On channel join, it seems that the channel is being set as active 3 times. At least, the console.log() statement in collections.js line 38 is tripping 3 times.

First time is caused by the irc.chatWindows.add() statement in client.js, the next two are caused by lines 13 & 14 of channel_list.js.

Sort things out so we're not retreading the same steps several times.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.