Commit graph

485 commits

Author SHA1 Message Date
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
Pavel Djundik da9b0636fb Improve click handling on users and inline channels 2016-06-22 18:36:01 +03:00
Pavel Djundik 779aed7cd6 Use tabs when saving user configs 2016-06-19 20:16:50 +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
Pavel Djundik f0adee1700 Fix crash in public mode introduced by #370 (#413) 2016-06-19 10:59:10 +03:00
Maxime Poulin deba6f3aa1
Fix crash in public mode introduced by #370 2016-06-18 23:35:32 -04:00
Jérémie Astori 75c578c02c Merge pull request #369 from thelounge/xpaw/fix-losing-auth
Do not lose authentication token when the connection gets lost
2016-06-18 22:35:12 -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 12551c06b6 Perform node version check as soon as possible 2016-06-16 11:13:34 +03:00
Jérémie Astori cfdcd405d5 Merge pull request #370 from thelounge/xpaw/persistent-token
Implement user token persistency
2016-06-16 02:13:35 -04:00
William Boman 4a75a04402 command-line: fall back to LOUNGE_HOME env variable 2016-06-13 20:22:58 +02:00
Pavel Djundik 2008abc0e8 Do not lose authentication token when the connection gets lost 2016-06-13 10:39:01 +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
Daniel f8044bfc96 Remove redundant variables (#397) 2016-06-12 09:43:35 +03:00
Pavel Djundik 643e07dead Merge pull request #396 from hogofwar/capital
Capitalise constructor Oidentd
2016-06-12 09:43:02 +03:00