Commit Graph

86 Commits

Author SHA1 Message Date
bopol
1e33c0c288 Fix comment replies count 2021-02-21 00:09:04 +01:00
saltycrys
5f03a583d1 Update code for Crystal 0.36.0
Rename `HTTPClient@socket` to `HTTPClient@io`, see
https://github.com/crystal-lang/crystal/pull/9543.

Rename `URI#full_path` to `URI#request_target`, see
https://github.com/crystal-lang/crystal/pull/10099.
2021-02-02 20:01:02 +01:00
HackerNCoder
606dd11b4f
Remove admin_email. Use repos url for captcha ID and reddit header. Add note about not updating changelog 2021-01-07 21:09:24 +01:00
Andrew Zhao
e0d25ff887 Close http clients after using
The crystal http client maintains a keepalive connection to the other
server which stays alive for some time. This should be closed if the
client instance is not used again to avoid hogging resources
2020-12-27 19:40:58 -05:00
saltycrys
2de206cb81 Fix comments
The YouTube headers are now always added for requests to YouTube.
Previously they were only added for requests going through QUIC.

The session token is now JSON decoded to unescape escaped Unicode characters.

The comment continuation protobuf has been updated and the request now goes
through the YouTube `pbj` JSON API.
2020-12-06 04:11:41 +01:00
saltycrys
3dac33ffba
Add backtraces to errors (#1498)
Error handling has been reworked to always go through the new `error_template`,
`error_json` and `error_atom` macros.
They all accept a status code followed by a string message or an exception
object. `error_json` accepts a hash with additional fields as third argument.

If the second argument is an exception a backtrace will be printed, if it is a
string only the string is printed. Since up till now only the exception message
was printed a new `InfoException` class was added for situations where no
backtrace is intended but a string cannot be used.

`error_template` with a string message automatically localizes the message.
Missing error translations have been collected in https://github.com/iv-org/invidious/issues/1497
`error_json` with a string message does not localize the message. This is the
same as previous behavior. If translations are desired for `error_json` they
can be added easily but those error messages have not been collected yet.

Uncaught exceptions previously only printed a generic message ("Looks like
you've found a bug in Invidious. [...]"). They still print that message
but now also include a backtrace.
2020-11-30 10:59:21 +01:00
Omar Roth
452d1e8307
Fix warnings with latest version of Crystal 2020-07-26 10:59:31 -04:00
Omar Roth
1eca969cf6
Add support for polymer redesign 2020-06-15 18:18:04 -05:00
Omar Roth
ca1185d0be
Fix warnings in latest version of Crystal 2020-04-09 12:18:09 -05:00
leonklingele
70cbe91776
Migrate to a good Content Security Policy (#1023)
So attacks such as XSS (see [0]) will no longer be of an issue.

[0]: https://github.com/omarroth/invidious/issues/1022
2020-03-15 16:46:08 -05:00
Omar Roth
fea6b67067
Remove 'type' attribute from community embed 2020-02-20 18:30:46 -05:00
Omar Roth
9841f74adc
Add handling for comments with no content 2020-02-01 12:14:37 -05:00
Omar Roth
b56e493d92
Remove frameborder from community embeds 2020-02-01 11:23:12 -05:00
Omar Roth
2ebfaf76f2
Refactor continuation token handling 2019-10-27 13:50:42 -04:00
Omar Roth
6930570fa2
Add HTTPClient pool 2019-10-25 12:58:16 -04:00
leonklingele
1aefc5b540 Update to Crystal 0.31.0, resolve compiler deprecation warnings, update dependencies (#764)
* shard: update to crystal 0.31.0

Additionally, no longer use the Crystal "markdown" library which has
been removed from the Crystal stdlib in version 0.31.0.
See https://github.com/crystal-lang/crystal/pull/8115.

Also fix some deprecation warnings using the following commands:

    find . \( -type d -name .git -prune \) -o -type f -exec sed -i 's/URI\.escape/URI\.encode_www_form/g' "{}" \;
    find . \( -type d -name .git -prune \) -o -type f -exec sed -i 's/URI\.unescape/URI\.decode_www_form/g' "{}" \;
    sed -i 's/while \%pull\.kind \!\= \:end_object/until \%pull\.kind\.end_object\?/g' src/invidious/helpers/patch_mapping.cr
2019-09-24 13:31:33 -04:00
Omar Roth
7b53b6bfef
Shrink continuation cursor for YouTube comments 2019-09-04 15:47:27 -04:00
Omar Roth
f18d8229c0
Refactor continuation protocol buffers 2019-07-20 20:18:08 -05:00
Omar Roth
290c7e6009
Disable autoplay in community tabs 2019-07-14 10:13:40 -05:00
Omar Roth
bcd239ac2b
Add community page 2019-07-09 09:31:04 -05:00
Omar Roth
196ee1aa8b
Add '/api/v1/channels/comments' 2019-07-02 18:53:19 -05:00
Omar Roth
6efa6691b1
Clean up comment templating 2019-07-01 13:38:30 -05:00
Omar Roth
c47f1ae236
Add Reddit comment permalink 2019-07-01 12:37:28 -05:00
Omar Roth
aac240fe41
Resize comment thumbnails 2019-07-01 12:08:29 -05:00
Omar Roth
e30d70b6d4
Refactor proxy_list into global 2019-06-28 21:17:56 -05:00
Omar Roth
ca79e81b39
Fix simpleText in comments extractor 2019-06-21 21:53:28 -05:00
Omar Roth
a9e86cecf5
Fix comment extractor 2019-06-21 20:25:31 -05:00
Omar Roth
38600b3347
Update list of domains for pulling Reddit comments 2019-06-15 18:58:21 -05:00
Omar Roth
b43e9ed7e7
Refactor 'description_html' 2019-06-08 15:08:27 -05:00
Omar Roth
8c944815bc
Minor refactor 2019-06-07 21:13:50 -05:00
Omar Roth
1a9360ca75
Minor formatting changes 2019-05-01 20:03:39 -05:00
Allan Nordhøy
aa10a9d899 Language fixes (#366)
* Language fixes
2019-04-19 11:14:11 -05:00
Omar Roth
80c1ebd768 Support 'sort_by' in reddit /api/v1/comments 2019-04-14 18:08:00 -05:00
Omar Roth
611555514c Remove unnecessary XML declaration 2019-04-11 11:53:07 -05:00
Omar Roth
5ef288b840 Add 'sort_by' to /api/v1/comments 2019-04-03 18:42:12 -05:00
Omar Roth
1b78001201 Use struct for allocations 2019-03-29 16:30:02 -05:00
Omar Roth
7a0f0ca5ce Fix thin mode 2019-03-27 11:31:05 -05:00
Omar Roth
0c6cede287 Format files and trim trailing whitespace 2019-03-23 14:05:13 -05:00
Omar Roth
057e69fe70 Update User-Agent and statistics schema 2019-03-01 19:39:10 -06:00
Omar Roth
2847c34f58 Bump version 2019-02-25 12:16:13 -06:00
Omar Roth
83493237a5 Add support for translating time intervals 2019-02-20 08:49:54 -06:00
Agustin Ferrari
b04a2d4f61 Just a couple of adjustments (#350)
* Added icons tooltips in local/en-US.json, corrected link tooltip to switch to video mode and changed heart symbol by icon in comments
2019-02-16 17:46:04 -06:00
Omar Roth
d625d0ffbd Use get_video for pulling comment token 2019-02-06 17:55:22 -06:00
Omar Roth
1dcfa90c8e Update version and bump changelog 2019-02-06 17:50:04 -06:00
Omar Roth
c1ed660ca0 Proxy creator thumbnail for heart container 2019-02-03 08:45:34 -06:00
Agustin Ferrari
b0ba670c91 Comments now show if they were edited and if they received a heart from the uploader (plus additional classes in default.css). The isEdited attribute was also added in the comments API and new strings in en-US.json 2019-02-01 09:09:10 -03:00
Agustin Ferrari
e9ea365f2f Add additional parameters in the API comments, highlight the user name in the uploader comments and I finished permalink of the comments. 2019-01-31 08:21:26 -03:00
Agustin Ferrari
55118a6768 Change color to the links and add a couple of improvements in the comments 2019-01-30 09:28:28 -03:00
Omar Roth
95bde7bb8a Add handling for empty continuation 2019-01-20 10:03:36 -06:00
Omar Roth
daa2329f8b Add fix for pulling comments from age-gated videos 2019-01-20 10:03:36 -06:00