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
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
941849eaa8
Add message indexing
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
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
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
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
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
William Boman
acb6179b30
relay client's preferred language in link preview requests
...
Closes #1440 .
2018-02-21 10:35:33 +01:00
Pavel Djundik
37c61e2413
Report server errors when preview fetch fails
2018-02-20 11:33:42 +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
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
Pavel Djundik
a3e448acf5
Enable no-var rule
...
Fixes #1961
2018-02-19 19:49:39 +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
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
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
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
d1e5a8f492
Render MOTD with a single message
2018-02-14 11:00:46 +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
Alexandre Oliveira
c53015c1af
Show channel name on channel-related errors
...
Fixes #1207
2018-02-12 15:22:31 -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
6675ced196
Store images with correct file extension
2018-01-03 13:33:52 +02: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
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
Max Leiter
d4ad60c11d
Support video file previews
2017-12-13 17:52:07 -08:00
Max Leiter
ad1114ccfe
Support audio file previews
2017-12-12 11:29:13 -08:00
Pavel Djundik
5e48e04623
Show notices and errors inline
2017-12-06 17:58:52 +02: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
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
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
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
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
Erik Vosseberg
f40edc7dc2
Include all available whois info
2017-11-21 00:27:24 -05: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
1dc92d8934
Enforce dangling commas with ESLint
...
¯\_(ツ)_/¯
2017-11-15 01:35:15 -05:00
Pavel Djundik
feb7d9d4bb
Fix #1692 when kicker is server
2017-11-08 23:10:17 +02: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
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
6cfe60e4d9
Group push notifications per target
2017-09-19 12:01:50 +03: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
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
Pavel Djundik
0ac3ba28e1
Web Push Notifications
2017-08-22 10:54:18 +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
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
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
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
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
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
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
f6dd616d5e
Update to eslint 4 and enforce extra rules
2017-06-19 09:58:29 +03:00