Commit Graph

153 Commits

Author SHA1 Message Date
Ken-Håvard Lieng f429a528ba Add IRC connection status indicator 2016-01-13 18:53:54 +01:00
Ken-Håvard Lieng 67b83fa3d6 Make userlist responsive 2016-01-11 23:31:06 +01:00
Ken-Håvard Lieng 937560e859 Add support for client certificates 2016-01-11 21:04:57 +01:00
Ken-Håvard Lieng d7c5d0f9cd Upgrade babel to 6.4.0, fail gulp builds on webpack errors 2016-01-07 00:33:19 +01:00
Ken-Håvard Lieng 4b70b9968b Use proper autolinker params in ChatTitle 2016-01-05 19:40:39 +01:00
Ken-Håvard Lieng 24aa119377 Remove pure decorator from the Root container 2016-01-05 19:33:45 +01:00
Ken-Håvard Lieng 7c72cac71f Update airbnb eslint config to 3.0.0 2016-01-05 19:29:22 +01:00
Ken-Håvard Lieng 22892a4073 Hide menu when selecting tab 2015-12-30 22:32:14 +01:00
Ken-Håvard Lieng de1a2dd343 Support websocket over ssl, pass uuid in url 2015-12-29 22:23:07 +01:00
Ken-Håvard Lieng e389454535 Switch to redux and webpack 2015-12-29 00:34:32 +01:00
Ken-Håvard Lieng d75407e221 Pin history 2015-12-12 00:51:04 +01:00
Ken-Håvard Lieng 0259787fe9 Update all client dependencies 2015-12-12 00:43:23 +01:00
Ken-Håvard Lieng 51e04c9d0f Update eslint 2015-12-11 05:13:44 +01:00
Ken-Håvard Lieng 114bf8201e Refactor websocket handler 2015-06-17 00:46:58 +02:00
Ken-Håvard Lieng b755a593e2 Call trigger in messageStore.addAll() 2015-06-12 01:43:35 +02:00
Ken-Håvard Lieng 0fbf721cbb Fix search positioning 2015-06-10 01:17:24 +02:00
Ken-Håvard Lieng 2a5f7c3afc Close tablist on all interactions 2015-06-10 00:59:41 +02:00
Ken-Håvard Lieng e51c9522de Add messageActions.addAll() 2015-06-10 00:45:28 +02:00
Ken-Håvard Lieng 29c13f4f54 Off-canvas tablist 2015-06-10 00:24:14 +02:00
Ken-Håvard Lieng 27552a2e9c Cache linted files 2015-06-08 01:06:08 +02:00
Ken-Håvard Lieng fe392a08ff Collapse bindata tasks 2015-06-08 00:21:10 +02:00
Ken-Håvard Lieng d11ad72f03 Separate vendor bundle 2015-06-08 00:11:03 +02:00
Ken-Håvard Lieng be695a9881 Reconnect websockets 2015-06-04 02:06:17 +02:00
Ken-Håvard Lieng 6a1d55c968 Set up ESLint, make it happy 2015-06-02 00:09:36 +02:00
Ken-Håvard Lieng 61aa5880d3 Add config file, handle it with Viper, add a command to open it in an editor 2015-05-25 04:00:21 +02:00
Ken-Håvard Lieng b8a8ba2e08 Add channel topic to ChatTitle, improve TabList layout 2015-05-23 04:38:43 +02:00
Ken-Håvard Lieng 9b9bef3695 Avoid array conversion in UserList 2015-05-23 01:58:56 +02:00
Ken-Håvard Lieng 6a6aedc5da Implement getInitialState in stores 2015-05-23 00:40:16 +02:00
Ken-Håvard Lieng 6a25c1d6a5 Add GetLastMessages, log messages to nested buckets 2015-05-21 09:15:57 +02:00
Ken-Håvard Lieng a6d7403eba Everything is immutable 2015-05-20 08:14:44 +02:00
khlieng ce72ec9c8c Fix alignment in PureMixin 2015-05-19 23:18:24 +02:00
Ken-Håvard Lieng 17482ee253 Immutable channelStore 2015-05-19 06:50:43 +02:00
khlieng 11ea241b60 Immutable messages, search and selectedTab 2015-05-19 01:17:23 +02:00
khlieng 77c723344c Fix state updating in ChatTitle and UserList 2015-05-16 22:25:22 +02:00
khlieng d4d51778fb Make ChatTitle and UserList render functions pure 2015-05-16 21:43:18 +02:00
khlieng c7faa254c5 Strip bindata path 2015-05-16 00:33:51 +02:00
Ken-Håvard Lieng 375ed94177 Remove unused dependency from package.json 2015-05-15 07:46:07 +02:00
Ken-Håvard Lieng 5a535cf53e Update client dependencies, embed only gzipped assets and unzip on the fly if needed 2015-05-15 07:32:32 +02:00
khlieng c4ac9f782c Insert space between timestamp and nick instead of using margin 2015-05-15 00:42:09 +02:00
khlieng 0eca6a1823 Select the previous tab or redirect to /connect when closing a tab, move some CSS from inline react styles to classes 2015-05-14 01:42:25 +02:00
khlieng 92de7cb8ef Concat css 2015-05-12 23:50:55 +02:00
khlieng 6b6a1172f9 Keep url text intact when linkifying it 2015-05-12 22:50:35 +02:00
khlieng 7aae7685c5 Add early search prototype on the client, add leave button 2015-05-11 03:39:34 +02:00
khlieng deba58dbff Use replaceState for /connect redirects 2015-05-05 00:46:12 +02:00
khlieng e63c012aad Add cobra, move the server code into its own package 2015-05-01 22:59:46 +02:00
khlieng bb729a5c8e Make gulp run go-bindata 2015-04-30 00:45:02 +02:00
khlieng 3365832ce3 Add message logging and search server side 2015-04-29 23:54:44 +02:00
khlieng 65229f7a9e Update readme, store data in homedir/.name_pending instead the cwd, move client build output back to client/dist 2015-04-23 00:44:40 +02:00
khlieng 891f7b2f10 Embed static assets with go-bindata 2015-04-22 22:58:20 +02:00
khlieng 8a75cdec32 Move client build output to bin/assets 2015-03-04 18:49:31 +01:00
khlieng d25311d07f Improve line wrapping perf 2015-02-27 16:58:46 +01:00
khlieng 2f1e72876b Handle double hashtag channel names in URLs 2015-02-22 09:52:37 +01:00
khlieng 518a530f43 Render userlist to a div if theres only one user 2015-02-22 09:03:03 +01:00
khlieng cc743a837a Store selected tab in the URL 2015-02-22 08:57:52 +01:00
khlieng b83efcbb9e Add /help, make /part take an optional channel param 2015-02-21 14:11:29 +01:00
khlieng ccb0149b3d Add /away 2015-02-21 13:06:05 +01:00
khlieng ed9a1c3216 Handle characters getting added to the channelname when joining, throw more ES6 at everything 2015-02-21 11:40:20 +01:00
khlieng fca2985d9b Sprinkle some ES6 on it 2015-02-21 07:48:25 +01:00
khlieng 518d3eaa07 Replace reactify with babelify 2015-02-21 07:23:25 +01:00
khlieng 4ae9ffa2bc Add clickable nicks in messages for starting private chats 2015-02-21 07:11:38 +01:00
khlieng 14dee89304 Make indenting lines after the first work with the new message rendering 2015-02-21 06:25:52 +01:00
khlieng 305ee753e3 Add keys to MessageBox 2015-02-19 01:13:23 +01:00
khlieng 2aeb8c97a3 Make styling work with the new message rendering 2015-02-18 22:55:08 +01:00
khlieng 9e301843d2 Linkify URLs in messages 2015-02-17 01:27:02 +01:00
khlieng b06cfafe94 Remove unused css 2015-02-16 22:00:31 +01:00
khlieng d8446d0b90 Fontello icon font 2015-02-16 21:53:01 +01:00
khlieng fb77c29fd9 Make React Infinite stop throwing when theres only one child 2015-02-16 00:02:21 +01:00
khlieng 6e223c172f Initial pass on MessageBox rendered with React Infinite and js line wrapping, fix line wrapping bug, disable browser line wrapping 2015-02-15 23:27:00 +01:00
khlieng 3042ed5ec6 Add line wrapping functions and switch to monospaced font 2015-02-14 23:38:14 +01:00
khlieng 42e8f2547d Handle casing differences between join commands and actual channel names 2015-02-13 00:17:45 +01:00
khlieng b7cafc5327 Made backspace work on input history items 2015-02-12 02:14:56 +01:00
khlieng 8a790a6fe2 Persist input history in localStorage 2015-02-11 02:48:28 +01:00
khlieng 1faf310ebd Added chat input history navigable by the arrow keys 2015-02-11 02:37:28 +01:00
khlieng 21160be407 Chat input autofocus 2015-02-10 02:39:19 +01:00
khlieng ed09a97ade Added /whois, /invite, /kick, /msg and /say 2015-02-10 02:25:28 +01:00
khlieng 5df364a3a4 Improved state updates when parting and quitting 2015-02-09 02:06:24 +01:00
khlieng 99ef788906 Added /quit, the server IRC client gets cleaned up properly when quitting, pulled command handling out into a separate file 2015-02-09 01:00:30 +01:00
khlieng d11aa3ff4e Redirect to /connect if its a fresh instance with no stored UUID 2015-02-08 02:07:56 +01:00
khlieng c15feaa310 Added more options to the connect form, added support for more IRC commands on the server, added Font Awesome 2015-02-07 03:10:58 +01:00
khlieng e942924c15 Nick changes get handled properly by the server IRC client, user count stays hidden when the selected tab is not a channel 2015-02-07 00:16:51 +01:00
khlieng 0a47f2ae4a Cleaned TabList up by pulling stuff out into TabListItem, userlist resize listener gets removed on unmount 2015-02-06 02:32:25 +01:00
khlieng 806f9aae27 Render userlist with react-infinite 2015-02-05 02:14:24 +01:00
khlieng 5110029f3a Gzipped assets 2015-02-05 01:37:34 +01:00
khlieng 92c316e9ea Added /nick and /topic 2015-02-04 02:43:49 +01:00
khlieng ad4354adfc Added support for IRC actions 2015-02-04 00:55:41 +01:00
khlieng d69281cdd6 Trailing gets added to the end of params 2015-02-03 23:33:23 +01:00
khlieng 3214e5931a Added connect form, autoselect when joining channels 2015-02-03 22:54:46 +01:00
khlieng 0b8e97b215 Started doing client-side routing, added some rewriting on the server to support it 2015-02-03 00:25:52 +01:00
khlieng eec82a7dd9 Added IRC network naming, added some convenience getters to the stores 2015-02-02 01:54:26 +01:00
khlieng 1c30da5474 MOTD now gets sent as an array of lines 2015-02-01 02:08:38 +01:00
khlieng 736ef76bc0 Moved websocket handling on the client into its own file, added reason to part and quit messages, global system messages about a user now only gets sent to channels where the user is/was 2015-02-01 01:56:56 +01:00
khlieng 3f335187c0 System messages now longer require an empty sender 2015-01-31 23:59:53 +01:00
khlieng 5f43b3e78e Added nick change handling, the client now shows nick and quit messages, the userlist gets hidden when the chat window is not a channel 2015-01-31 23:35:38 +01:00
khlieng c421dc504b Added private messaging to the client 2015-01-30 02:34:28 +01:00
khlieng 3c02b00303 IRC output gets queued until RPL_WELCOME, added tcp timeouts and error handling, store selected tab in localStorage, more design work, upgraded to lodash 3.0.0 2015-01-30 00:38:51 +01:00
khlieng 5c6c43e017 Better userlist sorting, started work on default theme 2015-01-28 02:54:47 +01:00
khlieng 721971cbb3 Added basic mode support with op/voice and userlist sorting 2015-01-25 02:35:46 +01:00
khlieng 0c2250b268 Added multiserver messaging support to the client 2015-01-22 01:26:23 +01:00
khlieng 9012e4dee5 Info about current irc connections now gets sent to the client, the correct nick shows up when sending messages 2015-01-22 01:03:25 +01:00
khlieng 83ddce0468 Browserify doesnt seem to require .js extensions anymore 2015-01-22 00:32:32 +01:00