Pavel Djundik
351a203acd
Fix some URLs not being sent as-is to the client
2018-03-13 22:08:19 +02:00
Al McKinlay
5ce67ba093
Insert channel/user into channel list at alphabetically sorted point, not just the end
...
Don't sort queries/users after special chans
Set all users in tests to be of type query
Add test for not inserting infront of lobby
Break after finding the index, otherwise it always adds it to the end
Add checking for lobby in first test
Fix off-by-one error on the frontend
Fix utterly idiotic issue adding a duplicate of the channel we are on rather than the new user when we query
Check that we always insert before first special chan
2018-03-12 12:42:59 +00:00
Jérémie Astori
2954afd77d
Remove thelounge config
from the CLI
2018-03-11 14:36:57 -04:00
Pavel Djundik
a15e922e27
Close sqlite database when user quits
...
Fixes #2178
2018-03-11 00:21:47 +02:00
Jérémie Astori
38b8cdbb5e
Merge pull request #2189 from thelounge/xpaw/fix-2176
...
Allow overriding arrays in config, warn about incorrect types
2018-03-10 13:36:31 -05:00
Pavel Djundik
ddb1a280cb
Allow overriding arrays in config, warn about incorrect types
...
Fixes #2176
2018-03-10 13:59:24 +02:00
Pavel Djundik
5146686814
Only request znc.in/playback if sqlite logging is enabled
2018-03-10 13:25:56 +02:00
Pavel Djundik
20c9df39b1
Merge pull request #2181 from thelounge/xpaw/client-away-crash
...
Do not crash when awayMessage is set but IRC connection does not exist
2018-03-09 12:41:36 +02:00
Pavel Djundik
b2eb11b5ef
Merge pull request #1851 from creesch/settingSync
...
Optional syncing of client settings.
2018-03-09 12:37:17 +02:00
Pavel Djundik
b5b0ebe00d
Do not crash when awayMessage is set but IRC connection does not
2018-03-09 12:33:24 +02:00
creesch
27393bb804
Offer optional syncing of client settings
...
Write synced settings to localstorage.
move settings and webpush init to init.js
stub for server sending clientsettings
get very basic setting sync working
Also update client.config.clientSettings on settings:set
Full setting sync with mandatory and excluded sync options
Actually check client preferences.
Further settings restructuring.
Refactor options.js make storage act in a sane manner.
Add new parameter to applySetting
Do not sync if the setting is stored as a result of syncing
General clean up, commenting and restructing.
sync from server on checking "sync"
offer initial sync
Better deal with DOM being ready and instances of inital sync showing
Don't try to disable autocompletion when not enabled.
Restructure option.js to seperate functions from settings.
More consistency in naming options vs settings
Switch processSetting and applySetting names reflecting their functionality better.
move options init back to configuration.
simplify how settings are synced around.
move options init after template building.
Remove unneeded hasOwnProperty
Use global for #theme and only apply theme in applySetting
Return when no server side clientsettings excist.
Autocompletion options to options.settings
Make nocss param in url work again.
Actually filter out empty highlight values.
Clarify alwaysSync comment.
Remove manual step for initial sync
change attr to prop in options.js
replace unbind with off in autocompletion.js
Do not sync settings when the lounge is set to public.
fix eslint error
Fix merge error
Do not show sync warning after page refresh when sync is enabled
Move setting sync label in actual label.
Improve server setting sync handling performance and failure potential.
Don't give impression that the desktop notificiation is off when the browser permission is denied.
Refine showing and hiding of notification warnings.
rename all setting socket events to singular setting.
add experimental note and icon to settingsync.
fix css linting error
2018-03-09 10:36:29 +01:00
Pavel Djundik
167101c3aa
Do not include colon in push message for actions
2018-03-09 11:06:19 +02:00
Pavel Djundik
5aa9d7e1dc
Merge pull request #1839 from thelounge/sqlite
...
Add sqlite logging and reloading messages
2018-03-09 09:06:25 +02:00
Pavel Djundik
dfc4cad712
Add test coverage for sqlite plugin
2018-03-08 20:23:29 +02:00
Pavel Djundik
8f59ca1bec
Add support for znc.in/playback
...
Fixes #1768
2018-03-08 20:23:29 +02:00
Pavel Djundik
941849eaa8
Add message indexing
2018-03-08 20:23:29 +02:00
Pavel Djundik
731b29c059
Generate uuid per network
2018-03-08 20:23:29 +02:00
Pavel Djundik
f475cc39ef
Normalize unicode URLs in link prefetcher
...
Fixes #1644
2018-03-08 19:43:39 +02:00
Pavel Djundik
6fdd6d4f8e
Merge pull request #2161 from realies/patch-4
...
Add install command support for package version
2018-03-08 08:57:39 +02:00
realies
a941fe97a6
Add install command support for package version
2018-03-07 19:59:03 +02:00
Pavel Djundik
58d9490c2a
Try to find og:video and og:audio on html pages
2018-03-07 12:53:56 +02:00
Pavel Djundik
6c6168e80a
Merge pull request #2164 from thelounge/xpaw/remove-maxlisteners
...
Remove setMaxListeners
2018-03-07 09:19:04 +02:00
Pavel Djundik
6fa48d3acf
Remove setMaxListeners
...
Reverts 2cee0ea6ef
as this no longer causes the EventEmitter warning due to `maxRedirects` being set to 5 on our end.
Ref: https://github.com/request/request/issues/311#issuecomment-153507416
2018-03-07 09:13:06 +02:00
Pavel Djundik
827310a645
Apply ECDH curve fix only on affected version
...
Fixes #2162
2018-03-07 08:44:22 +02:00
Pavel Djundik
501730f2ca
Fix default ecdh curve for better compatibility
2018-03-06 15:11:42 +02:00
Pavel Djundik
9188943261
Fix rejectUnauthorized
2018-03-06 11:42:06 +02:00
Pavel Djundik
eab823ba66
Allow setting rejectUnauthorized per network
2018-03-04 12:45:48 +02:00
Pavel Djundik
4b7a53c5e1
Do not rethrow exception if user file failed to write
2018-03-03 21:46:14 +02:00
Pavel Djundik
6b5f6e3e79
Do not crash when user file can not be read
...
Fixes #2128
Fixes #447
2018-03-03 21:46:14 +02:00
Jérémie Astori
9107f9e351
Merge pull request #2145 from thelounge/xpaw/chalk
...
Replace colors.js with chalk
2018-03-03 02:42:04 -05:00
Jérémie Astori
f9f35fa498
Merge pull request #2144 from thelounge/xpaw/warn-config-folder
...
Warn about old config folder
2018-03-03 00:23:38 -05:00
Pavel Djundik
fee81e78e1
Replace colors.js with chalk
2018-03-02 20:28:54 +02:00
Pavel Djundik
eaf8c35f40
Warn about old config folder
2018-03-02 19:05:30 +02:00
Pavel Djundik
7a0a1b86f6
Set channel state to joined when channel already exists
...
Fixes #2141
Fixes #2103
2018-03-02 12:29:40 +02:00
Pavel Djundik
59ec0348b6
Merge pull request #1930 from thelounge/astorije/ctcp-request
...
Let user know someone is making a CTCP request against their nick
2018-02-27 13:15:27 +02:00
Pavel Djundik
1b97c1031d
Log socket close error if any
2018-02-26 14:20:23 +02:00
Jérémie Astori
7a6b560303
Merge pull request #2098 from keegan/master
...
Enable logging for LDAP users
2018-02-24 12:54:48 -05:00
Keegan
4fe7dc0808
Enable logging for LDAP users
2018-02-23 20:07:08 -05:00
Pavel Djundik
7f82b440a2
Fix log.warn in ldap
2018-02-23 17:52:16 +02:00
Pavel Djundik
9c46bc5713
Change wsEngine to "ws"
...
uWS causes major delays - https://github.com/socketio/socket.io/issues/3100
2018-02-23 12:35:35 +02:00
Jérémie Astori
a24ab74c4c
Merge pull request #2090 from thelounge/xpaw/rng-nick
...
Allow generating random numbers in nick on page load
2018-02-22 20:54:52 -05:00
Pavel Djundik
3da870be8c
Send empty banlist error to lobby for channels user is not in
2018-02-22 11:01:49 +02:00
Jérémie Astori
f8c894d7e1
Merge pull request #2082 from thelounge/xpaw/rm-isRegistered
...
Remove isRegistered
2018-02-22 00:45:22 -05:00
Jérémie Astori
fa4331bcd9
Limit CTCP requests to prevent easy spamming
2018-02-22 00:42:33 -05:00
Jérémie Astori
e03694b49c
Let user know someone is making a CTCP request against their nick
2018-02-22 00:42:33 -05:00
Pavel Djundik
59ec07be87
Update all links to thelounge repository
2018-02-21 22:47:52 -05:00
Pavel Djundik
906e79f39b
Allow generating random numbers in nick on page load
2018-02-21 19:34:33 +02:00
Jérémie Astori
863e9b0b48
Merge pull request #2088 from thelounge/xpaw/harden-server-events
...
Ignore events on the server if incorrect data is supplied
2018-02-21 09:57:19 -05:00
Jérémie Astori
5bc3ef3ed8
Merge pull request #1918 from williamboman/fix/send-accept-language-in-link-previews
...
relay client's preferred language in link preview requests
2018-02-21 09:54:08 -05:00
Pavel Djundik
dfba84d811
Merge pull request #2081 from thelounge/xpaw/secure-localhost
...
Consider localhost connections secure
2018-02-21 14:00:56 +02:00
Pavel Djundik
b501d648e3
Ignore events on the server if incorrect data is supplied
2018-02-21 13:17:56 +02:00
William Boman
acb6179b30
relay client's preferred language in link preview requests
...
Closes #1440 .
2018-02-21 10:35:33 +01:00
Jérémie Astori
0602a9495a
Merge pull request #2036 from thelounge/xpaw/prefetch-errors
...
Report server errors when preview fetch fails
2018-02-20 22:21:39 -05:00
Pavel Djundik
b10962f13f
Remove isRegistered
2018-02-20 13:24:46 +02:00
Pavel Djundik
37c61e2413
Report server errors when preview fetch fails
2018-02-20 11:33:42 +02:00
Pavel Djundik
913e88185e
Change (un)install commands to use locally installed yarn
2018-02-20 11:28:14 +02:00
Pavel Djundik
dc6252d3f6
Consider localhost connections secure
2018-02-20 10:36:19 +02:00
Pavel Djundik
c733e72e7a
Auto-fix code for padding-line-between-statements rule
2018-02-20 09:28:04 +02:00
Pavel Djundik
7330dc9553
Rewrite ctcp handling
2018-02-19 14:43:58 -05:00
Pavel Djundik
6c7ddd0f47
Merge pull request #1734 from thelounge/astorije/thelounge_home
...
Switch default home location to `~/.thelounge`
2018-02-19 20:54:57 +02:00
Pavel Djundik
51684f7a2a
Switch default home location to ~/.thelounge
and remove support of .lounge_home
2018-02-19 20:43:53 +02:00
Jérémie Astori
c7ad6d9d3d
Merge pull request #2077 from thelounge/astorije/rm-lounge-cli
...
Remove support for the `lounge` CLI (which was replaced with `thelounge`)
2018-02-19 13:27:47 -05:00
Jérémie Astori
69a4207ea4
Remove support for the lounge
CLI (which was replaced with thelounge
)
2018-02-19 13:14:14 -05:00
Pavel Djundik
c97352905d
Merge pull request #1962 from thelounge/xpaw/no-var
...
Enable no-var rule
2018-02-19 20:12:31 +02:00
Pavel Djundik
8886459be9
Merge pull request #2049 from thelounge/xpaw/ui-network-status
...
Sync network status and security to client UI
2018-02-19 19:57:36 +02:00
Jérémie Astori
26fa60f475
Merge pull request #1730 from thelounge/astorije/rm-css-theme-deprecation
...
Remove deprecated support for CSS filenames in theme configuration
2018-02-19 12:55:38 -05:00
Pavel Djundik
a3e448acf5
Enable no-var rule
...
Fixes #1961
2018-02-19 19:49:39 +02:00
Pavel Djundik
0d068f34a8
Merge pull request #1966 from thelounge/xpaw/no-session-convert
...
Remove session token hash conversion
2018-02-19 19:33:42 +02:00
Jérémie Astori
ab982ecc3c
Remove deprecated support for CSS filenames in theme configuration
2018-02-19 19:17:45 +02:00
Pavel Djundik
2685f46669
Merge pull request #1834 from thelounge/astorije/rm-deprecated-options
...
Remove deprecated options for `thelounge start`
2018-02-19 19:10:14 +02:00
Pavel Djundik
3ccdee6f00
Merge pull request #1927 from thelounge/astorije/fix-ctcp
...
Fix CTCP commands always sent upper-case
2018-02-19 19:06:08 +02:00
Pavel Djundik
a09b21decd
Merge pull request #1733 from thelounge/astorije/home_option_env_var
...
Remove deprecated support for the `--home` option and `$LOUNGE_HOME` environment variable
2018-02-19 18:51:44 +02:00
Pavel Djundik
40f05b837d
Merge pull request #1729 from thelounge/astorije/rm-debug-deprecation
...
Remove deprecated support for `debug` as a boolean in the configuration file
2018-02-19 18:51:11 +02:00
Pavel Djundik
a145b8e27c
Merge pull request #1728 from thelounge/astorije/rm-autoload-deprecation
...
Remove autoload deprecation notice
2018-02-19 18:50:51 +02:00
Pavel Djundik
742929280d
Merge pull request #1919 from thelounge/yamanickill/image-size-error
...
Show error if image is greater than max prefetch size
2018-02-19 18:49:18 +02:00
Jérémie Astori
4196e627f9
Fix CTCP commands always sent upper-case
...
This is a Node v6+ only fix.
`irc-framework` upper-cases the first argument, and we were sending everything as a string in first argument. This correctly splits.
2018-02-19 18:43:52 +02:00
Pavel Djundik
b82ceb162b
Merge pull request #2059 from thelounge/xpaw/motd
...
Render MOTD with a single message
2018-02-19 18:42:16 +02:00
Jérémie Astori
416f45d1e3
Use some ES6/Node v4-only syntax when possible
2018-02-19 18:30:00 +02:00
Jérémie Astori
c432ee431d
Switch to Node v6 as the oldest version we support
...
Removed a deprecation notice I added in an earlier commit (ef1c59072c
).
2018-02-19 18:30:00 +02:00
Pavel Djundik
b57830b859
Sync network status and security to client UI
...
Co-Authored-By: Jérémie Astori <astorije@users.noreply.github.com>
2018-02-19 13:12:01 +02:00
Pavel Djundik
f92aeceb22
Fix bind not being passed to irc-framework
2018-02-18 13:07:24 +02:00
Jérémie Astori
c8418a638d
Merge pull request #2058 from thelounge/xpaw/channel-state
...
Track channel state to allow removing channels user is not in
2018-02-17 19:27:09 -05:00
Pavel Djundik
38bc8e6782
Display password field when displayNetwork is false
...
Fixes #509
2018-02-17 10:23:01 +02:00
Pavel Djundik
0d074f1cbe
Provide exact version into npm install
command
2018-02-14 12:09:02 +02:00
Pavel Djundik
d1e5a8f492
Render MOTD with a single message
2018-02-14 11:00:46 +02:00
Pavel Djundik
72e5e9f237
Merge pull request #2055 from thelounge/xpaw/fix-2054
...
Fix border after nickname not taking full height
2018-02-13 16:22:43 +02:00
Pavel Djundik
13e81e5a41
Fix themes not loading
...
Broken by e4701be708
2018-02-13 13:57:13 +02:00
Pavel Djundik
fa993c29d5
Trim MOTD to avoid empty line at the end
2018-02-13 12:38:33 +02:00
Pavel Djundik
7e704b2d73
Track channel state to allow removing channels user is not in
2018-02-13 12:30:26 +02:00
Al McKinlay
865e5bb41b
Merge pull request #1933 from RockyTV/rockytv
...
Show channel name on channel-related errors
2018-02-13 10:03:20 +00:00
Pavel Djundik
4639a2528d
Merge pull request #2021 from thelounge/xpaw/ldapjs-no-dtrace
...
Use forked ldapjs to remove dtrace
2018-02-13 11:58:25 +02:00
Jérémie Astori
6d931e8dcb
Make sure packages are correctly removed from package.json when uninstalled
2018-02-13 01:06:31 -05:00
Jérémie Astori
2c570fa9ef
Load packages from package.json, fix loading thelounge metadata from the wrong file, add tests
2018-02-13 01:06:31 -05:00
Jérémie Astori
b5d96d215f
Ensure packages loaded are directories
2018-02-13 01:06:30 -05:00
Alexandre Oliveira
c53015c1af
Show channel name on channel-related errors
...
Fixes #1207
2018-02-12 15:22:31 -02:00
Pavel Djundik
aee1ec2739
Fix crash when hostname is changed in lockNetwork mode
...
Fixes #2040
2018-02-07 12:03:25 +02:00
Pavel Djundik
c4f6701d65
Use forked ldapjs to remove dtrace
...
Fixes #1756
2018-02-06 13:21:59 +02:00
Pavel Djundik
b7ccb5a294
Fix queries going to lobby if the network name matches user name
...
Fixes #1501
Fixes #1983
2018-02-05 14:35:01 +02:00
Jérémie Astori
91e3ca88bb
UI for "Image too large" errors
2018-02-01 21:14:37 -05:00
Al McKinlay
335bd803af
Show error if image is greater than max prefetch size
2018-02-01 21:09:45 -05:00
Pavel Djundik
1fdd1ff0c3
Define which message types should not be logged
2018-02-01 10:03:10 +02:00
Jérémie Astori
93265ef830
Merge pull request #2020 from thelounge/xpaw/fix-1991
...
Wait for server response when parting channels
2018-02-01 00:42:17 -05:00
Pavel Djundik
e6241556be
Fix #2024 - Send visible defaults when displayNetwork is false
2018-01-31 23:14:26 +02:00
Pavel Djundik
33dbc80dbc
Fix #1991 : Wait for server response when parting channels
2018-01-31 10:04:54 +02:00
Jérémie Astori
c605f35335
Merge pull request #2019 from thelounge/yamanickill/save-queries
...
Save query channels in user.json
2018-01-30 19:27:28 -05:00
Jérémie Astori
dcdc1d150f
Merge pull request #1979 from thelounge/astorije/index
...
Do not statically serve the index template prior to rendering it
2018-01-30 19:21:07 -05:00
Al McKinlay
5cf24b80e6
Save query channels in user.json
2018-01-30 17:14:51 +00:00
Al McKinlay
72fafc5b4f
Allow https css
...
Fixed #2012
2018-01-30 09:23:34 +00:00
Jérémie Astori
432023fc7e
Make sure existing packages (and themes) are not deleted when installing a new one on Node.js v8
...
- When installing a package on Node v8 (or whatever npm version ships with it - v5), all packages not listed in `package.json` are removed. Since we explicitly added `--no-save`, installing a theme would delete the previous one. I am now checking that the file already exists or not. This means that it will still happen to people the next time they run `thelounge install`, because the previous install did not save into `package.json` :/
- Adding `--save` to make sure that the same, correct behavior is done on Node v6 as well (npm v3)
- Adding `--save-exact` for good measure.
2018-01-16 20:25:35 -05:00
Jérémie Astori
33d82287be
Do not statically serve the index template prior to rendering it
...
Without this, going to `https://thelounge.example.com/index.html ` would return the raw file. This now excludes it from the `public` folder so it cannot be rendered as is.
Renaming the file is for good measure, to indicate that this HTML file must be templated. Because it is a straight rename with no modification, rebasing PRs on it should not be to painful, as git re-applies changes on renamed files.
2018-01-14 13:02:27 -05:00
Jérémie Astori
42199eda29
Merge pull request #1978 from merlinthp/chpass_callback
...
Add missing execution of callback in ClientManager.updateUser
2018-01-13 18:47:01 -05:00
Howard Johnson
10d43f27ed
Add missing executions of callback in ClientManager.updateUser
...
Signed-off-by: Howard Johnson <merlin@merlinthp.org>
2018-01-13 23:05:23 +00:00
Pavel Djundik
1aaa9391db
Merge pull request #1970 from thelounge/astorije/fix-themes
...
Fix local themes not being found in theme selector dropdown, and serve local themes using the themes route instead of the public folder
2018-01-13 23:09:55 +02:00
Jérémie Astori
c49239b4f1
Fix themes not being found in theme selector dropdown
2018-01-13 13:45:30 -05:00
Jérémie Astori
f8c66aa512
Merge pull request #1975 from thelounge/xpaw/fix-1902
...
Fix enabling push notifications on Firefox
2018-01-13 13:14:33 -05:00
Jérémie Astori
45dc52886e
Fix thelounge uninstall
command
...
- Exit with code 1 when package was not installed
- Run a pre-step to check if package is installed before uninstalling. I have tried every possible way I could think of without that first `npm list` step based on output of `npm uninstall`, but different npm versions produce different outputs, so there is nothing reliable. This is a more robust way to do so anyway.
- Consolidate error handlers
2018-01-13 02:00:37 -05:00
Pavel Djundik
8d0bdfc200
Fix #1902 - unable to enable push notifications on Firefox 57
2018-01-12 12:04:04 +02:00
Pavel Djundik
59a1a9cd36
Fix #1958 : Remove session token hash conversion
2018-01-11 21:44:00 +02:00
Pavel Djundik
98c3108bde
Merge pull request #1940 from thelounge/xpaw/fix-1934
...
Hash user tokens, increase token entropy
2018-01-11 13:34:14 +02:00
Jérémie Astori
40aadf7c95
Merge pull request #1619 from thelounge/1447-css-plugin
...
Allow custom css from plugins
2018-01-10 21:44:47 -05:00
Pavel Djundik
eac092e661
Hash user tokens, increase token entropy
...
Fixes #1934
2018-01-10 15:54:52 +02:00
Jérémie Astori
b3702b0550
Merge pull request #1938 from thelounge/astorije/uninstall-packages
...
Add a `thelounge uninstall` command to remove themes and packages
2018-01-09 00:51:27 -05:00
Pavel Djundik
fc39a67e10
Only emit "more" history to the client that requested it
2018-01-07 15:06:59 +02:00
Jérémie Astori
d2388dc623
Bail when uninstalling if package.json for TL packages does not exist
...
It is on purpose that the message is the same than when a package was not installed. From a user standpoint, it only matters that this specific package was not installed.
2018-01-06 12:12:10 -05:00
Jérémie Astori
3971ecff63
Customize a bit thelounge install|uninstall
...
- Hides progress bars that flash when installing/uninstalling as it does not bring real value here, at least for now
- Inform user if package being uninstalled was not actually installed
- Do not display npm outputs, mention which version was installed (this will probably need refining when installing packages with dependencies)
2018-01-06 12:12:10 -05:00
Jérémie Astori
d9cb640c2a
Add a thelounge uninstall
command to remove themes and packages
2018-01-06 12:12:09 -05:00
Al McKinlay
3510094665
Allow custom css from plugins
2018-01-05 17:40:47 +00:00
Pavel Djundik
4307bb0563
Fix nicknames in text logs
2018-01-05 15:41:03 +02:00
Pavel Djundik
6675ced196
Store images with correct file extension
2018-01-03 13:33:52 +02:00
Jérémie Astori
835236f8ac
Merge pull request #1901 from thelounge/xpaw/fix-nicks-match
...
Do not match nicknames incorrectly as part of a bigger word
2017-12-27 14:32:59 -05:00
Jérémie Astori
dab4fc44ea
Make sure data URIs are allowed by CSP not to block video controls
2017-12-27 13:56:38 -05:00
Pavel Djundik
349136f172
Do not match nicknames incorrectly as part of a bigger word
...
Fixes #1776
Fixes #1885
2017-12-27 20:44:59 +02:00
Jérémie Astori
238e894377
Improve the version checking part of the changelog feature
...
- There is no client caching of the changelog/version anymore. Instead, server returns the expiration date of its cache, and that is used by the client as well.
- There is now a "Check now" button on the client that appears when data is stale. This means that info is fetched only once and never refreshed (it was refreshed every hour before) unless the user explicitly wants to check latest version, which in turn is as stale as server info is, i.e. 15 minutes max.
- Button style is shared with the "Join a channel" feature, `.btn-small` (not `.btn-sm` to be explicit that this is not a Bootstrap thing).
- Version checker content is now centralized in the `version_checker` template, instead of being partially in the checker template, partially in the Help template, and partially in the code.
- A "Try again" button lets user attempt to fetch info instead of forcing them to reload the page.
- Use Flexbox to display a nicer version checker: icon is slightly bigger, and button is always aligned on the right.
- Changelog logic has been removed from `lounge.js` and moved into the component file.
- Changelog template is only passed what it needs instead of everything the server gives us.
- Public version now displays version checker, since server is caching things.
- Cleaner code overall.
2017-12-25 17:44:53 -05:00
Jérémie Astori
32a95c4d75
Merge pull request #1327 from thelounge/xpaw/view-changelog
...
Changelog viewer and updater checker in the client
2017-12-23 16:13:29 -05:00
Jérémie Astori
57c24704af
Cache changelog information on the server for 15 minutes
2017-12-23 13:37:33 -05:00
Pavel Djundik
6377e0de66
Fix #1883 : message gaps when reconnecting
2017-12-23 11:36:52 +02:00
Jérémie Astori
9691df67e3
Improve UI of the About section and changelog viewer
...
- Keep consistent width between the Help page and Changelog (which is already different from other windows 😠 )
- Add icons to the About links
- Make sure `li` elements (i.e. all the lists in changelogs) are consistent in size with rest of the client
- Display version and release notes link on the "About The Lounge" header line, smaller, pushed to the right
- Check new releases when opening the Help window in order to display it without having to open the release notes. Release notes are being fed to the Changelog page at that moment to avoid fetching twice.
- Re-check version/fetch release notes after 24h. Since The Lounge can now run 24/7, reconnect when losing the network, we have to assume an "always-on" usage.
- Change icon, animate background color when getting response from GitHub to avoid flashing.
- Combine click handlers with our wonderful window management. These were the same handler, even with similar checks (`target` exists, etc.), just in 2 different places. This is necessary for the next item.
- Combine "Open release notes" and "Go back to Help" button behaviors with window management handlers. The window management code is gross as ever, and is in desperate need of a refactor, but at least there is no duplicated code for the same behavior + history management. This fixes the "Next" history behavior (however reloading the app while viewing the notes does not load on the notes, but this is a bug for a different PR!).
- Added a rule in the history management thingy: if a link we want to add history handling to has an `id`, store that in the state
- Added a button to go back to the Help window
- Fixed links to releases
- Send user to the GitHub issues *list* instead of *new issue form* because if they do not have a GitHub account, they will be redirected to the login page, which is a rather unpleasant experience when you are already confused...
- Fixed a bug that would return data about a new release in `latest` even though it is already the `current`. It was showing the current version as "The Lounge v... is now available".
- Added https://user-images.githubusercontent.com to the CSP rule when prefetch storage is enabled, because that is where we have stored screenshots in the changelog so far. Meh (we can improve that later if we decide to have a dedicated place for screenshots).
- Fetch changelog info even in public mode because users in public mode can access the release notes. They do not see the result of the version checker however.
2017-12-22 22:46:11 -05:00
Pavel Djundik
df858a5aaf
Add changelog viewing and update checking
2017-12-22 16:26:12 -05:00
Pavel Djundik
dc8c10f461
Correctly fix from
field in messages
...
This should have been in #1859
2017-12-20 13:45:17 +02:00
Pavel Djundik
ce5d18c4fa
Fix possible issues with from
in messages
2017-12-19 13:45:33 +02:00
Pavel Djundik
c06fb9a275
Clear storage folder after successful start and graceful exit
2017-12-18 16:59:05 +02:00
Max Leiter
d4ad60c11d
Support video file previews
2017-12-13 17:52:07 -08:00
Pavel Djundik
ccd37aba8f
Merge pull request #1725 from keegan/master
...
Stop LDAP Auth from succeeding without password
2017-12-13 20:20:10 +02:00
Pavel Djundik
7dcab09516
Merge pull request #1806 from MaxLeiter/sound
...
Support audio file previews
2017-12-13 11:03:04 +02:00
Jérémie Astori
96d3e58734
Remove deprecated options for thelounge start
...
This was replaced with the `--config` option.
2017-12-13 01:33:25 -05:00
Max Leiter
ad1114ccfe
Support audio file previews
2017-12-12 11:29:13 -08:00
Jérémie Astori
9a8cde189d
Remove autoload deprecation notice
2017-12-12 02:58:17 -05:00
Jérémie Astori
deaf803467
Remove deprecated support for debug
as a boolean in the configuration file
2017-12-12 02:57:39 -05:00
Jérémie Astori
826482bb5b
Remove deprecated support for the --home
option and $LOUNGE_HOME
environment variable
2017-12-12 02:54:50 -05:00
Jérémie Astori
d89112173d
Fix command line index parsing options (--home
and --config
) twice
2017-12-11 23:53:51 -05:00
Jérémie Astori
6547d18e7f
Color all references to deprecations in bold red
2017-12-11 23:48:52 -05:00
Jérémie Astori
07a01b0547
Deprecate existing options of thelounge start
in favor or -c, --config
2017-12-11 23:48:52 -05:00
Jérémie Astori
df2787d3e9
Add a --config
/ -c
option to the start
CLI command to arbitrarily override any configuration key
...
The biggest caveat is that JS code (such as functions) will not be interpreted as such, on purpose, for security precautions. If such thing is needed, then a configuration file must be used.
2017-12-11 23:48:52 -05:00
Jérémie Astori
b90c224a99
Define a raw logger to avoid using console.log
, use it in extra help for environment variables, and add a test for this
...
This has multiple benefits:
- Respects the "Do not mock what you do not own" principle, instead we mock `log.raw` when necessary
- Lets us not re-assign `console.log`, which breaks as Mocha uses `console.log` as well
- Save and restore initial `log.raw` in test hooks (before/after), otherwise this would break Mocha/Chai
2017-12-11 23:48:51 -05:00
Erik Vosseberg
33d865501d
Add whois and conversation as action to user contextmenu
...
Add Op specific actions to contextMenu
Show context menu when left clicking user
Switch to using data attributes as selectors
remove ban as possible action
Move `isOpInChannel()` to utils.js
Capitalize strings
use CSS.escape for `ownNick`
use string interpolation
properly point to findCurrentNetworkChan
Move context menu item actions to command pattern
add icons for context menu actions
Make list in context menu always list.
remove empty lines in style.css
use info circle instead of question circle
change context menu labels.
change contextMenuActions.execute to more explicit method.
2017-12-11 23:04:29 -05:00
Jérémie Astori
c0869b05a3
Merge pull request #1807 from thelounge/astorije/users-commands
...
Do not load user commands or display them on `--help` if public mode or using LDAP
2017-12-10 14:24:55 -05:00
Jérémie Astori
206ded55ff
Warn if user configuration being loaded is empty
2017-12-10 01:03:00 -05:00
Jérémie Astori
c21aee3d4a
Do not load user commands or display them on --help
if public mode or using LDAP
2017-12-09 01:51:08 -05:00
Jérémie Astori
c038935b96
Move user commands to their own subfolder
2017-12-09 01:38:52 -05:00
Jérémie Astori
844ca1fbe6
Merge pull request #1811 from thelounge/astorije/improve-helper
...
Clean up path helpers, expand defaults location in `thelounge --help`, add tests for `expandHome`
2017-12-08 21:53:14 -05:00
Jérémie Astori
22237658cb
Add some unit tests for Helper.expandHome
2017-12-08 19:50:32 -05:00
Jérémie Astori
52d5cb2311
Expand home shorthand in CLI help around THELOUNGE_HOME
environment variable
2017-12-07 23:03:40 -05:00
Jérémie Astori
0482747781
Only use helpers and not shared variables around path helpers
...
This refactor has a few benefits, for example there cannot be a rogue update of `Helper.CONFIG_PATH` or something.
2017-12-07 23:02:32 -05:00
Pavel Djundik
fb0f68f8a5
Harden content security policy even further
2017-12-07 20:45:45 +02:00
Pavel Djundik
f9be519c2f
Merge pull request #1593 from RJacksonm1/reload-passwords-all-proper-like
...
Ensure passwords are reloaded when updated via CLI
2017-12-07 13:18:16 +02:00
Pavel Djundik
5e48e04623
Show notices and errors inline
2017-12-06 17:58:52 +02:00
Rob Jackson
15f7f2e371
Ensure passwords are reloaded when updated via CLI ( fixes #598 )
2017-12-05 18:52:08 -05:00
Pavel Djundik
2d0ddfb2e8
Merge pull request #1778 from thelounge/xpaw/lazy-init
...
Heavily improve performance of "init" event
2017-12-05 12:03:01 +02:00
Pavel Djundik
b5d39b96b9
Handle CHGHOST cap
2017-12-04 23:33:48 -05:00
Pavel Djundik
5fc70397a9
Make sure all joins send filtered clone
2017-12-03 16:31:37 +02:00
Pavel Djundik
552f3da67e
Implement manual network/channel cloning for better performance
2017-12-03 16:31:37 +02:00
Pavel Djundik
41e121d270
Only emit a single message per channel on init
2017-12-03 16:13:18 +02:00
Jérémie Astori
052248445c
Do not rename home file as it is very likely to have permission issues
...
On most systems (Linux at least), to install a npm package locally, one must use `sudo`. When The Lounge runs, it usually does not run with `sudo`. This causes the program to crash as user running The Lounge cannot create/delete files there.
We will let people manually convert this file instead of doing it for them. This file is mainly intended for package authors anyway, most users will never have to touch it.
2017-12-01 01:33:04 -05:00
Pavel Djundik
104e270882
Merge pull request #1771 from thelounge/astorije/fix-user-in-msg
...
Clone instances of `User` in `Msg` to avoid unintentional mutations
2017-11-30 11:29:23 +02:00
Pavel Djundik
be6975cb83
Merge pull request #1772 from thelounge/astorije/fix-nick-change
...
Fix nick changes wrongly reported
2017-11-30 11:26:26 +02:00
Jérémie Astori
4ec10b922a
Clone instances of User
in Msg
to avoid unintentional mutations
2017-11-30 00:41:19 -05:00
Jérémie Astori
e60bbd9548
Fix nick changes wrongly reported
2017-11-29 18:44:33 -05:00
Jérémie Astori
c0d348a678
Fix default value given to Msg.from
...
- `{}` is not falsey so Handlebars would try to render the block (see http://handlebarsjs.com/builtin_helpers.html#conditionals ), therefore with a `nick` of `undefined`, which breaks `colorClass` (doing `undefined.length)
- There does not seem to be a way to check for empty objects in Handlebars (sigh) so checking `from.nick` seems like the most reliable way to check for a non-empty value. Alternatively, we could use a helper to check `{}` but meh.
2017-11-29 18:37:17 -05:00
Jérémie Astori
7daf566025
Merge pull request #1758 from MaxLeiter/improve-regex
...
update nick regex for linking nicks in text
2017-11-27 18:30:37 -05:00
Max Leiter
f98deaba70
update nick regex for linking nicks in text
2017-11-27 13:58:10 -08:00
Jérémie Astori
b53f1719eb
Merge pull request #1749 from thelounge/astorije/avoid-escape-quotes
...
Avoid escaping quotes whenever possible
2017-11-27 12:57:55 -05:00
Jérémie Astori
39e99fcd29
Merge pull request #1753 from thelounge/xpaw/webp
...
Detect image/webp as an image
2017-11-27 12:55:27 -05:00
Max Leiter
3d31fa4686
Link nicks mentioned in messages
2017-11-27 09:10:56 -08:00
Pavel Djundik
4e45820235
Detect image/webp as an image
2017-11-27 15:50:35 +02:00
Pavel Djundik
ba002cca64
Merge pull request #1708 from thelounge/astorije/thelounge
...
Switch CLI tool from `lounge` to `thelounge`, deprecate `lounge`
2017-11-27 13:58:46 +02:00
Jérémie Astori
287c3a8223
Avoid escaping quotes whenever possible
...
Our `.eslintrc.yml` configuration file already allows for avoiding escape (see [ESLint doc for `avoidEscape`](https://eslint.org/docs/rules/quotes#avoidescape )) so we might as well use it. We already use this in a few places I believe.
2017-11-26 17:34:28 -05:00
Pavel Djundik
727021be68
Call callback on fetch error
2017-11-25 20:59:12 +02:00
Jérémie Astori
7fb92fee64
Merge pull request #1717 from thelounge/astorije/thelounge_home-env-var
...
Deprecate `LOUNGE_HOME` env var in favor of `THELOUNGE_HOME`, `.lounge_home` file in favor of `.thelounge_home`
2017-11-22 16:39:02 -05:00
Jérémie Astori
aca23257ed
Switch CLI tool from lounge
to thelounge
and deprecate lounge
...
This is in preparation of The Lounge v3 which will make `thelounge` uniform across the entire project. No more confusion!
2017-11-22 16:37:26 -05:00
keegan
f73132e226
Stop LDAP Auth from succeeding without password
2017-11-21 19:19:24 -05:00
Jérémie Astori
827f1dab96
Deprecate LOUNGE_HOME env var in favor of THELOUNGE_HOME, .lounge_home file in favor of .thelounge_home
...
This is one more step towards uniformization of lounge/thelounge due with The Lounge v3.
2017-11-21 00:36:26 -05:00
Erik Vosseberg
f40edc7dc2
Include all available whois info
2017-11-21 00:27:24 -05:00
Pavel Djundik
01f524b7c5
Don't send defaults if not displaying network
2017-11-19 19:46:04 +02:00
Pavel Djundik
adab03f730
Fix test
2017-11-19 19:43:43 +02:00
Pavel Djundik
e86a155ec2
Remove express-handlebars, read manifest.json to get theme-color
2017-11-19 19:43:43 +02:00
Pavel Djundik
c30f4aaaeb
Move help to view
2017-11-19 19:43:43 +02:00
Pavel Djundik
8d88779918
Fix options
2017-11-19 19:43:42 +02:00
Pavel Djundik
711b5e1d91
Make settings/options mostly work
...
Fixes #1672
2017-11-19 19:43:42 +02:00
Pavel Djundik
055bd5dca5
Merge pull request #1580 from thelounge/xpaw/mobile-active-notifications
...
Use service worker to display notifications if available
2017-11-19 18:40:45 +02:00
Pavel Djundik
57289396da
Not all topic callbacks include nick
2017-11-19 18:30:10 +02:00
Pavel Djundik
0402554563
Move cleanIrcMessage to a separate file
2017-11-19 18:19:52 +02:00
Pavel Djundik
0f75c1a138
Change users array to be a Map
2017-11-19 11:35:15 +02:00
Pavel Djundik
74dcc52657
Refactor how user object is sent to the client
2017-11-19 02:46:45 -05:00
Jérémie Astori
f2d9ef62cf
Merge pull request #1715 from thelounge/astorije/deprecate-node-v4
...
Deprecate support of Node v4 in preparation of The Lounge v3
2017-11-19 01:05:57 -05:00
Jérémie Astori
3af9a45087
Merge pull request #1676 from realies/patch-1
...
handle empty client queries
2017-11-19 00:42:10 -05:00
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