Commit graph

259 commits

Author SHA1 Message Date
dgw bed6053cec Add /cycle command (a.k.a. /rejoin)
Closes #1436
2017-08-31 06:43:32 -05:00
Pavel Djundik 0d57df81af Gracefully quit on Ctrl+C
Fixes #268
2017-08-30 20:26:45 +03:00
Pavel Djundik 05f8bfe906 Deleting a user should log them out
Fixes #916
2017-08-29 15:43:52 +03:00
Pavel Djundik 4a3026e11b Set default quit default message 2017-08-24 21:07:47 +03:00
Pavel Djundik 1bf2be1b51 Do not unintentionally send incorrect messages from history 2017-08-23 14:17:53 +03:00
Pavel Djundik 0ac3ba28e1 Web Push Notifications 2017-08-22 10:54:18 +03:00
Pavel Djundik 3190fd00bf Refactor authentication flow 2017-08-13 21:37:12 +03:00
Pavel Djundik 6f32e7ae75 Correctly dereference stored images when leaving channels
Fixes #1404
2017-08-11 15:02:58 +03:00
Pavel Djundik 25ac4d9e69 Correctly append OS name 2017-08-08 22:46:55 +03:00
Pavel Djundik c14f7da1b2 Generate unique tokens for each login and session 2017-07-31 02:02:15 +03:00
Alistair McKinlay e01e21cdbe Change more to use id rather than count. 2017-07-19 07:37:13 +01:00
Pavel Djundik f3a4ed8e52 Fix losing network name when displayNetwork is false 2017-07-06 15:00:53 +03:00
Pavel Djundik f6dd616d5e Update to eslint 4 and enforce extra rules 2017-06-19 09:58:29 +03:00
Pavel Djundik 81bdf7d33e Fix network name not being set when displayNetwork is false 2017-06-08 21:40:17 +03:00
Pavel Djundik 8ad92ed7b7 Merge pull request #1115 from PolarizedIons/fix-sorting
Fix channel sorting messing up the order
2017-04-29 14:56:19 +03:00
PolarizedIons dd48ba4e87 Fix channel sorting messing up the order 2017-04-29 13:19:31 +02:00
Pavel Djundik d6d7df62fe Fix away message disappearing
Closes #1102
2017-04-28 18:58:14 +03:00
Alistair McKinlay b03d01b6eb Add ban/unban command
Fixes #1073
2017-04-26 08:54:25 +01:00
Jérémie Astori 30bf20eb12 Merge pull request #1064 from thelounge/xpaw/harden-sort
Rewrite server code of channel sorting
2017-04-23 14:12:53 -04:00
Pavel Djundik 57acf0f5ce Revert "Disable (temporarily) client ping timeouts"
This reverts commit ffa0740b50.
2017-04-23 09:42:16 +03:00
Alistair McKinlay 1e504f4383 Add support for banlist messages 2017-04-22 13:51:28 +01:00
Pavel Djundik a1bdd6f740 Rewrite server code of channel sorting
Fixes server crash, fixes losing channels
2017-04-22 13:32:42 +03:00
Pavel Djundik c0e364e1c2 Store channel keys 2017-04-01 15:28:38 -04:00
Pavel Djundik 4a68b78fd5 Implement away message restoration on reconnections and auto away 2017-03-29 00:27:58 -04:00
Pavel Djundik 23599fc39b Prevent message sending in lobbies
Fixes #956
2017-03-11 20:09:37 +02:00
Pavel Djundik ffa0740b50 Disable (temporarily) client ping timeouts 2017-02-24 22:13:50 +02:00
greenkeeper[bot] e2abbff7b0 fix(package): update irc-framework to version 2.5.5
https://greenkeeper.io/
2017-02-11 07:59:16 +02:00
Jérémie Astori da2e286ff8 Use double-nick in whois on query to get idle time
This queries server of the other user and not current user, which does
not know idle time.
See http://superuser.com/a/272069/208074.

Override is done before command is being sent to the server: if a
single argument is given to `/whois`, it is being repeated, otherwise
the command is sent as is.
2016-12-23 01:59:08 -05:00
Pavel Djundik 555902bfba Do not ignore window opens when considering active channels 2016-12-21 12:38:50 +02:00
Jérémie Astori 3d0e1fd9f0 Merge pull request #745 from thelounge/xpaw/away-command
Implement /away and /back commands
2016-12-16 23:16:02 -05:00
Jérémie Astori bc01d6ccd1 Improve message and style of loading/unloading console logs, use ES6 template literals 2016-12-11 03:30:19 -05:00
Jérémie Astori 303fab8519 Merge pull request #749 from thelounge/xpaw/hexip
Add support for hexip ilines and fix storing client ip in config
2016-12-10 19:50:33 -05:00
Jérémie Astori b1478c1ae1 Merge pull request #782 from thelounge/xpaw/correct-link-chan
Use correct channel when pushing link prefetch messages
2016-12-10 19:44:35 -05:00
Jérémie Astori cc763bd47a Merge pull request #757 from PolarizedIons/channel-sync
Sync reordering of channels/networks to other clients
2016-12-10 19:40:29 -05:00
Pavel Djundik 4fe3c5e96a Change ghetto timer to debounce 2016-12-10 11:05:34 +02:00
Pavel Djundik 463a63aed3 Avoid unnecessary disk writes if user object has not changed, make updateUser async 2016-12-10 11:05:34 +02:00
Pavel Djundik 62d4cd8fe8 Use correct channel when pushing link prefetch messages
Fixes #781
2016-12-09 23:00:33 +02:00
stepie22 a5ad573b2d Sync reordering of channels/networks to other clients 2016-12-09 14:56:19 +02:00
Pavel Djundik 00548e65d7 Update existing networks with ip and hostmask if null 2016-11-19 22:34:05 +02:00
Pavel Djundik 4078abb085 Correctly save ip and hostname in user config 2016-11-19 22:23:51 +02:00
Pavel Djundik 708788338c Add support for hexip ilines 2016-11-19 20:32:47 +02:00
Pavel Djundik f24f707119 Implement /away and /back commands 2016-11-19 10:27:39 +02:00
Pavel Djundik a1f56c7395 Improve support for opening multiple clients at once
- Synchornize unread counter with the server
- Fix unread marker on no attached clients
- Increase unread counter for server messages
2016-10-17 01:31:22 -04:00
Jérémie Astori e905c139d7 Use native ES5 map method instead of lodash's 2016-10-15 15:58:49 -04:00
Jérémie Astori 089c315a8e Use forEach instead of lodash's each, and ES6 fat arrows like it's 2015 2016-10-15 15:58:48 -04:00
William Boman 99218341ec consolidate version numbers throughout all interfaces 2016-10-10 21:56:57 +02:00
Pavel Djundik aa02fd5180 Enforce more eslint rules 2016-10-09 17:55:37 -04:00
Jérémie Astori e416d74f57 Rename package variable, reserved in strict mode
This has been renamed similarly in other files of the projects already.
2016-10-09 15:15:20 -04:00
Jérémie Astori caa46042bf Enforce strict mode across all JS files with ESLint
Several ES6 additions are only available in strict mode. Example:
> SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode

Strict mode was also enabled in a few of our files already, and it is a good thing to have anyway.
2016-10-09 15:14:02 -04:00
Pavel Djundik 024369d4c3 Implement our own /nick command to allow editing nick when not connected 2016-10-01 16:51:35 -04:00
Jérémie Astori 345aac1a27 Merge pull request #258 from maxpoulin64/channel-list
Implement /list
2016-09-29 02:47:34 -04:00
Maxime Poulin 0f439545d4 Fix broken IRC servers with /list 2016-07-22 21:42:42 -04:00
Maxime Poulin 1d47290ada Implement /list
Thanks to @xPaw for the base of this code
2016-07-22 21:42:42 -04:00
Pavel Djundik 1fa545152f Create a single function to render networks to reduce code duplication 2016-07-22 01:10:20 -04:00
Maxime Poulin 18c615236d Merge pull request #332 from thelounge/xpaw/unread-marker
A proper unread marker
2016-07-06 04:06:14 +00:00
Jérémie Astori b3d3582d2f Merge pull request #286 from thelounge/xpaw/unknown-command
Display unhandled numerics on the client
2016-07-05 23:23:15 -04:00
Pavel Djundik d37e94308d Unread marker MVP 2016-07-05 15:32:41 -04:00
Maxime Poulin 2d3464aa04
Use a textarea instead of an input for channel messages 2016-07-04 23:49:45 -04:00
Pavel Djundik 1d3037bd00 Register irc-framework events before connecting 2016-07-04 17:58:28 +03:00
Alistair McKinlay 9c07f2b0f2 Merge pull request #387 from thelounge/xpaw/config
Cache loaded config and merge it with defaults
2016-07-04 08:18:55 +01:00
Pavel Djundik e445fd8e25 Store channels in array format 2016-07-03 21:58:31 +03:00
Pavel Djundik cada00ab6a Display unhandled numerics on the client 2016-07-03 11:47:53 +03:00
Pavel Djundik 1f760d877e Update irc-framework to 2.1.0 2016-07-02 22:25:08 +03:00
William Boman 32b46bb32d src/client: make sure config is always an object 2016-06-30 15:06:14 +02:00
William Boman 1256e73d90 src/client: pass the updated token as argument to callback
This also fixes an issue where the token would not be stored in the
user file.
2016-06-30 15:05:58 +02:00
Pavel Djundik 100262ad1f Cache loaded config and merge it with defaults
Fixes #249
2016-06-26 19:30:25 +03:00
Jérémie Astori e8cc465228 Merge pull request #411 from thelounge/xpaw/join
Fix channel join regression and fix possibly joining parted channels
2016-06-19 12:59:49 -04:00
Pavel Djundik eaa8e893a5 Do not print user loaded message in public mode 2016-06-19 11:01:50 +03:00
Maxime Poulin deba6f3aa1
Fix crash in public mode introduced by #370 2016-06-18 23:35:32 -04:00
Pavel Djundik d66e86ddc4 Fix channel join regression and fix possibly joining parted channels 2016-06-17 13:46:15 +03:00
Pavel Djundik 9384cd9ca6 Implement user token persistency 2016-06-13 10:33:39 +03:00
Pavel Djundik cddcd9cb47 Save user when they sort the channel list 2016-06-12 13:02:37 +03:00
Pavel Djundik 2ffd85d89f Update eslint and enforce key-spacing 2016-06-05 21:48:34 +03:00
Pavel Djundik 047a79ead6 Add separate /disconnect command 2016-05-22 10:13:08 +03:00
Pavel Djundik e3a1bf2f87 Enable auto reconnection 2016-05-22 10:13:07 +03:00
Jérémie Astori 0599a40df7 Merge pull request #320 from maxpoulin64/fix-space
Fix sending messages starting with a space
2016-05-21 13:11:09 -04:00
Pavel Djundik aa8c3f6419 Improve nick highlights 2016-05-12 14:20:24 +03:00
Pavel Djundik ac5e96cddf Update irc-framework 2016-05-12 10:15:37 +03:00
Maxime Poulin 5a3b07a698
Fix sending messages starting with a space
There really is no need to trim apart bringing more situations like this. If I want to put spaces in front of my message (say, for alignment purposes), then I should be able to.

Fixes #319
2016-05-10 21:31:42 -04:00
Jérémie Astori 48ce92bdcf Make sure app does not crash when webirc is not defined in the configuration 2016-05-02 01:11:57 -04:00
Maxime Poulin 96d282e73c
Add WEBIRC support
Fixes #181
2016-05-02 00:45:19 -04:00
Pavel Djundik c6c32e7d5f Merge pull request #217 from thelounge/xpaw/keep-autocomplete
Keep autocompletion sort whenever user list updates
2016-05-01 08:56:13 +03:00
Jérémie Astori 404bf2c4df Merge pull request #270 from thelounge/ircv3/echo-message
Add support for echo-message and znc.in/self-message caps
2016-04-30 19:37:10 -04:00
Pavel Djundik a082039ecb Keep autocompletion sort whenever an user joins 2016-04-28 22:44:27 +03:00
Pavel Djundik ede3131168 Add global logging helper 2016-04-27 00:05:55 +03:00
Pavel Djundik fd36eea0ed Rename log to userLog 2016-04-26 23:58:53 +03:00
Pavel Djundik 2d8f4fdf14 Log enabled capabilities 2016-04-24 11:14:06 +03:00
Pavel Djundik 84685acdcd Add support for echo-message cap 2016-04-22 19:38:13 +03:00
Pavel Djundik 6dc807ef07 Create a single helper function to write messages 2016-04-19 13:20:18 +03:00
Pavel Djundik 40a15b2676 Whitelist which commands are allowed while not being connected 2016-04-07 16:08:33 -04:00
Pavel Djundik 69bb003e45 Do not try to quit from errored networks 2016-04-07 16:08:32 -04:00
Pavel Djundik 16370d8fcc Add /ctcp command and handle ctcp responses 2016-04-07 16:08:31 -04:00
Pavel Djundik d1da4b338a Update irc-framework, fixes quitting networks 2016-04-07 16:07:40 -04:00
Pavel Djundik 769bd16c8b Fix sending unknown commands 2016-04-07 16:07:40 -04:00
Pavel Djundik b19e79c48f Fix autojoining and allow autojoing with keys
Syntax is like "#a,#b,#c keya,keyb"
2016-04-07 16:06:03 -04:00
Pavel Djundik 28ae544b2a Move connection events to a separate file, sync PREFIX with frontend 2016-04-07 16:04:40 -04:00
Pavel Djundik da425fefaf Start working on moving to irc-framework 2016-04-07 16:04:28 -04:00
Pavel Djundik 7d7c3edcec Add a query command that simply opens a query window 2016-03-24 22:40:36 +02:00
Pavel Djundik 52b953c492 Remove join, nick and whois inputs, they are cleanly handled by the server
Fixes #201
2016-03-20 16:14:37 +02:00
Max-P c74811c894 Merge pull request #191 from thelounge/astorije/direct-inputs
Load input plugins at startup and call them directly when a command is received
2016-03-14 20:38:47 -04:00
Jérémie Astori 93a393f10d Load input plugins at startup and call them directly when a command is received 2016-03-14 00:21:42 -04:00
Pavel Djundik 96ef274838 Keep track of highlights when user is offline 2016-03-13 18:05:05 +02:00
Pavel Djundik 842b8d620c Send unknown commands to the server 2016-03-10 10:05:56 +02:00
Pavel Djundik 42a7c54c0a Fix #153: Do not intercept service commands 2016-03-09 17:40:57 +02:00
Jérémie Astori ec37b6671b Merge pull request #82 from xPaw/lock-server
Allow locking network configuration
2016-03-02 00:37:27 -05:00
Daniel Llewellyn b79a918be8 frontend password change functionality
- refactor clientManager.js to allow configuration parsing as a serparate
  function.
  - refactor clientManager.js to add configuration writing function.
  - add server.js changes to allow for new password-change functionality
  - add password change ui to "settings" screen
  - refactor client.js to use new clientManager functionality for saving
    the configuration files
2016-02-26 18:38:15 +00:00
Pavel Djundik aab7f298d8 Allow locking network configuration 2016-02-21 14:02:35 +02:00
Alistair McKinlay 761958e3ee Merge pull request #7 from xPaw/invites
Handle invite event
2016-02-19 21:58:22 +00:00
Maxime Poulin 5bf205195d Only update the users list when needed
Currently, for join/part/kick/nick/... the server will send an updated list of users and the client will re-render the list entirely. This ends up being a very expensive operation when joined on large channels and causes the client to slow down a lot.
2016-02-17 04:35:55 -05:00
Pavel Djundik 533ec1071b Handle invite event 2016-02-15 19:23:10 +02:00
dubzi d909065a8f Also fixed the default freenode hostname in the client file 2016-02-13 22:47:42 +00:00
Jérémie Astori 39dc4e8957 Update name and link to repo to new project 2016-02-10 06:20:05 +00:00
William Boman 8fdfd70c7e Comply with ESLint 2015-10-26 03:01:47 +01:00
Mattias Erming 9b03be22b2 Added service shortcuts 2014-12-11 23:34:22 +01:00
fbm-static 25e9f24d8b fix commands not being removed 2014-11-10 00:01:22 +08:00
Mattias Erming 5e6ac19d0f Fix crash on failed TLS connect 2014-10-16 23:33:07 +02:00
Mattias Erming e914ed50eb Fix '--home' option 2014-10-14 22:53:26 +02:00
Mattias Erming dcdec78c4e Change 'logs/' location 2014-10-14 21:25:36 +02:00
Mattias Erming f50568b6ec Merge pull request #230 from xeoncore/bug/illegalusernames
Replace illegal characters in username
2014-10-12 15:11:28 +02:00
XeonCore 3998998871 Don't save when running in public mode 2014-10-12 16:15:03 +11:00
XeonCore 35f347472a Replace illegal characters in username
When a user has an _ or any other non-alphanumeric characters in their nickname, Shout would fail to connect to some IRC servers. This replaces all non-alphanumeric characters in the nickname before sending it as the username.
2014-10-12 15:52:43 +11:00
Mattias Erming 40f8a4ddc4 Delay save function 2014-10-12 02:20:30 +02:00
Mattias Erming aa02b0eaa7 Added client save 2014-10-12 00:47:24 +02:00
Mattias Erming 81401cec0f Added network export function 2014-10-11 22:44:56 +02:00
Mattias Erming 95bebfe12c Refactoring 2014-10-11 19:33:28 +02:00
Mattias Erming 3918c0ab61 Merge pull request #226 from wizardfrag/identd 2014-10-11 17:26:41 +02:00
David White ea0e66afd0 Set up identd and make it work on connection 😎 2014-10-11 11:09:27 +01:00
XeonCore dbd423e5a1 Allow binding to a local IP 2014-10-11 17:17:41 +11:00
David White 924bc39a95 Fix cut/paste error in close event 2014-10-09 16:56:32 +01:00
David White 898fed76c6 Add initial support for identd 2014-10-09 16:46:12 +01:00
Mattias Erming 2ed7d6364c Added '--home <path>' option 2014-10-03 16:33:44 -07:00
Shell Turner 7e4534afa9 Always go through the Helper object to load config 2014-10-01 18:53:54 +02:00
Mattias Erming 9947b537b6 Fix bug causing users to disconnect 2014-09-29 08:49:38 -07:00
Mattias Erming 2a00fb1bb6 Added link plugin 2014-09-27 12:17:13 -07:00
Mattias Erming ea5f7b2517 Call trim() on input string 2014-09-27 08:57:25 -07:00
Mattias Erming 4d9b58ecd5 Autoload users 2014-09-24 15:23:54 -07:00
Mattias Erming 8793551371 Sync sidebar order 2014-09-24 12:42:36 -07:00
Suyeol Jeon 1839162421 Add username field to user info.
Most of the networks don't allow unicode username. This patch allows users to specify username optionally. When specified, username is used for connecting IRC networks instead of nickname.
2014-09-24 20:08:14 +09:00
Mattias Erming 11f3d452dd Server-side tracking of new message count 2014-09-21 09:46:43 -07:00
Mattias Erming ea1aaf2d6e Minor changes 2014-09-16 13:39:19 -07:00
Mattias Erming f3aee8f6cb Minor changes 2014-09-16 13:06:13 -07:00
Mattias Erming 695e76a544 Added logging 2014-09-16 12:47:01 -07:00
Mattias Erming 78d36d6750 Added 'Remember' login option 2014-09-15 14:13:03 -07:00
Mattias Erming 41027adc69 Normalize line endings 2014-09-13 14:29:45 -07:00
YuviPanda f015e4bfd4 Add missing semicolons 2014-09-13 18:51:34 +01:00
Mattias Erming b3b36282aa Refactoring 2014-09-13 10:10:32 -07:00
Mattias Erming 221ed4b980 Change config.json to config.js 2014-09-13 09:41:11 -07:00
Chris Moeller b32520b1f9 Add a 500ms between network connections, to prevent hitting operating system rate limiting. 2014-09-13 05:52:03 +01:00
Mattias Erming 05a51f74a7 Fix the 'Show More' button 2014-09-10 12:23:56 -07:00
Mattias Erming 0e00f894a8 Set default port based on TLS setting 2014-09-10 09:22:58 -07:00