Raqbit
95cc9a47fb
Add file size to link preview
2019-11-07 16:58:28 +01:00
Pavel Djundik
5a94727d79
Bump minimum node version to v10
2019-09-04 22:50:25 +03:00
Alistair McKinlay
133e7bf710
Format js/vue with prettier
2019-07-19 11:27:40 +01:00
Pavel Djundik
54a4085b68
Store ip and language in a separate object in user file
2019-07-16 13:00:29 +03:00
Pavel Djundik
cdcd7df425
Remove bogus prefetch limit
2019-05-25 15:40:55 +03:00
Pavel Djundik
fe68f2a1ee
Replace request
with got
2019-05-13 10:30:43 +03:00
Pavel Djundik
595915fefd
Render link previews in Vue
2019-02-12 12:48:42 +02:00
Alexandre Oliveira
619b054b95
Add X-Purpose header to link prefetcher
2018-08-07 21:10:03 -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
a663993d0b
If a preview fails to load, remove the link from msg object
...
Fixes #2438
2018-06-03 12:25:01 +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
1ddc617b79
Fix lint issue
2018-03-24 22:53:02 +02:00
Pavel Djundik
ca96d09a23
Send Accept header
...
Closes #2277
2018-03-23 20:17:03 +02:00
Jérémie Astori
00bca229f0
Enforce object literal shorthand syntax with ESLint
2018-03-15 00:22:09 -04:00
Pavel Djundik
351a203acd
Fix some URLs not being sent as-is to the client
2018-03-13 22:08:19 +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
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
a3e448acf5
Enable no-var rule
...
Fixes #1961
2018-02-19 19:49:39 +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
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
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
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
Pavel Djundik
0402554563
Move cleanIrcMessage to a separate file
2017-11-19 18:19:52 +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
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
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
0ac3ba28e1
Web Push Notifications
2017-08-22 10:54:18 +03: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
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
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
Pavel Djundik
f35a2809a7
Store preview images on disk for privacy, security and caching
2017-07-18 11:37:16 +03: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