flackr / circ Goto Github PK
View Code? Open in Web Editor NEWAn IRC packaged chrome app
License: BSD 3-Clause "New" or "Revised" License
An IRC packaged chrome app
License: BSD 3-Clause "New" or "Revised" License
CIRC currently sends a PRIVMSG in response to a CTCP request, but should use NOTICE.
See http://en.wikipedia.org/wiki/Client-to-client_protocol : "CTCP messages are sent as PRIVMSG and the reply is implemented with a NOTICE"
If you receive 60 notifications you don't want 60 desktop notifications. You want one notification (or perhaps one notification per channel).
These channels are "fake" channels, that don't actually exist on the server. They need to be handled differently then normal channels.
When a script creates a custom command, it should be able to provide description and usage information. The command should show up when /help is typed as well as /help <custom_command>.
Need to also display a message when we do this so user's aren't extremely confused.
There is currently no support for the following commands:
/kill - remote user from server
/query - like /msg but with no params, just opens new private msg window
/whois - dispay user info like real name, nick, country, server, etc
/version - send CTCP version request
Chat history should be capped per channel. E.g. 1000 messages from each channel with a total max of 10,000 messages from all sources. Tests should be run to determine what are good values for these caps.
Replaying chat history can be sped up by not parsing the message, but simply recording the raw HTML from each message and then appending the HTML in one large chunk, instead of one at a time.
Clicking a notification should change to the channel the notification happened in.
On reconnect CIRC should only reconnect to the channels I was on before, if I've /part'd a channel I shouldn't get reconnected to that one.
I keep forgetting to start circ on login. Is there some way for platform apps to run on startup, and if not can we get them to add one?
Short term we could make sure the background page auto-starts and can still send notifications (perhaps even connection errors) and clicking on those would open the UI via the app.
Currently it just selects the corresponding channel, but the window remains in the background.
This feature is needed for scripts to scrape an log file and then inject the messages you missed.
Currently the client hashes it's IP addr with a password stored in storage.sync. The server then determines the client's IP addr and checks ensures the hash is correct.
This doesn't work when the client's self-detected IP addr is different then the IP addr the serve detects (e.g. when behind a router).
Instead, the server should send the client a unique key. The client then responds with the hash of the key and password stored in storage.sync. If the auth token is correct, the server responds with it's current connection state and the connection is established.
Displays what looks like /part help.
other command line clients show the password in plaintext in the input box, but replace it with * after you hit enter. That would suffice, but even better would be to recognize some internal command (perhaps map /ident) which switches text input box into password input?
The server sends us a message like this:
cbf-irc-1.cbf.corp.google.com 005 sugarman_ MAXTARGETS=20 WALLCHOPS WATCH=128 WATCHOPTS=A SILENCE=15 MODES=12 CHANTYPES=# PREFIX=(ohv)@%+ CHANMODES=beIqa,kfL,lj,psmntirRcOAQKVCuzNSMTG NETWORK=irc.server.com CASEMAPPING=ascii EXTBAN=~,cqnr ELIST=MNUCT :are supported by this server
We need to parse it. See https://github.com/martynsmith/node-irc/blob/master/lib/irc.js
The current look and feel is very bland and ugly. Add some color and make it look professional
When connecting to a remote instance of CIRC, we should retrieve some (or all) of the chat history for the channels. It's hard to pick up an existing conversation without any context. Perhaps this is blocked on issue #1 in order to retrieve the history asynchronously without blocking new input.
I quit circ and restarted and wasn't able to get the nick I had previously. Do you need to hook some app closing event to leave the server? I think bshe mentioned something about app closing notifications being broken for platform apps - is there a crbug to track for this?
This makes it easier to track bugs
Special characters represent text color/style. See here for details: http://oreilly.com/pub/h/1953
When /msg is used to open a private chat window and the user you're talking to disconnects, show a disconnect message in that chat room (just like we do in other chat rooms that user was in).
Currently only message text is selectable.
When copied, the user's name should have a colon after it. This could be implemented by adding a hidden color after each nick who posted a message.
The channels are shown as disconnected, but are actually connected. Tab completion of a nick crashed the program.
Clicking on a nick should do something. For example, a WHOIS or begin a private message (/msg )
When connecting to a remote server the client sees a private chat window in the disconnected state until a message is received from the other user.
The self-detected server IP address may not always match the IP address clients should be connecting too (e.g. it's hidden behind a router). Allow /make-server to have a port and addr manually specified.
Exchange pings every X seconds, when not responding within usual time display prompt drop-down saying "The server has stopped responding [disconnect] [X]". Clear this notification when the server begins responding again.
Questions:
Possible solutions:
On IRC when another user in the channel does /me does something I don't see the message and they get the following:
[CTCP] Received CTCP-ERRMSG reply from flackr
to reproduce:
/mode -o
Right clicking should show options like about, help, close server, close channel, etc.
Make it easy to use CIRC without knowing all the commands.
See offline gchat for an example of this
In Unity (default window manager for Ubuntu precise), cIRC windows show up in the Alt-Tab window list and launcher, but they have a completely transparent icon - as if it wasn't there at all (just space left for it). This is really confusing.
I'm assuming there's an AppsV2 bug here - eg. they should provide a default icon to the OS if none is supplied - so please file a crbug with details. But hopefully there's already some way for Circ to register an icon.
When you try to tab complete a nickname in the middle of / beginning of a line of existing text, it moves the cursor to the end of the line. It should move the cursor just after the completion text.
In corp network, some users have & before their user name, yet the & isn't displayed when the user types in chat.
Auto-complete shouldn't require the & to be typed either.
This isn't actually an issue.
Implement the top of the application to look something like this: https://docs.google.com/open?id=0B_QFpyJNzF5kdVl4bHpMdWN0cGM
A custom frame also allows us to have more control over what text is displayed and possibly add a settings button. It also allows us to have an onClose event for people running a version less then 162623.
When circ starts there is some helpful text (eg. with the link to this site). However now that circ reconnects to servers (thanks, that's awesome!), I don't see that text. Maybe have a context menu or other UI which includes an 'about' with version info and links, etc.
Currently, when a server device becomes a available, all clients loose their current state and connect to it. This can be jaring to the user.
Instead, display a drop-down notification when a server device can be connected to asking the user if they would like to use it's connection. Only do this when the client has been active for a while and has a state that it would lose.
hot-irc-1.hot.corp.google.com 432 #sugarman :Erroneous Nickname: Illegal characters
sugarman_x![email protected] MODE #sugarman +smn
I miss the feature from other IRC clients to add a marker for the point I've last read to (eg. Ctrl-M in xchat draws a horizontal red line at that point in the message list). Not urgent, but it would be nice to tell at a glance how much new traffic there's been...
log info:
NickServ![email protected] KILL sug :ircservices!ircservices!NickServ (GHOST command used by sug__)
ERROR :Closing Link: sug[theark.wat.corp.google.com] ircservices.hot.corp.google.com (Killed (NickServ (GHOST command used by sug__)))
NickServ![email protected] NOTICE sug__ :Ghost with your nickname has been killed.
DCC allows clients to share files over IRC. This could be used to share scripts and other useful files.
Display a drop-down prompt asking the user if they would like to accept the file.
Use @, & or icons to show what modes users have.
Admins should appear at the top of the nick list.
on offline - display drop down notification (clear when reconnected)
on online - try to reconnect to a server device if existant
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.