Commit Graph

690 Commits

Author SHA1 Message Date
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