Commit graph

501 commits

Author SHA1 Message Date
Pavel Djundik
555902bfba Do not ignore window opens when considering active channels 2016-12-21 12:38:50 +02:00
Pavel Djundik
3a3eebd61d Do not use backticks in strings when unnecessary 2016-12-20 02:09:53 +02:00
Pavel Djundik
b9047d98a2 Merge pull request #799 from thelounge/astorije/improve-command-line-output
Improve CLI a bit (output formatting and bug fix)
2016-12-19 14:18:54 +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
770ede0587 Define a common helper for prompting to the user consistently 2016-12-16 22:46:14 -05:00
Pavel Djundik
e56d0c3be0 Fix #792: irc-fw update changed socket reference 2016-12-17 00:15:05 +02:00
Jérémie Astori
6c546b2098 Fix CLI options on the start command
I know it is proposed to deprecate them in favor of a more generic one (`-c port=80`), but in the meantime the existing ones should work properly.
2016-12-15 01:29:44 -05:00
Jérémie Astori
baf3348cda Normalize colors and content of the CLI tools 2016-12-15 01:13:43 -05:00
Max Leiter
d4554d2fa7 Do not accept empty password when adding new user; closes #316 2016-12-13 20:50:15 -08:00
Alistair McKinlay
5213853524 Merge pull request #779 from thelounge/astorije/users-always-autoload
Make user autoload more transparent in the app
2016-12-12 12:10:52 +00: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
b01517861d Remove autoload option and always autoload users
Since @xPaw provided a really nice way to watch user config files, there is now no need to be cheap about it (it used to be run every second, possibly why it could be disabled via settings?).

This commit also improves the function a little bit by making use of ES6 syntax.

A warning gets displayed on the server console when the `autoload` option is still present in the config file.
2016-12-11 03:29:30 -05:00
Pavel Djundik
28056d678e Correctly remove closed sockets from oident file, remove unused functions 2016-12-11 08:56:32 +02: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
Jérémie Astori
9260f6b845 Merge pull request #751 from thelounge/xpaw/watch-autoload
Change ghetto autoload to use fs.watch
2016-12-07 00:35:33 -05:00
Pavel Djundik
69999f9190 Change ghetto autoload to use fs.watch 2016-12-07 00:31:36 -05:00
stepie22
aa8e0ae2c2 Set the (correct) time on link expands 2016-11-25 21:27:19 +02:00
Jérémie Astori
adf93f9fad Merge pull request #746 from thelounge/xpaw/update-deps
Update depdencides to latest stable versions
2016-11-20 14:46:16 -05: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
6023035838 Update depdencides to latest stable versions 2016-11-19 10:49:16 +02:00
Pavel Djundik
f24f707119 Implement /away and /back commands 2016-11-19 10:27:39 +02:00
Pavel Djundik
b5db0abc18 Print node version and platform 2016-11-18 19:25:23 +02:00
William Boman
2f77d6981b src/server: log config path on start-up 2016-11-15 18:23:02 +01:00
Jérémie Astori
8ec6d969d1 Merge pull request #697 from cloudron-io/ldap_crashfix
Fix crash when LDAP server is unreachable
2016-10-23 10:10:48 -04:00
Pavel Djundik
c5e0dee3a3 Change bcrypt rounds from 8 to 11 2016-10-22 09:24:27 +03:00
Jérémie Astori
04f23704b8 Merge pull request #679 from thelounge/xpaw/fix-mode-command
Fix /mode command to correctly assume target
2016-10-17 15:30:02 -04: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
Girish Ramakrishnan
09f2d069de Fix crash when LDAP server is unreachable
Fixes #667
2016-10-16 11:27:09 -07: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
Pavel Djundik
bfeaeee873 Fix /mode command to correctly assume target 2016-10-15 14:17:45 +03:00
Pavel Djundik
3711aefc2d Merge pull request #664 from thelounge/xpaw/fix-defaults
Fix memory and reference shuffling when creating models
2016-10-15 14:14:53 +03:00
Pavel Djundik
db1dc3675a Merge pull request #592 from williamboman/fix/git-describe
consolidate version numbers throughout all interfaces
2016-10-15 14:06:52 +03:00
Pavel Djundik
a58b7839a7 Merge pull request #685 from thelounge/astorije/fix-nick-in-logs
Fix nick changes not being properly reported in the logs
2016-10-15 14:00:47 +03:00
Jérémie Astori
93c4c14b72 Merge pull request #647 from nornagon/prefix-lookup
Fill in prefixLookup on network initialization
2016-10-12 03:37:06 -04:00
Jeremy Apthorp
b7814bc571 Fill in prefixLookup on network initialization
Fixes #644.
2016-10-11 22:17:58 -07:00
William Boman
99218341ec consolidate version numbers throughout all interfaces 2016-10-10 21:56:57 +02:00
Jérémie Astori
310ab8f43c Fix nick changes not being properly reported in the logs
Before:

```
[2016-10-10 15:17:47] *  nick
```

After:

```
[2016-10-10 16:32:47] * astorije nick astorije2
```
2016-10-10 13:08:23 -04: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
3b8a478e34 Fix loading fonts in Microsoft Edge 2016-10-09 12:29:17 +03:00
Jérémie Astori
45ff1c0a00 Merge pull request #673 from toXel/toxel/fix-missing-keys
Check if SSL key and certificate files exist
2016-10-08 15:35:25 -04:00
Pavel Djundik
8f3f1ca0b1 Fix memory and reference shuffling when creating models 2016-10-08 21:49:31 +03:00
Pavel Djundik
2e82c6b5c6 Make use of multi-prefix cap and remove NAMES spam on mode changes 2016-10-08 20:30:25 +03:00
toXel
5b6f5d5dce Check if SSL key and certificate files exist 2016-10-08 14:56:12 +02:00
Jérémie Astori
ac3992bcdb Merge pull request #658 from thelounge/xpaw/wallops
Display wallops in server window
2016-10-08 00:02:16 -04:00
Jérémie Astori
41525ec20c Add hostmasks in logs when possible
This will augment logs for `join`/`part`/`quit` with something similar to:

```
[2016-10-03 23:19:29] * astorije2 (~lounge-us@123.45.67.89) join
[2016-10-03 23:22:04] * foobar (~foo@irc.example.com) join

[2016-10-03 23:22:00] * foo (foo@gateway/web/freenode/ip.12.34.56.789) quit Quit: Page closed
[2016-10-03 23:22:12] * bar (~foo@unaffiliated/bar) quit Ping timeout: 252 seconds

[2016-10-03 23:31:23] * astorije (~astorije@128.30.0.0) part
```
2016-10-03 19:40:26 -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
Pavel Djundik
beb6d1ea5b Reset nickname in UI back to previous one on error 2016-10-01 16:51:35 -04:00
Pavel Djundik
63f4fc39c9 Display wallops in server window
Fixes #225
2016-10-01 00:29:49 +03:00
Jérémie Astori
28b5fdb8ce Merge pull request #637 from thelounge/xpaw/extra-loading
Display extra loading messages
2016-09-30 01:34:05 -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
Pavel Djundik
396a9cffb1 Display extra loading messages 2016-09-25 09:52:16 +03:00
Max Leiter
e6bf20de2f Handle stderr when using edit or config command, fixes #164 2016-09-24 09:27:58 -07:00
Jérémie Astori
2b3b4ea924 Explicitly authorize websockets in CSP header
This follows a recent change in WebKit (see https://webkit.org/blog/6830/a-refined-content-security-policy/, section "More restrictive wildcard *") to remove websocket schemes from the connect-src directive.
Users of Safari v10 (to be publicly released in a few days) would be affected by this and could not load the app.
2016-09-09 01:17:31 -04:00
Jérémie Astori
b153d568a0 Add a theme selector in the settings
Power to the people!

There is now 2 ways to set the theme: on the app config file (defaults
for all users) and in the user settings.
All CSS files present in the `client/themes` folder will be given as
choices to the users.

This is temporary (as in, temporary for a fairly long time) until we
have proper theme management.
2016-09-06 01:11:31 -04:00
Maxime Poulin
0c3dc31e31 Add debug config option for irc-fw debug log 2016-08-29 02:07:09 -04:00
Jérémie Astori
40b8f0c293 Make sure users with wrong tokens are locked out instead of crashing the app 2016-08-18 00:02:40 -04:00
Jérémie Astori
f824036225 Merge pull request #535 from thelounge/PR/fix-webirc-4in6
Fix webirc and 4-in-6 addresses
2016-08-12 00:39:26 -04:00
Maxime Poulin
bec0c74772 Merge pull request #552 from thelounge/astorije/logger
Use our logger instead of console.{log,error} for LDAP logs
2016-08-11 01:44:54 -04:00
Jérémie Astori
14782a56b7 Use our logger instead of console.{log,error} 2016-08-10 02:40:28 -04:00
Jérémie Astori
cf64cb04c4 Fix token persistency across server restarts
This fixes a regression introduced by LDAP support addition
(https://github.com/thelounge/lounge/pull/477), which forces
users to re-login when the server restarts. This was originally
implemented in https://github.com/thelounge/lounge/pull/370.
2016-08-10 02:26:47 -04:00
Jérémie Astori
1fb14771ef Merge pull request #477 from thisisdarshan/ldap
LDAP support
2016-08-09 23:58:21 -04:00
Jérémie Astori
a0315b13d1 Disable debug logs in npm releases
This is temporary until https://github.com/thelounge/lounge/issues/459, but
meanwhile we should not be spamming connection debug messages in releases
or pre-releases.
2016-08-06 14:14:38 -04:00
Maxime Poulin
d42ac23c55
Fix webirc and 4-in-6 addresses 2016-07-30 20:54:09 -04:00
Johan Lindskogen
987474cfc1 implementing LDAP support 2016-07-29 21:28:00 -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
Jérémie Astori
9e188bad4b Make sure git commit check would not send stderr to the console
Before that change, running a release would display this in the console:
```
fatal: Not a git repository (or any of the parent directories): .git
```

Also, this adds strict mode for that file, and make sure `gitCommit` never throws a `ReferenceError`.
2016-07-18 21:35:02 -04:00
Jérémie Astori
71577cf55e Display whether instance is running from a release or from git on About section 2016-07-13 03:17:55 -04:00
Jérémie Astori
b1674f4f20 Add self info to TOGGLE messages to prevent unread marker to render for oneself 2016-07-07 02:53:30 -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
08f197f912 Only load config if it exists 2016-07-04 23:15:30 +03: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
34b4a7a018 Merge pull request #366 from thelounge/xpaw/fix-clicks
Improve click handling on users and inline channels
2016-07-03 20:51:20 +03:00
Jérémie Astori
d231a4b583 Merge pull request #453 from thelounge/xpaw/fix-autojoin
Only auto join actual channels
2016-07-03 09:25:38 -04:00
Pavel Djundik
cada00ab6a Display unhandled numerics on the client 2016-07-03 11:47:53 +03:00
Pavel Djundik
f57328ef5b Only auto join actual channels
Fixes #450
2016-07-03 11:39:29 +03:00
Pavel Djundik
2da6167cf5 Print network name and internal ids in debug log 2016-07-03 11:32:57 +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
William Boman
c57d9ac1dc irc-events/connection: increase join delay to 1000ms
100ms easily bypasses the excess flood threshold with constant
reproducibility with >20 channels (Freenode).
2016-06-28 00:11:19 +02:00
Pavel Djundik
100262ad1f Cache loaded config and merge it with defaults
Fixes #249
2016-06-26 19:30:25 +03:00
Maxime Poulin
1b9c5d8996
Fix default configuration for host.
Similarly to kiwiirc/irc-framework#55, passing `undefined` there instead of `"0.0.0.0"` allows the OS to decide and use both IPv4 and IPv6.
2016-06-24 06:25:51 -04:00