Commit Graph

1047 Commits

Author SHA1 Message Date
Pavel Djundik
221b7145f1
Fix incorrect use of fs.stat 2019-01-19 12:00:09 +02:00
Pavel Djundik
6937e6e772 Set yarn cache folder in the packages folder
Fixes thelounge/thelounge-docker#71
2019-01-16 12:51:52 +02:00
Pavel Djundik
e80b058550
Don't allow setting values to be objects 2019-01-16 10:59:52 +02:00
Pavel Djundik
95a0045a0d
Add an extra check for setting names 2019-01-16 10:52:09 +02:00
Pavel Djundik
6fb41b44d4
Merge pull request #2937 from thelounge/xpaw/empty-storage-later
Empty storage directory after destroying all channels
2019-01-15 13:51:35 +02:00
Pavel Djundik
13d21ce002
Merge pull request #2959 from thelounge/xpaw/relax-identd
Relax identd checks to make it more compatible
2019-01-15 13:32:39 +02:00
Pavel Djundik
2f777627b9
Merge pull request #2958 from thelounge/xpaw/ident-bind
Don't fallback to `host` in identd server
2019-01-15 13:32:13 +02:00
Pavel Djundik
d0f6c70df5 Add fallback ip address for unix sockets
Fixes #2966
2019-01-09 11:38:21 +02:00
Pavel Djundik
a9aac1648c
Relax identd checks to make it more compatible 2019-01-06 21:44:43 +02:00
Pavel Djundik
fedbb0b819
Don't fallback to host in identd server 2019-01-06 20:55:15 +02:00
Pavel Djundik
ab083f9eb6 Fix wav mime type in uploader 2018-12-19 17:20:47 +02:00
Pavel Djundik
ed10e14b47
Empty storage directory after destroying all channels 2018-12-18 13:08:18 +02:00
Pavel Djundik
7da036bf34 Add extra logging in ldap 2018-12-12 22:33:30 +02:00
Pavel Djundik
e97db8e244
Merge pull request #2895 from thelounge/xpaw/manifest
Rename `manifest.json` to `thelounge.webmanifest`
2018-11-21 11:48:17 +02:00
Pavel Djundik
e033010841 Rename manifest.json to thelounge.webmanifest
This makes express serve it with correct content-type of application/manifest+json

Refs:
- https://w3c.github.io/manifest/#media-type-registration
- https://webhint.io/docs/user-guide/hints/hint-manifest-file-extension/
2018-11-13 13:33:25 +02:00
Pavel Djundik
dd61e6e09a Use fileType.minimumBytes 2018-11-13 13:30:02 +02:00
Pavel Djundik
d5aa00b753 Fix timing issue crashing on undefined when setting openChannel 2018-10-21 11:05:05 +03:00
Pavel Djundik
8d5d9617ae Hard limit nicks to 100 characters, add maxlength on connect inputs 2018-10-20 14:10:26 +03:00
Pavel Djundik
1d8a0e639f Encode uploaded file slugs 2018-10-14 00:23:41 +03:00
Pavel Djundik
de028e5dd8 Force express server to run in production mode 2018-10-14 00:23:32 +03:00
Pavel Djundik
010ddab78e
Merge pull request #2849 from thelounge/xpaw/webirc-ownprop
Use hasOwnProperty when checking for webirc
2018-10-13 13:11:57 +03:00
Pavel Djundik
9686c0383e Use hasOwnProperty when checking for webirc 2018-10-13 12:54:46 +03:00
Pavel Djundik
338b1d2642 Make sure registered command is actually a function 2018-10-13 12:42:51 +03:00
Pavel Djundik
8b4b8fbe9e Fix stored image previews not being dereferenced
Broken in 64ebe0f437
2018-10-03 15:44:24 +03:00
Pavel Djundik
88ce0cee99 Use Date.toISOString for logging 2018-09-23 21:57:40 +03:00
Pavel Djundik
2162f4a55a Fix issues in regards to ignoring your own nickname 2018-09-22 13:27:03 +03:00
Pavel Djundik
b538360c5e Limit network name length and replace spaces in log folders 2018-09-09 13:09:30 +03:00
Pavel Djundik
bec241e7fa Move correct file after upload, put file extension in slug 2018-09-05 10:08:46 +03:00
Pavel Djundik
8fa8526698 Only emit upload url to the client that uploaded the file
Fixes #2747
2018-09-04 12:08:30 +03:00
Pavel Djundik
ce212e001c Add file uploading support
Co-Authored-By: Max Leiter <hello@maxleiter.com>
Co-Authored-By: Jérémie Astori <astorije@users.noreply.github.com>
2018-09-03 10:30:05 +03:00
Pavel Djundik
f2ee299004 Fix passwords not being saved in Firefox
Fixes #1740
2018-09-02 20:34:47 +03:00
Pavel Djundik
0519c8a857 Enforce lobby to be the first 0th channel when sorting 2018-08-30 20:16:26 +03:00
Pavel Djundik
7830bfb096 Drop spdy module in favor of native https module 2018-08-29 15:35:06 +03:00
Pavel Djundik
295fe2bd09 Make sure data is an object 2018-08-29 13:55:30 +03:00
Jérémie Astori
0569ee2269
Merge pull request #2721 from thelounge/xpaw/fix-query-away-spam
Fix displaying away message multiple times in query windows
2018-08-26 21:06:36 -04:00
Pavel Djundik
f8bb8f9d6f Fix displaying away message multiple times in query windows 2018-08-26 23:14:09 +03:00
Pavel Djundik
9bcec3bea5 Remember disconnected networks between server restarts 2018-08-25 12:11:59 +03:00
Jérémie Astori
039d1220cb
Pass network name along to the client connect window when network is locked and not displayed 2018-08-11 18:10:13 -04:00
Alexandre Oliveira
619b054b95 Add X-Purpose header to link prefetcher 2018-08-07 21:10:03 -03:00
Jérémie Astori
7b926f7c32
Merge pull request #2515 from thelounge/xpaw/transparent-sw-cache
Network-first service worker caches
2018-07-25 00:57:20 -04:00
Pavel Djundik
e8c02d5ad2
Merge pull request #2669 from MaxLeiter/humandate-refactor
refactor getHumanDate() to accept a timestamp; avoids possible test failure; more accurate log times
2018-07-22 11:39:11 +03:00
Max Leiter
9bee3eca5a refactor getHumanDate() to accept a timestamp; fixes test 2018-07-22 00:27:49 -07:00
Pavel Djundik
265876786c Don't put .log in text log folder name 2018-07-22 00:39:22 +03:00
Pavel Djundik
e8b3836050 Fix ignore list resetting on server restart 2018-07-11 10:57:02 +03:00
Pavel Djundik
9bb8d4f385 Do not write /list messages to logs 2018-07-10 12:44:23 +03:00
Pavel Djundik
95e6fb3a49
Merge pull request #2609 from RockyTV/rockytv
Stop handling CTCP messages if the sender/target is ignored
2018-07-07 11:09:35 +03:00
Pavel Djundik
28df906957 Implement caching for static resources 2018-07-06 15:38:57 +03:00
Pavel Djundik
184f6bae09
Merge pull request #2570 from thelounge/xpaw/uid
Warn if config owner doesn't match process uid
2018-07-04 11:53:58 +03:00
Alexandre Oliveira
671dad4ed6 Stop handling CTCP messages if the sender/target is ignored 2018-07-01 15:48:37 -03:00
Jérémie Astori
10642b8f5a
Merge pull request #2576 from thelounge/xpaw/query-away-notify
Also send away notices to query windows
2018-06-21 21:01:58 -04:00
Pavel Djundik
5091939aa4 Add support for WHOWAS
Fixes #2050

Co-Authored-By: jay2k1 <jay2k1@users.noreply.github.com>
2018-06-20 21:03:00 +03:00
Pavel Djundik
62e2cbe66b Also send away notices to query windows 2018-06-20 19:45:27 +03:00
Pavel Djundik
b8d60ddaa6 Correctly handle away and back events
Also support for self messages

Co-Authored-By: jay2k1 <jay2k1@users.noreply.github.com>
2018-06-20 19:32:19 +03:00
Pavel Djundik
a9413dc277 Update for changes in irc-framework 2018-06-20 18:30:32 +03:00
Pavel Djundik
d9abe9224e Warn if config owner doesn't match process uid 2018-06-19 17:18:06 +03:00
Pavel Djundik
08682d2448 Fix circular dependency in Helper+log
Fixes #2568
2018-06-19 10:09:38 +03:00
Pavel Djundik
472d618033 Remove log from global 2018-06-15 23:31:06 +03:00
Jay2k1
254e39df18
remove unnecessary comment 2018-06-15 13:42:47 +02:00
Jay2k1
e11f97a2bb Improve formatting of text logs 2018-06-13 22:45:18 +02:00
Pavel Djundik
5dced897d8
Log notices as correct sender when it will be shown in active window 2018-06-12 19:09:55 -04:00
Jérémie Astori
a267add7a4
Merge pull request #2547 from thelounge/xpaw/hl-sync
Synchronise number of highlighted messages to client
2018-06-11 23:47:24 -04:00
Jérémie Astori
32ccfd50af
Merge pull request #2543 from thelounge/xpaw/link-title
Fix multiple <title> tags being concatenated
2018-06-11 09:15:37 -04:00
Pavel Djundik
7a3008aec6 Synchronize number of highlighted messages to client
Also fixes #1791
2018-06-11 14:29:57 +03:00
Pavel Djundik
ea00587c00 Fix sqlite history not loading when maxHistory is -1
Fixes #2545
2018-06-11 14:08:05 +03:00
Pavel Djundik
0d48c596c8 Fix multiple <title> tags being concatenated 2018-06-11 11:32:32 +03:00
Pavel Djundik
4e2523060b De-duplicate link fetching to one request at once 2018-06-11 10:38:03 +03:00
Pavel Djundik
730c266ea8
Fix "/away " not setting you away 2018-06-07 19:23:51 +03:00
Pavel Djundik
c0d712c53d Remove ability to change date format and timezone 2018-06-05 12:03:06 +03:00
Pavel Djundik
cd55e7bb2a
Merge pull request #2510 from Jay2k1/ctcp-unread-counter
Make CTCP requests/responses increase unread counter
2018-06-04 10:51:53 +03:00
Jay2k1
5d748a59cc
Make CTCP requests/responses increase unread counter 2018-06-04 00:47:30 +02:00
Pavel Djundik
4d94ab4218 Do not write ignorelist to logs 2018-06-03 22:20:09 +03:00
Pavel Djundik
b0f32dc29b Do not write topic on join to logs 2018-06-03 22:14:02 +03:00
Pavel Djundik
cd1763cbf8
Merge pull request #2504 from thelounge/xpaw/fix-2438
If a preview fails to load, remove the link from msg object
2018-06-03 20:39:14 +03:00
Jérémie Astori
b336e4f202
Merge pull request #2505 from thelounge/xpaw/fix-2324
Don't mark your nick changes as self in each channel
2018-06-03 13:37:38 -04:00
Pavel Djundik
a663993d0b If a preview fails to load, remove the link from msg object
Fixes #2438
2018-06-03 12:25:01 +03:00
Alexandre Oliveira
468427bfdb Add support for /ignore, /unignore and /ignorelist commands 2018-05-28 16:46:12 -03:00
Pavel Djundik
0de90daa64
Merge pull request #2366 from thelounge/xpaw/refactor-userlog
Refactor userLog to be the same as sqlite logger
2018-05-26 23:53:17 +03:00
Pavel Djundik
5cfec76d3a Refactor userLog to be the same as sqlite logger
Fixes #1392
2018-05-23 16:56:18 +03:00
Pavel Djundik
d4fa6bbcb0 Use WHATWG URL parser in link prefetcher 2018-05-23 16:31:02 +03:00
Pavel Djundik
629ae8bfa4 Fix protocol-aware urls, add better link validation in previews 2018-05-23 16:31:02 +03:00
Pavel Djundik
8442472f37 Specify parseInt base 2018-05-15 16:04:05 +03:00
Pavel Djundik
9d5f213289 Don't mark your nick changes as self in each channel 2018-05-15 10:00:16 +03:00
Pavel Djundik
d22f0344ea
Merge pull request #2391 from thelounge/xpaw/no-sqlite-crash
Gracefully fail if sqlite3 module fails to load
2018-05-13 17:04:22 +03:00
Pavel Djundik
426893077f Add prefix to channels from connect window
Fixes #2327
2018-05-02 13:08:00 +03:00
Pavel Djundik
886301e765
Merge pull request #2396 from thelounge/xpaw/fix-2341
Use per-client channel and message ids
2018-05-01 13:26:38 +03:00
Jérémie Astori
16236ec0bf
Merge pull request #2380 from jake-walker/master
Add `upgrade` CLI command for themes and packages
2018-04-29 14:53:03 -04:00
Jake Walker
cd81a2bcec Added upgrade command
Using suggested changes


Changes suggested by astorije


Upgrade parameter removed and allow multiple packages to upgrade


Fixed


Minor fix
2018-04-29 08:47:39 +01:00
Pavel Djundik
bf8a16b7fe Use per-client channel and message ids
Fixes #2341
2018-04-27 13:16:23 +03:00
Pavel Djundik
e136edb6ac Remove network ids and use uuids everywhere 2018-04-26 12:37:28 +03:00
Pavel Djundik
0ad9def514 Gracefully fail if sqlite3 module fails to load 2018-04-26 12:11:38 +03:00
Pavel Djundik
f7d34739b5 Make a separate function to execute yarn commands; fallback to global yarn
Fixes #2301
Fixes #2348
2018-04-24 21:38:54 +03:00
Jérémie Astori
2006902b8a
Check if working directory is a git repo itself before getting commit hash 2018-04-16 16:16:52 +02:00
Jérémie Astori
3cf4e2105e
Ignore stderr of git version check instead of redirecting it to /dev/null 2018-04-16 15:50:24 +02:00
Jérémie Astori
34f4d0abf4
Add project version in outputs that mention source SHA 2018-04-16 00:19:25 +02:00
Pavel Djundik
2bea5f67b9 Use default nick set in config for fallback 2018-04-12 10:39:03 +03:00
Pavel Djundik
f86d73972d Implement network editing UI and object updating 2018-04-12 10:38:35 +03:00
Pavel Djundik
682d3070e9 Move IRC object and validation to network model 2018-04-12 10:37:45 +03:00
Jérémie Astori
b08b23d59e
Merge pull request #2328 from thelounge/astorije/local-themes
Local themes
2018-04-12 00:23:11 -04:00
Pavel Djundik
99386510d8 Replace client ids with guids 2018-04-10 16:15:44 +03:00
dgw
da23d42692 Prevent "undefined" OS version in session list 2018-04-08 05:44:55 -05:00
Jérémie Astori
d6e6dab565 Fix a forgotten npm reference 2018-04-06 12:52:53 +03:00
Jérémie Astori
62fb5524ae
Switch client to default theme when it is using a theme that has been removed 2018-04-02 23:51:59 -04:00
Jérémie Astori
4e5c924e5c
Add CLI messages to help users transition their themes 2018-04-02 23:51:58 -04:00
Ben Harris
56004ec338 catch stderr from yarn subprocess, addresses #2301 2018-03-28 12:27:51 -04:00
Jérémie Astori
5738642d44
Fix/Improve some nick fallbacks
- Rename a forgotten `lounge-user`
- Generate nick fallbacks when already in use by appending 0-9 instead of 10-98 (?!).
- Generate nick fallbacks when invalid similarly to our config default instead of random string. This is to make it less confusing when fallback gets used.
2018-03-26 03:00:46 -04:00
Pavel Djundik
1ddc617b79 Fix lint issue 2018-03-24 22:53:02 +02:00
Pavel Djundik
80c6e48b98
Merge pull request #2287 from thelounge/xpaw/accept
Send `Accept` header when fetching links
2018-03-24 16:58:00 +02:00
Pavel Djundik
ca96d09a23 Send Accept header
Closes #2277
2018-03-23 20:17:03 +02:00
Pavel Djundik
f82edcd7e7 quote-props: consistent-as-needed 2018-03-23 16:15:59 +02:00
Pavel Djundik
95047ba695
Fix order in oidentd file
oident'd parser expects exact order and the man page is written incorrectly.
2018-03-22 13:44:43 +02:00
Jérémie Astori
c86ea9463d
Use Sinon to stub the logger instead of manual stubbing 2018-03-20 01:54:04 -04:00
Pavel Djundik
ed4b6e85ac Print failed login attempts to console 2018-03-17 10:09:59 +02:00
Pavel Djundik
df04d697b1 Send hexip in ident responses 2018-03-15 15:30:37 +02:00
Jérémie Astori
00bca229f0
Enforce object literal shorthand syntax with ESLint 2018-03-15 00:22:09 -04:00
Pavel Djundik
0af3f10997
Do not try to write anything to sqlite after its closed 2018-03-14 08:45:52 +02:00
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