Commit Graph

1027 Commits

Author SHA1 Message Date
realies
c5de1b3dbe
handle empty client queries 2017-11-19 00:33:29 -05:00
Jérémie Astori
ef1c59072c
Deprecate support of Node v4 in preparation of The Lounge v3 2017-11-18 13:52:31 -05:00
Jérémie Astori
1dc92d8934
Enforce dangling commas with ESLint
¯\_(ツ)_/¯
2017-11-15 01:35:15 -05:00
Pavel Djundik
e5cded0ad6 Fix local theme folder 2017-11-12 21:11:08 +02:00
Pavel Djundik
9ff398dac3 Go back to writing user files synchronously 2017-11-11 20:44:09 +02:00
Pavel Djundik
feb7d9d4bb Fix #1692 when kicker is server 2017-11-08 23:10:17 +02:00
Pavel Djundik
81e3e88391
Merge pull request #1636 from thelounge/xpaw/cleanup-clientmanager
Cleanup client manager functions
2017-10-29 10:25:42 +02:00
Pavel Djundik
3f2a017583 Create public folder with webpack 2017-10-18 21:20:12 +03:00
Pavel Djundik
a263c3eab9 Merge pull request #1615 from dgw/mark-echoes-read
Mark channels as read when receiving self-messages
2017-10-17 16:25:59 +03:00
dgw
d675297405 Mark channels as read when receiving self-messages
Resets highlight counter and last unread message ID on server, and
clears the badge on the active client when the message is rendered.

Resolves #911
2017-10-17 08:05:35 -05:00
Pavel Djundik
50504ed09b Fix possible race condition when attaching clients 2017-10-17 12:45:18 +03:00
Pavel Djundik
280eea970a Get client ip address correctly 2017-10-17 10:35:28 +03:00
Pavel Djundik
5c45321cca Cleanup client manager functions 2017-10-15 19:05:19 +03:00
Pavel Djundik
44acc5cb00 Teardown sockets in tests 2017-10-06 12:53:08 +03:00
Jérémie Astori
0cc9c4166b Merge pull request #1583 from thelounge/astorije/thelounge-packages
Use `thelounge` instead of `lounge` when it comes to external packages
2017-09-30 23:47:02 -04:00
Jérémie Astori
c3ccfb092a Merge pull request #1579 from thelounge/xpaw/install-msg
Add info message before calling `packageJson`
2017-09-29 17:53:40 -04:00
Pavel Djundik
1c4d9351d5 Add info message before calling packageJson 2017-09-29 10:54:03 +03:00
Pavel Djundik
fd21c84a76 Do not try to write user log if network is not found
Fixes #1584
2017-09-29 10:37:27 +03:00
Jérémie Astori
1e10cc66a6
Use thelounge instead of lounge when it comes to external packages 2017-09-29 00:03:01 -04:00
Pavel Djundik
3fc0f4e686 Merge pull request #1536 from thelounge/xpaw/session-list
Implement session list and allow signing out other clients
2017-09-26 11:03:41 +03:00
Pavel Djundik
7cfd8d90c1 Merge pull request #1554 from thelounge/astorije/rm-event-stream
Remove event-stream dependency in favor of plain Buffers
2017-09-26 11:00:35 +03:00
Pavel Djundik
2f15ab3999 Fix attached client not having token on login 2017-09-26 10:56:08 +03:00
Pavel Djundik
833bdfa2aa Fix session data not updating correctly 2017-09-26 10:56:08 +03:00
Pavel Djundik
d7e6db92b5 Implement session list 2017-09-26 10:56:08 +03:00
Pavel Djundik
08edc434ca Merge pull request #1567 from dgw/preview-length-abort
Abort image prefetch if Content-Length exceeds limit
2017-09-25 23:11:20 +03:00
dgw
09cd9ce33a Abort img prefetch if Content-Length exceeds limit
If the Content-Length header is present in the response when an image
is prefetched, The Lounge can avoid wasting bandwidth (both for itself
and for the image's host) if the value of the header exceeds the
prefetch size limit by aborting the request immediately.
2017-09-25 05:31:21 -05:00
Jérémie Astori
75b927b4a3
Remove event-stream dependency in favor of plain Buffers 2017-09-23 04:08:17 -04:00
Pavel Djundik
f85686bcb2 Merge pull request #1468 from thelounge/xpaw/combine-notifications
Combine unread notifications into a single one
2017-09-22 21:04:04 +03:00
Pavel Djundik
649e9c3192 Fix opening first channel on server start
Fixes #1547
2017-09-20 16:17:38 +03:00
Pavel Djundik
416ebf97ff Create 'lounge install' command 2017-09-20 10:59:06 +03:00
Jérémie Astori
637949ea55 Merge pull request #1471 from thelounge/xpaw/client-reconnection
Automatic client reconnection
2017-09-20 00:05:37 -04:00
Pavel Djundik
21c9919fa1 Print compatibility theme setting warning on startup 2017-09-19 12:21:08 +03:00
Pavel Djundik
6cfe60e4d9 Group push notifications per target 2017-09-19 12:01:50 +03:00
Pavel Djundik
cffa957e34 Only send messages newer than last seen id 2017-09-19 11:45:22 +03:00
Pavel Djundik
0c0df1efc9 Force reload the page if socket reconnects and server restarted 2017-09-19 11:45:22 +03:00
Jérémie Astori
b8399471b3
Enable ESLint no-console rule to avoid future mistakes 2017-09-17 21:50:21 -04:00
Alistair McKinlay
59d2f93f61
Allow themes from npm 2017-09-17 19:47:29 -04:00
Jérémie Astori
90cb79ac91 Merge pull request #845 from MaxLeiter/MaxLeiter/away-notify
Use away-notify to show updates on users away state
2017-09-17 14:45:27 -04:00
Max Leiter
163cfaba3c Use away-notify to show user away status change 2017-09-17 11:16:48 -07:00
Jérémie Astori
cb1b6db14e
Fix references to undefined this 2017-09-17 02:24:54 -04:00
Al McKinlay
aace1aab05 Merge pull request #1528 from thelounge/xpaw/move-log-function
Move user log function where it belongs
2017-09-16 20:50:06 +01:00
Pavel Djundik
9e008a76b7 Merge pull request #1527 from dgw/kick-modes
Display correct kick modes
2017-09-14 10:46:35 +03:00
Pavel Djundik
17dd18a605 Write correct timestamp to user log 2017-09-14 10:42:21 +03:00
Pavel Djundik
79eb83d82f Move userLog function where it belongs
Fixes #438
2017-09-14 10:41:50 +03:00
dgw
e4c6d78762 Display correct kick modes
Defining both the kicker and the target before any code touches the
channel user list ensures that everything is passed to the template.
2017-09-14 02:39:00 -05:00
Al McKinlay
171449c81e Merge pull request #1519 from thelounge/xpaw/fix-show-more-when-empty
Fix requesting last messages when no message id is known
2017-09-14 07:25:17 +01:00
Élie Michel
f26c2dad0f
Take an optional argument in /part
Fix #1430
2017-09-13 20:24:45 -04:00
Pavel Djundik
14cac93e10 Fix requesting last messages when no message id is known
Fixes #1460
2017-09-12 16:05:40 +03:00
Pavel Djundik
099fb058c6 Merge pull request #1478 from eliemichel/pr-proper-ldap--rebased
Implement a proper LDAP authentication process
2017-09-04 09:02:58 +03:00
Elie Michel
32e1a36980 Generalize auth plugin fallback mechanism
@astorije this is for you ;)
https://github.com/thelounge/lounge/pull/1478#discussion_r136492534
2017-09-03 23:00:25 +02:00
Elie Michel
435e14669b Change string formatting style 2017-09-03 23:00:25 +02:00
Elie Michel
00e54e49ac Add tests for LDAP auth plugin 2017-09-03 23:00:24 +02:00
Elie Michel
12ba10f688 Reorganize auth plugins 2017-09-03 23:00:23 +02:00
Élie Michel
cfa6db10c7 Make new LDAP options backward compatible
Also draft some kind of plugin system for auth, although it essentially consists in writing a function
and there is no mechanism to automatically fallback from one auth to another
2017-09-03 23:00:23 +02:00
Pavel Djundik
c845d5723d One line server startup errors 2017-09-03 15:13:56 +03:00
Pavel Djundik
9e1296d303 Merge pull request #1479 from thelounge/xpaw/unix-socket
Add support for binding to unix sockets
2017-09-01 11:25:00 +03:00
Jérémie Astori
220af0e180 Merge pull request #1449 from dgw/cycle-command
Add /cycle command (a.k.a. /rejoin)
2017-08-31 23:45:54 -04:00
Jérémie Astori
ad8ec4b1e6
Remove the "Stay signed in" checkbox at login
This option is less and less the norm on modern webapps, it is fair to assume this is the default behavior. In fact, we were making it the default.

But more importantly, coming soon is the ability of remotely logging out of your other sessions, which is well handled through token deletion. That means we need to know about said tokens, which are not sent in no-"Stay signed in" version.
2017-08-31 23:07:43 -04:00
Pavel Djundik
b79a6cce0c Add support for binding to unix sockets
Fixes #686.
Fixes #691.
2017-08-31 21:56:20 +03:00
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
Élie Michel
19710b90c0 Merge branch 'master' into pr-proper-ldap 2017-08-29 08:42:26 +02:00
Pavel Djundik
495d8c3e04 Merge pull request #1448 from thelounge/xpaw/quit-promo
Set default quit default message
2017-08-26 20:34:32 +03:00
Jérémie Astori
f7ecd0a053 Merge pull request #1350 from thelounge/xpaw/proper-cli
Only create config folder in 'start' command
2017-08-26 12:17:10 -04:00
Jérémie Astori
234fd31411
Clarify some users.length that were forgotten in a previous PR 2017-08-26 12:04:13 -04:00
Pavel Djundik
252dca3d3f
Only create config folder in 'start' command
Fixes #520.
Fixes #1288.
2017-08-26 12:04:13 -04:00
Jérémie Astori
9c5071ec98
Improve output of WebPush error
Without this, the error displayed contains a lot of superfluous information, repeated.
2017-08-26 11:47:35 -04:00
PolarizedIons
e00b28d201 Fix general spelling errors 2017-08-25 18:02:28 +02:00
Pavel Djundik
4a3026e11b Set default quit default message 2017-08-24 21:07:47 +03:00
Jérémie Astori
ed68ff4a34
Make sure CLI does not crash on undefined.length when we figured out users could not be read already 2017-08-23 13:21:15 -04:00
Jérémie Astori
684f1a641d
Make sure server is running before loading users 2017-08-23 13:21:14 -04:00
Jérémie Astori
aa49856446
Warn when adding or listing users in public mode 2017-08-23 13:21:14 -04:00
Jérémie Astori
f221121998
Inform when no users during autoload to take into account removing the last user 2017-08-23 13:21:14 -04:00
Jérémie Astori
90842267e8
Do not prevent server to run when there are no users in private mode 2017-08-23 13:20:46 -04:00
Pavel Djundik
1bf2be1b51 Do not unintentionally send incorrect messages from history 2017-08-23 14:17:53 +03:00
Pavel Djundik
fcd9782eb7 Merge pull request #1124 from thelounge/xpaw/push-notifications
Implement push notifications
2017-08-22 23:16:41 +03:00
Pavel Djundik
0ac3ba28e1 Web Push Notifications 2017-08-22 10:54:18 +03:00
Jérémie Astori
ac3ce74343
Read default LOUNGE_HOME from .lounge_home file 2017-08-21 02:03:40 -04:00
Jérémie Astori
98bfe349d9
Add documentation for LOUNGE_HOME environment variable in the CLI helper 2017-08-21 01:49:32 -04:00
Pavel Djundik
8343f3cdcf
Remove os.homedir() polyfill 2017-08-16 12:48:07 -04:00
Jérémie Astori
507cc61d5c
Rename new file holding config location for consistency
`.lounge_config` is misleading as this file does not contain the config itself. Also, env var is called `LOUNGE_HOME`, deprecated flag is `--home`, so it makes more sense that way.
2017-08-16 00:34:29 -04:00
Jérémie Astori
5e7a7a3870
Update CLI help with regard to recent deprecation of --home option
- Mark the option as deprecated (cannot be removed from the help, unfortunately)
- Add details to `lounge config` regarding `LOUNGE_HOME`
- Remove mention of `--home` in default config file
2017-08-16 00:33:33 -04:00
Pavel Djundik
5299d976c0 Use .lounge_config to help distribution packages handle config paths right 2017-08-15 21:57:47 +03:00
Pavel Djundik
3190fd00bf Refactor authentication flow 2017-08-13 21:37:12 +03:00
Jérémie Astori
dff94cc6fd Merge pull request #1406 from thelounge/xpaw/storage-dereferencing
Correctly dereference stored images when leaving channels
2017-08-13 12:17:02 -04:00
Pavel Djundik
66ea26f4bd Resolve relative URIs in link previewer
Also adds support for image_src links
2017-08-13 13:06:01 +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
Pavel Djundik
df698ab3ea Correctly send /list parameters 2017-07-28 13:53:41 +03:00
Jérémie Astori
157289258a
Keep track of preview visibility on the server so it persists at page reload 2017-07-26 18:16:50 -04:00
Pavel Djundik
ed9bfcf2fa Merge pull request #1194 from thelounge/xpaw/lazy-user-list
Lazily load user list in channels on init, keep autocompletion sort on server
2017-07-21 17:25:23 +03:00
Pavel Djundik
7d981d60d8 Recycle existing User objects in names event
This is required to keep lastMessage correct. This will also be useful for the away tracking PR.
2017-07-21 11:05:37 +03:00
Pavel Djundik
48d367e379 Use findUser 2017-07-21 11:05:37 +03:00
Pavel Djundik
d06c279f02 Lazily load user list 2017-07-21 11:05:36 +03:00
Pavel Djundik
7af573fd96 Handle auto completion order on the server
Fixes #289.
2017-07-21 11:05:21 +03:00
Jérémie Astori
900d41bf47
Re-use .previews to order incoming previews instead of extra links 2017-07-21 01:51:51 -04:00
Jérémie Astori
a13c08a45b
Enforce correct order for previews on server-side prefectch rather than at client parsing
This has the benefit of not adding `.preview` divs everywhere, anytime we use `parse()`, and also to un-tie the position of the preview blocks from the result of the helper. This means that templates that call `parse` and have some extra markup after that are not constrained anymore.

This is effectively an alternative, better way to fix https://github.com/thelounge/lounge/issues/1343, but the initial fix that was put in place (https://github.com/thelounge/lounge/pull/1347) is still relevant, for example to make sure a preview stays hidden (and does not add extra margin/padding/etc.) if the link does not prefetch.
2017-07-21 01:06:42 -04:00
Alistair McKinlay
e01e21cdbe Change more to use id rather than count. 2017-07-19 07:37:13 +01:00
Jérémie Astori
03d6f284fb Merge pull request #1330 from MaxLeiter/MaxLeiter/TIME
Add SOURCE CTCP Command
2017-07-19 02:00:50 -04:00
Pavel Djundik
f35a2809a7 Store preview images on disk for privacy, security and caching 2017-07-18 11:37:16 +03:00
Max Leiter
58cf481d86 Add SOURCE CTCP Command 2017-07-17 11:09:20 -07:00
Pavel Djundik
199bc459b4 Merge pull request #1303 from thelounge/astorije/multiple-previews
Support multiple previews per message
2017-07-09 18:29:31 +03:00
Al McKinlay
590a63ae31 Merge pull request #1306 from thelounge/xpaw/remove-prettify
Remove hostname prettifier
2017-07-09 15:03:08 +01:00
Jérémie Astori
64ebe0f437
Support multiple previews per message
- Load up to 5 previews per message (to avoid abuse)
- Do not load multiple times the same URL
- Prepare preview containers per message instead of appending (to maintain correct order)
- Store an array of previews instead of a single preview in `Msg` objects
- Consolidate preview rendering for new messages and upon refresh/load history (when rendering entire channels)
- Update `parse` tests to reflect previous point
- Add test for multiple URLs
- Switch preview tests from `assert` API to `expect` API
2017-07-08 04:34:12 -04:00
Pavel Djundik
f06de70c40 Remove hostname prettifier 2017-07-06 15:02:32 +03:00
Pavel Djundik
f3a4ed8e52 Fix losing network name when displayNetwork is false 2017-07-06 15:00:53 +03:00
Pavel Djundik
23b2f7197c Deep merge default config 2017-07-06 15:00:43 +03:00
Pavel Djundik
14b2ad7938 Refactor link previews 2017-07-03 00:41:18 +03:00
Jérémie Astori
ad10777684 Merge pull request #1274 from thelounge/xpaw/increase-prefetch-limit
Increase max downloaded bytes for link preview
2017-06-26 02:44:46 -04:00
Pavel Djundik
e967759802 Increase max downloaded bytes for link preview
twitter.com sends opengraph meta tags within ~20kb of data for individual tweets
2017-06-26 09:34:56 +03:00
Pavel Djundik
77667e7a3f Do not display preview if there is nothing to preview 2017-06-26 09:27:51 +03:00
Jérémie Astori
e0ed1195fa Merge pull request #1202 from thelounge/xpaw/trust-proxy
Parse X-Forwarded-For header correctly
2017-06-26 01:52:53 -04:00
Jérémie Astori
5abc4c8c2a Merge pull request #1256 from thelounge/xPaw/og-title
Check og:title before title tag
2017-06-26 01:48:07 -04:00
Jérémie Astori
147a36adde Merge pull request #1254 from thelounge/xpaw/thumb-is-img
Make sure thumbnail is a valid image
2017-06-26 01:46:20 -04:00
Jérémie Astori
0239fdd2fb Merge pull request #1255 from thelounge/xPaw/og-description
Check og:description before description
2017-06-26 01:44:54 -04:00
Pavel Djundik
ddc076e894 Check status code in link prefetcher
Fixes #1258.
2017-06-23 20:49:45 +03:00
Pavel Djundik
015a9fb6ef Check og:title before title tag 2017-06-22 22:41:05 +03:00
Pavel Djundik
23c7f7296c Check og:description before description 2017-06-22 22:34:17 +03:00
Pavel Djundik
3fd2849a37 Make sure thumbnail is a valid image
Fixes #1239.
Fixes #1180.
2017-06-22 22:32:13 +03:00
Niko Bews
57fd0562a2 Handle images with unknown size in prefetch 2017-06-21 14:40:51 +03:00
Pavel Djundik
b0efbf8a1e Parse x-forwarded-for header correctly 2017-06-21 14:34:06 +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
ca54c40d0f Merge pull request #1197 from thelounge/xpaw/socketio-transports
Correctly configure client socket transports
2017-06-08 20:19:49 +03:00
Jérémie Astori
5a5bf823a0 Merge pull request #1195 from thelounge/xpaw/consistent-user-object
Do not store unnecessary information in user objects
2017-06-08 02:46:25 -04:00
Pavel Djundik
b46f92c7d8 Only update bcrypt password rounds if the password actually matches 2017-06-02 11:02:03 +03:00
Pavel Djundik
16fb118d02 Correctly configure client transports
Fixes #848
2017-06-01 22:43:23 +03:00
Pavel Djundik
acf5dd5351 Do not store unnecessary information in user objects 2017-06-01 21:54:46 +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
b1159eff9b Merge pull request #1082 from MaxLeiter/setTopic
Use irc-framework setTopic() for topic command
2017-04-25 23:32:58 +02:00
Max Leiter
e45cfbf02c Use irc-framework setTopic() for topic command 2017-04-24 21:05:57 -07: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
Alistair McKinlay
b4310dbc03 Review changes
(Should be squashed before merge)
2017-04-21 09:26:02 +01:00
Alistair McKinlay
cc85b2143c Change index.html to be rendered using handlebars 2017-04-21 09:16:24 +01:00
Jérémie Astori
4de632ba3c Merge pull request #1018 from swordbeta/sort_channel_list
Improve channels list.
2017-04-20 01:40:14 -04:00
Michael van Tricht
764ac831d4 Improve channels list.
- Set fixed width to channel and users column.
- Sort by number of users in channel.
- Executing /list multiple times wont show multiple tables.
- Channel list is not stickied to the bottom.
- Limit channels to 500. Scrolling through 1k is very slow on my system.
2017-04-19 12:02:15 +02:00
Metsjeesus
b750da3f9d Fix to helper.expandhome to correctly resolve "" and undefined 2017-04-18 17:36:43 +03:00
Daniel Oaks
5c336d3789 Add slug with command to unhandled messages 2017-04-16 12:31:32 +03:00
Metsjeesus
fa51a2c281 Add CA bundle option in SSL 2017-04-15 19:12:21 +03:00
Pavel Djundik
f645c32cb9 Use local variables to check length 2017-04-14 00:05:28 +03:00
Jérémie Astori
fe7c570cc9 Use Referrer-Policy header instead of CSP referrer
According to MDN:

> referrer
>   Used to specify information in the referer (sic) header for links away from a page.
>   Use the Referrer-Policy header instead.

See:

- https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/referrer
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy
2017-04-06 02:25:43 -04:00
Pavel Djundik
c0e364e1c2 Store channel keys 2017-04-01 15:28:38 -04:00
S
001f96035b Switch to bcryptjs and make password comparison async
- PasswordCompareAsync prevents timeouts on resource constraint devices
- All password.compare calls are now async
- Updated tests to accept async functions
2017-04-01 03:06:09 -04:00
Pavel Djundik
4a68b78fd5 Implement away message restoration on reconnections and auto away 2017-03-29 00:27:58 -04:00
Élie Michel
ed3b4faa62 Fix eslint styling issues 2017-03-21 15:49:54 +01:00
Élie Michel
642442c041 Implement a proper LDAP authentication process
The Lounge first log as a special user in order to search (as in LDAP's
'"search" verb) for the user's full DN. It then attempts to bind using the
found user DN and the user provided password.
2017-03-21 15:15:33 +01:00
Pavel Djundik
3b2e3fc08c Enforce more space and new line rules 2017-03-18 21:40:39 +02:00
Pavel Djundik
c409328ddf Fix variable shuffling around ident handler
Fixes #965
2017-03-17 22:24:40 +02:00
Jérémie Astori
ff72ebbb74 Merge pull request #804 from thelounge/xpaw/new-identd
Rewrite identd server, combine with oidentd
2017-03-13 02:04:24 -04:00
Jérémie Astori
1c732ffc5b Fix -h help option alias shadowed by a similar alias for --home
In v2.2.1 (and in pretty much every software out there, really), `-h` was an alias of `--help`. By adding it as an alias of `--home`, it is now shown twice in the help.
2017-03-13 01:06:11 -04:00
Pavel Djundik
9997aafec7 Rewrite identd server, combine with oidentd 2017-03-12 12:02:22 +02:00
Pavel Djundik
23599fc39b Prevent message sending in lobbies
Fixes #956
2017-03-11 20:09:37 +02:00
Pavel Djundik
24bd39361b Merge pull request #929 from msaun008/msaun008/fix-command-line-arg-parsing
Update arg parsing and default 'lounge' to 'lounge --help'
2017-03-10 19:27:09 +02:00
Matthew Saunders
86ed0b6e59 Update arg parsing and default 'lounge' to 'lounge --help' 2017-03-04 15:58:44 -05:00
Pavel Djundik
ffa0740b50 Disable (temporarily) client ping timeouts 2017-02-24 22:13:50 +02:00
Pavel Djundik
6755524be1 Merge pull request #903 from thelounge/astorije/log-users-by-default
Prompt admin for user log at user creation
2017-02-12 09:39:22 +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
410eff428b Prompt admin for user log at user creation 2017-02-01 01:26:19 -05:00
Alistair McKinlay
ba165de94e Merge pull request #812 from birkof/master
No prefetch URLs unless are messages
2017-01-23 10:43:30 +00:00
Daniel Stancu
36893c6d7c Do not prefetch URLs unless they are messages or /me actions
ACTION & MESSAGE type messages should be prefetched by default
2017-01-23 01:42:54 -05:00
Jérémie Astori
bc8b699437 Add a basic check for bundled application when starting the server
Note that this will not detect if the client application was built with an old version of the repo.
2017-01-23 01:15:50 -05:00
Jérémie Astori
3e82994ae2 Make log style when referring user consistent with other places 2017-01-04 02:17:15 -05:00
Jérémie Astori
df4b14d546 Merge pull request #783 from thelounge/xpaw/irc-raw-log
Option to log raw IRC traffic
2017-01-04 01:56:19 -05:00
Pavel Djundik
fb87bd3a58 Webpack 2016-12-27 19:15:30 +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
Jérémie Astori
7ae11babcb Add human-readable idle time in whois info 2016-12-22 00:21:16 -05:00
Jérémie Astori
391f3cb59b Merge pull request #834 from thelounge/xpaw/active-window
Do not ignore window opens when considering active channels
2016-12-21 18:15:14 -05:00
Pavel Djundik
4dd79af9bb Option to log raw IRC traffic 2016-12-21 13:22:18 +02:00
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
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
Daniel
084b269865 Rename package variable to pkg, as "package" is reserved. 2016-06-12 02:46:51 +01:00
Daniel
29d94bf297 Capitalise constructor. 2016-06-11 21:03:59 +01:00
Daniel
3a2d97af6a Supersede mkdirp with fs-extra.
Ensure USERS_PATH exists at start.

Remove unnecessary USER_PATH check.

Use fs-extra's copy to write default config.
2016-06-11 19:35:40 +01:00
Pavel Djundik
2ffd85d89f Update eslint and enforce key-spacing 2016-06-05 21:48:34 +03:00
Maxime Poulin
22d4f40613
Warn the user when both ident handlers are enabled 2016-06-03 00:11:20 -04:00
Maxime Poulin
fabb758985 Add support for oidentd spoofing 2016-06-02 23:59:19 -04:00
Maxime Poulin
9aafffd273
Fix existing identd 2016-06-02 23:59:08 -04:00
Maxime Poulin
21eafef32d
Don't send completely empty messages 2016-05-25 03:27:25 -04:00
Pavel Djundik
a0010ca9f6 Allow /connect command to work on current network 2016-05-22 10:13:10 +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
Max-P
fca941e962 Merge pull request #307 from thelounge/astorije/path-join-everywhere
Replace all concatenated paths with Node's path.join
2016-05-21 22:22:28 -04:00
Max-P
423151ad97 Merge pull request #334 from thelounge/xpaw/query-highlights
Fix notifications in query windows
2016-05-21 22:09:55 -04: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
1c57363106 Fix notifications in queries, limit message highlights to channels 2016-05-16 22:46:54 +03:00
Jérémie Astori
f65ffdff1e Centralize the logs path in the Helper 2016-05-15 17:13:51 -04:00
Pavel Djundik
dcec9f3c37 Fix overriding home folder 2016-05-15 17:02:53 -04:00
Pavel Djundik
d725bf0f70 Remove permissions test and do not suggest using sudo 2016-05-15 17:02:47 -04:00
Jérémie Astori
fe85873f1e Replace all concatenated paths with Node's path.join 2016-05-15 17:01:10 -04:00
Pavel Djundik
e6990e0fc7 Don't falsely report failed write if it didn't fail 2016-05-15 11:15:20 +03:00
Pavel Djundik
aa8c3f6419 Improve nick highlights 2016-05-12 14:20:24 +03:00
Max-P
bbf7b8086f Merge pull request #324 from thelounge/update-irc-fw
Update irc-framework
2016-05-12 03:25:54 -04: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
Maxime Poulin
0b6d13d22d
Don't check for existing password emptyness
Pointed out by @PugaBear, it's possible for a user to have an empty password. There isn't really a need to check for password emptyness, it will simply fail with wrong old password instead.
2016-05-10 18:00:07 -04:00
Jérémie Astori
29e0717d8c Merge pull request #238 from williamboman/fix/safer-add-user
clientManager: don't write user configs outside of lounge's users dir
2016-05-08 13:21:01 -04:00
Jérémie Astori
c7fb388323 Merge pull request #292 from thelounge/xpaw/csp
Add security headers to minimize XSS damage
2016-05-08 00:42:05 -04:00
William Boman
5e38060567 clientManager: don't write user configs outside of lounge's users dir 2016-05-07 13:35:16 +02:00
Pavel Djundik
4585583ebc Save user when parting channels 2016-05-06 19:32:35 +03:00
Pavel Djundik
d143542fe5 Add security headers to minimize XSS damage 2016-05-06 11:08:45 +03: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
Maxime Poulin
6d1e81b324 Remove "trust proxy" as it does litterally nothing 2016-05-02 00:42:03 -04:00
Pavel Djundik
e75a8f40a6 Stricter eslint rule for curly brackets 2016-05-01 12:41:17 +03: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
d9a0dd9406 Use lowercase global
GLOBAL shows a deprecated warning in node 6
2016-04-28 21:36:09 +03:00
Jérémie Astori
177041c9bb Merge pull request #280 from thelounge/min-node-ver
Document supported node version
2016-04-27 10:03:43 -04:00
Maxime Poulin
96d180077c
Add support for ~ home folder expansion 2016-04-27 04:23:54 -04:00
Max-P
12c88debf4 Fix derp in new logger (#283)
Chose to rename to `error` as that's what's used everywhere and what the `console` object would expose, so it's more of a drop-in replacement.
2016-04-27 10:42:54 +03:00
Pavel Djundik
d428bb7511 Document supported node version 2016-04-27 10:07:43 +03:00
Jérémie Astori
21fb0e0709 Merge pull request #257 from thelounge/xpaw/console-log
Add global logging helper
2016-04-27 02:43:54 -04:00
Jérémie Astori
1150d646cb Merge pull request #205 from maxpoulin64/I-194
Restrict access to the home directory by default
2016-04-27 02:25:30 -04: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
80ac72709d Do not count your own messages as unread 2016-04-26 13:10:17 +03:00
Pavel Djundik
2d8f4fdf14 Log enabled capabilities 2016-04-24 11:14:06 +03:00
Pavel Djundik
91aa4c6c4a Never highlight self messages in queries, and leave it up to the server to decide 2016-04-22 19:38:59 +03:00
Pavel Djundik
84685acdcd Add support for echo-message cap 2016-04-22 19:38:13 +03:00
Pavel Djundik
f4ac2aad19 Fix loading config before HOME variable is set 2016-04-19 23:58:49 +03:00
Pavel Djundik
148be767bb Fix #232: Do not store messages in memory when running in public mode 2016-04-19 13:28:07 +03:00
Pavel Djundik
6dc807ef07 Create a single helper function to write messages 2016-04-19 13:20:18 +03:00
Jérémie Astori
116dbc07be Merge pull request #167 from thelounge/irc-framework
Drop slate-irc, switch to irc-framework
2016-04-13 01:28:32 -04:00
Pavel Djundik
71a4dde7ad Do not generate random nicks on nick errors if already registered with the network 2016-04-10 11:55:58 +03:00
Jérémie Astori
49a62c4015 Merge pull request #230 from williamboman/fix/password-prompt
command-line/add,reset: reword password prompt
2016-04-08 23:49:43 -04:00
Pavel Djundik
34af38ff92 Change how nick errors are displayed 2016-04-07 16:08:33 -04:00
Pavel Djundik
7fdd0e90c1 Generate a random hexadecimal nickname when servers says current nick is invalid 2016-04-07 16:08:33 -04: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
7d24394814 Update irc-framework and fix issue when changing your own nick 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
Maxime Poulin
9cd4c6744c Support kick message in /kick command 2016-04-07 16:07:40 -04:00
Maxime Poulin
6c5ade3fe3 Fix the /topic command 2016-04-07 16:07:40 -04:00
Pavel Djundik
338116a01e Prevent opening query windows for CHANTYPES and PREFIX 2016-04-07 16:07:40 -04:00
Pavel Djundik
142aa85548 Handle invites
Requires irc-fw update
2016-04-07 16:07:40 -04:00
Pavel Djundik
3fc7036d32 Don't reset time in link expander and hide time with css 2016-04-07 16:07:40 -04:00
Pavel Djundik
6b2ebd790d Always send notices for non existing targets into server window
This matches current master behaviour
2016-04-07 16:07:40 -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
43f58a8075 Format topic set date 2016-04-07 16:07:40 -04:00
Pavel Djundik
92cc130e2b Always send notices that are not targeted at us into the server window 2016-04-07 16:07:40 -04:00
Pavel Djundik
e0fb454223 Search channel case insensitively 2016-04-07 16:07:37 -04:00
Jérémie Astori
40677e3248 Update tests to match the new irc-framework models 2016-04-07 16:06:03 -04:00
Pavel Djundik
54526215a4 Correctly create new windows for private messages 2016-04-07 16:06:03 -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
17bcc37b80 Request names on mode change as a temporary measure 2016-04-07 16:06:02 -04:00
Pavel Djundik
db5fe00b60 A couple of fixes after rebasing and updating framework 2016-04-07 16:06:01 -04:00
Pavel Djundik
a01216fa4c Update irc-framework 2016-04-07 16:04:41 -04:00
Pavel Djundik
071881a9fa Sort user list within a single pass, use server provided user modes 2016-04-07 16:04:41 -04:00
Pavel Djundik
516ccd965f Add support for IRCv3 server-time 2016-04-07 16:04:41 -04:00
Pavel Djundik
7baf5f0f81 Remove unused notice event 2016-04-07 16:04:41 -04:00
Pavel Djundik
dff6eb33c5 Maintain backwards compatibility by sending symbols to the client 2016-04-07 16:04:41 -04:00
Pavel Djundik
b6993f6e37 Make whois work 2016-04-07 16:04:41 -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
2244dda566 Update commands 2016-04-07 16:04:40 -04:00
Pavel Djundik
82e192cd2c Enable link fetcher 2016-04-07 16:04:40 -04:00
Pavel Djundik
356851c3f2 Handle kick 2016-04-07 16:04:40 -04:00
Pavel Djundik
627b698221 Fix creating duplicate query windows when our nick is not known 2016-04-07 16:04:40 -04:00
Pavel Djundik
9ab71b2588 Handle nick 2016-04-07 16:04:40 -04:00
Pavel Djundik
4d986537bc Handle error 2016-04-07 16:04:40 -04:00
Pavel Djundik
360563528a Handle channel and user modes 2016-04-07 16:04:40 -04:00
Pavel Djundik
e380319400 Handle parts, quits, topics and topic set by 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
Maxime Poulin
7209bcd58a Add config option to limit in-memory history size
This adds a (temporary?) config option to limit the amount of messages stored per channel to avoid the server's memory usage to grow as channels fills up with messages.
2016-04-06 03:29:35 -04:00
William Boman
8293497ae9 command-line/add,reset: reword password prompt
This makes the password prompts not look like a root access password prompt.
2016-04-03 20:47:45 +02:00
Pavel Djundik
ad3bdef542 Fix not being able to remove networks from user config 2016-04-02 11:16:31 +03:00
Pavel Djundik
93d7b16cd4 Harden url fetcher and don't crash on non-ASCII urls 2016-03-27 12:50:53 +03:00
Pavel Djundik
05ec819f2d Merge pull request #222 from maxpoulin64/fix-part
Fix /part command
2016-03-27 01:27:54 +02:00
Maxime Poulin
d5e67d6503 Fix /part command
Fixes the /part command closing the wrong window. The current implementation simply passes all arguments to slate, which ended up parting every arguments.

This changes the command to `/part message`, and always parts the current window. This will be fixed further once irc-framework is merged.
2016-03-26 16:13:34 -04:00
Jérémie Astori
fefc6c5132 Disallow /query on non-nicks 2016-03-26 13:18:55 -04:00
Pavel Djundik
7d7c3edcec Add a query command that simply opens a query window 2016-03-24 22:40:36 +02:00
Jérémie Astori
eadcca0b5e Merge pull request #208 from thelounge/xpaw/remove-commands
Remove join, nick and whois inputs, they are cleanly handled by the server
2016-03-22 02:03:50 -04:00
Pavel Djundik
83021cf0ac Fix #195: Support port in connect command 2016-03-20 19:35:20 +02:00
Pavel Djundik
9deb0489f6 Disallow parting from lobbies 2016-03-20 18:34: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
Maxime Poulin
346fb83abe Restrict access to the home directory by default
Follow up on #165
Closes #194
2016-03-19 18:59:45 -04:00
Jérémie Astori
05be0ff57f Merge pull request #174 from thelounge/xpaw/http2
Add support for HTTP2
2016-03-19 18:06:34 -04:00
xPaw
9e8bc44e3a Fix default socket.io transports 2016-03-19 18:48:36 +02:00
Max-P
e54409b3dd Merge pull request #193 from thelounge/astorije/minor-simplification
Remove unnecessary operation when sorting users
2016-03-14 20:55:49 -04: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
d02c0bd72c Remove unnecessary operation when sorting users 2016-03-14 01:44:03 -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
d7750db87f Remove moment.js from the client 2016-03-11 22:18:49 +02:00
Jérémie Astori
ddc72ea94f Merge pull request #154 from xPaw/better-commands
Handle commands in a better way
2016-03-11 02:12:30 -05: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
Pavel Djundik
689b018079 Add support for HTTP2 2016-03-09 14:04:05 +02:00
Pavel Djundik
52bc324a63 Update eslint to 2.3.0 and add stricter rules 2016-03-09 10:50:20 +02:00
Jérémie Astori
c8664b7cfa Merge pull request #161 from xPaw/whois-tpl
Make whois a client template
2016-03-09 00:16:47 -05:00
Jérémie Astori
6a6c41732d Make sure highlight lookup stops as soon as a candidate is detected 2016-03-08 01:54:23 -05:00
Jérémie Astori
977b48649b Fix #156: Make sure self messages are never highlighted 2016-03-08 01:39:00 -05:00
Pavel Djundik
a61973a156 Make whois a client template 2016-03-07 17:10:46 +02:00
Pavel Djundik
bd370699fd Fix crash and remove remaining 0777 mode 2016-03-05 20:31:29 +02:00
Jérémie Astori
0f48b11a22 Merge pull request #117 from maxpoulin64/fix-user-filemode
Remove attempts to set file modes
2016-03-05 01:48:51 -05: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
Jérémie Astori
325739c8be Merge pull request #122 from xPaw/odd-invite
Fix #116: Move 'you' handling in invites to the client
2016-03-01 00:16:55 -05:00
Jérémie Astori
5f11c26223 Fix complete crash when refreshing a public instance 2016-02-29 01:19:11 +00:00
Pavel Djundik
f6563d0ea9 Fix #116: Move 'you' handling in invites to the client 2016-02-28 10:21:19 +02:00
Jérémie Astori
ce69ce333a Merge pull request #91 from xPaw/fix-highlight
Fix how highlights are handled
2016-02-28 00:45:23 -05:00
Maxime Poulin
b70c0a98fe Remove attempts to set file modes
After some testing and manually trying to set sane file modes, it turns out the umask still applies. So it seems the logical way to handle this is to actually rely on the OS umask to set proper permissions.
2016-02-27 21:34:39 -05:00
Max-P
1d8667ed4b Merge pull request #57 from diddledan/frontend-password-change
frontend password change functionality
2016-02-27 20:07:08 -05:00
Pavel Djundik
357e238a45 Fix how highlights are handled 2016-02-28 01:30:20 +02: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
Jérémie Astori
31d938440b Merge pull request #94 from xPaw/action-templates
Move actions to templates
2016-02-26 01:26:48 -05:00
Jocelyn Delande
05ae17328d Fix /invite command broken by lodash update
Broken by #38 / 19bc4f3
2016-02-25 12:43:32 +01:00
Pavel Djundik
2c8c84aec5 Move actions to templates 2016-02-23 18:22:41 +02:00
Alistair McKinlay
b2625aebae Merge pull request #38 from xPaw/lodash
Update lodash
2016-02-21 15:31:44 +00:00
Pavel Djundik
aab7f298d8 Allow locking network configuration 2016-02-21 14:02:35 +02:00
Jérémie Astori
eb794ab080 Add a simplified way to invite a user in the current channel 2016-02-20 16:32:41 +00:00
Alistair McKinlay
761958e3ee Merge pull request #7 from xPaw/invites
Handle invite event
2016-02-19 21:58:22 +00:00
Alistair McKinlay
972aadd674 Merge pull request #58 from maxpoulin64/userlist-lag
Only update the users list when needed
2016-02-19 21:24:09 +00:00
Pavel Djundik
19bc4f37e0 Update lodash 2016-02-19 15:13:53 +02:00
Jérémie Astori
172c8d534a Merge pull request #34 from xPaw/fix-closing-channel
Fix #30: Close channel on the client as soon as close event is registered
2016-02-18 23:23:36 -05: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
Alistair McKinlay
0d823f24d6 Merge pull request #37 from deiu/master
Replace deprecated moment().zone
2016-02-15 08:46:09 +00:00
Jérémie Astori
d8beaaead8 Merge pull request #33 from xPaw/fix-badly-sorted-userlist
Fix #29: Correctly send sorted user list whenever an user joins
2016-02-15 01:59:33 -05:00
deiu
a3227c90b2 Replace deprecated moment().zone 2016-02-14 11:31:11 -05:00
Pavel Djundik
937126a43e Fix #30: Close channel on the client as soon as close event is registered 2016-02-14 12:08:38 +02:00
Pavel Djundik
b8dbbf8219 Fix #29: Correctly send sorted user list whenever an user joins 2016-02-14 11:50:48 +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
96158ba43d Rename variable corresponding to the server 2016-02-10 06:20:05 +00:00
Jérémie Astori
39dc4e8957 Update name and link to repo to new project 2016-02-10 06:20:05 +00:00
Mattias Erming
62672e4b1b Merge pull request #588 from xPaw/user-actions
Render user actions separately
2016-01-24 16:03:12 +01:00
Pavel Djundik
12d798f0e2 Send useragent with link expander requests 2016-01-24 17:01:11 +02:00
Pavel Djundik
bb98be475a Render user actions separately 2016-01-24 16:59:13 +02:00