Commit graph

128 commits

Author SHA1 Message Date
Reto d4cc2dd361
Refactor config out of Helper (#4558)
* Remove config from Helper

Helper is the usual util grab bag of useful stuff.
Somehow the config ended up there historically but
structurally that doesn't make any sense.

* Add cert folder to prettier ignore file
2022-05-01 12:12:39 -07:00
Emily Strickland 3a84290314
Apply fixes suggested by Prettier to fix CI 2022-04-09 19:40:38 +00:00
Emily Strickland ff886846a8
Warn about unset prefetchTimeout, default to 5000 ms 2022-04-09 00:19:08 +00:00
Emily Strickland 3796485217
Configure link fetch to use prefetchTimeout
This change modifies the `fetch` function in `link.js` to use the new `prefetchTimeout` config setting introduced in the previous commit. This allows configuring the length of the timeout.

I've added a comment here to indicate milliseconds are the unit in use, since otherwise that would no longer be obvious from the code without looking at the default value (which could change).
2022-04-08 22:49:20 +00:00
xnaas 9dfb2a3fdb
Upload m4a as audio/mp4; embed audio/mp4, x-flac, and x-m4a (#4470)
* 'audio/x-m4a' should be 'audio/mp4'
* add handling for x-flac and x-m4a
2022-02-11 17:42:59 -08:00
sfan5 5f7ec9e8da
Don't download image contents during prefetch if not needed (#4363) 2021-11-22 16:59:33 -08:00
Max Leiter 58217cffb1
Merge pull request #4219 from TheDecryptor/jpegxl_support
Add support for JPEG XL image previews
2021-05-25 21:36:37 -07:00
Alex Jones dbf6ff064b Add support for JPEG XL mimetype 2021-05-08 18:10:45 +10:00
Nachtalb 0bfcd955e3
Improve inline audio file support
Tested on latest Chromium / Firefox. In case of .m4a files they want audio/x-m4a and not audio/m4a, in case of .flac files they want audio/flac and not audio/x-flac. The module we useed to detect the types however detects them only as audio/x-m4a and audio/x-flac as they are not offical IANA supported mime types (not in IANA spec == "x-" prefix): https://www.iana.org/assignments/media-types/media-types.xhtml Though flac is not in the IANA spec many programs such as the file command (https://man7.org/linux/man-pages/man1/file.1.html) and Chromium (flac) / Firefox (x-flac and flac) support audio/flac only or both.
2021-05-06 02:02:23 +02:00
Reto Brunner 7c17662fea Add prefetchMaxSearchSize to override limit for link previews
YouTube puts the opengraph tags needed for the preview after ~300KB in the body
instead of the beginning of the <head> tag.
Instead of hardcoding the value, allow the server admin to set the policy as
they prefer.
2021-02-27 00:10:53 +01:00
Pavel Djundik ac842108f3
Merge pull request #4047 from thelounge/xpaw/avif
Detect `image/avif` as an image
2020-08-24 11:54:14 +03:00
Pavel Djundik c89dcca449 Detect image/avif as an image 2020-08-23 12:51:52 +03:00
Pavel Djundik 1e38262d69 Add missing return 2020-08-21 10:18:41 +03:00
Pavel Djundik 9e13694b21 Skip video/audio embeds if og:type exists but does not specify it 2020-08-21 10:16:54 +03:00
Jay2k1 b97b145df1 add highlight exceptions 2020-08-19 00:00:56 +02:00
Pavel Djundik 8c6460b58a Disable link prefetching for urls with no schema specified 2020-08-04 20:21:12 +03:00
Dexter Chua 2f434be75d Add option to disable media preview.
This disables image previews iff prefetchStorage is disabled. This
stops the client from making any requests to third-party sites.
2020-07-21 08:52:02 +08:00
Pavel Djundik d29f2fb251 Got: "options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized" 2020-06-14 12:32:08 +03:00
Pavel Djundik 881b3eda19 Run format after updating to prettier 2.0 2020-03-21 22:55:36 +02:00
Pavel Djundik 63fd0def6c Improve wav audio file support 2020-02-26 10:07:40 +02:00
Pavel Djundik d2932ccea8 Correctly track user toggle of previews 2019-12-23 12:26:57 +02:00
Pavel Djundik 769585e72d Collapse prefetch errors by default 2019-12-23 12:15:23 +02:00
Pavel Djundik 7a350ac69a
Merge pull request #3602 from thelounge/xpaw/ua
Pretend to be facebook and twitter bots in link prefetcher
2019-12-19 15:25:39 +02:00
Pavel Djundik 72a954b865 Add preview for text/plain urls 2019-12-19 15:12:02 +02:00
Pavel Djundik c108c20c91 Pretend to be facebook and twitter bots 2019-12-17 22:35:15 +02:00
Pavel Djundik 0486f43f9f
Merge pull request #3557 from thelounge/xpaw/premature-close
Fix "premature close" on link previews
2019-12-14 22:45:49 +02:00
Pavel Djundik bbf92f1aa0 Assign preview.thumb only after it is processed 2019-12-13 11:43:13 +02:00
Pavel Djundik e9cbea9569 Update link prefetch stream handling
Fixes #3564
2019-12-09 21:05:33 +02:00
Pavel Djundik fc1c9568e2 Rename helpers folder, move some vue filters 2019-11-25 20:12:58 +02:00
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