The GoInstant Chat widget provides real-time chat to users inside a room of your application.. This repo will no longer be updated. GoInstant will be discontinued as of August 31, 2014. Read our blog for more details.
The avatarUrl var in the message-template is susceptible to XSS, since it is inserted into our CSS without sanitation and users have permission the set the avatarUrl to anything.
This should be moved out of the template to use DOM instead. Similar to message text.
The widget should remember the open/closed status of a given user on their last page load. This enables multi-page apps to retain a memory rather than always loading closed or always loading open.
If I am typing a message and navigate to another page with the chat widget, it would be nice if my chat message I was in the middle of typing was there on the next page. Currently, when you leave the current page, you lose everything in your text box.
EDIT: This will help if someone navigates during a collaboration bundle session, and the people they're in the session with are typing at the time.
Currently the collapse button toggles a class .collapsed on a few individual elements, it should be applied to .gi-chat with the class name .gi-collapsed to keep consistent with the other widgets (user-list specifically).
The tests are stubbing the user cache internals instead of the user cache interface itself meaning that these tests will need to be rewritten any time user cache changes.
This could be a good widget to validate our key expiry. Afaik it doesn't get much use in any of our other demo apps, so perhaps using it here to delete old messages (declared when widget is instantiated?) might be a good idea !
For performance reasons we should limit the amount of messages that will appear in the chat widget, if you scroll to the top you should be able to "load more" messages.
The maximum number of messages to display could be an option.