Commit Graph

3146 Commits

Author SHA1 Message Date
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
TheFrenchGhosty
64c6dfd307
Merge pull request #1538 from Sonic-Y3k/master
Fix invidious version for docker image
2020-12-05 22:13:13 +00:00
Sonic-Y3k
03d0b296e1
Fix invidious version for docker image
As Alpine-Linux per default uses the busybox date command, the -f option is not available and the build will fail.
2020-12-05 20:06:24 +01:00
TheFrenchGhosty
ca4408b343
Merge pull request #1519 from saltycrys/github-actions-ci
Switch to GitHub Actions for CI
2020-12-04 20:59:07 +00:00
TheFrenchGhosty
527f408f6a
Merge pull request #1529 from saltycrys/fix-version
Fix invidious version for old git versions
2020-12-04 03:06:47 +00:00
saltycrys
adccca366e Fix invidious version for old git versions
The `%cs` format was only added to git in version 2.25 while `%ci` has been
around forever.
2020-12-04 01:58:27 +01:00
TheFrenchGhosty
76cad41382
Merge pull request #1525 from saltycrys/fix-video-descriptions
Fix `extract_polymer_config`
2020-12-03 23:31:39 +00:00
TheFrenchGhosty
501db8f276
Merge pull request #1526 from saltycrys/fix-redirect-channels
Fix redirect channels
2020-12-03 22:46:53 +00:00
saltycrys
cc684ff0b1 Fix redirect channels
Redirect channels may use JS to redirect now, instead of only a response header
as it used to be. This fix reads the channel to redirect to from `ytInitialData`.
2020-12-03 21:02:52 +01:00
saltycrys
7823c07f1a Fix extract_polymer_config
The `ytInitialPlayerResponse` regex can now handle `var` and `window`
assignments.

The video streams can now be extracted from `player_response` and
`initial_data`.

This fixes the descriptions on videos and videos themselves. Videos are
technically broken right now, but work becasue of a fallback that goes through
embeds.
2020-12-03 18:10:41 +01:00
saltycrys
eb6d3d68a9
Run CI on api-only branch, too 2020-12-03 13:06:27 +01:00
TheFrenchGhosty
c98c7d47db Better message for the Stale action 2020-12-02 17:13:31 +01:00
TheFrenchGhosty
194694a59b Replace the Stale bot with a Github action because it has been reported as dead 2020-12-02 17:10:57 +01:00
TheFrenchGhosty
555cee3500
Merge pull request #1520 from matthewmcgarvey/extract-search-endpoints
Extracting search endpoints from global file
2020-12-02 15:12:48 +00:00
TheFrenchGhosty
f4bb854372 Update the Stale bot config with a 1 month delay between mark and close 2020-12-02 16:00:58 +01:00
TheFrenchGhosty
d04b8e2fc6 Add the Stale bot config 2020-12-02 15:53:26 +01:00
saltycrys
21c1450e4a
Run CI only once per change 2020-12-02 05:33:42 +01:00
saltycrys
2b6b0e62f4 Add shard caching to CI 2020-12-02 04:40:13 +01:00
saltycrys
4fb360b19f Track shard.lock 2020-12-02 04:39:55 +01:00
saltycrys
0fa1567793
Display lint fixes on lint error 2020-12-02 01:32:19 +01:00
Matthew McGarvey
d7377015a2 Extracting search endpoints 2020-12-01 18:02:39 -06:00
saltycrys
139017ba7c Switch to GitHub Actions for CI
Travis CI is slow, builds are first queued up forever and then the builds
themselves are slow, too.

GitHub Actions run pretty much immediately and are fast. Also separate jobs run
at the same time unlike on Travis CI.
2020-12-01 21:45:33 +01:00
TheFrenchGhosty
ff3b53e34a
Merge pull request #1513 from saltycrys/improve-error-message-2
Improve error message 2
2020-12-01 16:36:27 +00:00
saltycrys
b409cdece5 Improve error message 2
Electric Boogaloo

The long backtrace has been moved into a `<details>` HTML element, as suggested
by @B0pol. To make the error still visible it has been added to the top under
`Title:`. This also encourages informative issue titles.
2020-12-01 13:41:19 +01:00
saltycrys
2478e67d16 Switch to date based versioning scheme
Since no new tags are created for releases the version has been frozen for some
time, with only the commit hash changing.

Versions based on the latest commit date make it much easier to identify them.
2020-12-01 13:29:30 +01:00
TheFrenchGhosty
dd35877eda
Update the readme with links to the new documentation repository 2020-11-30 21:47:22 +00:00
TheFrenchGhosty
4acfd2c342
Merge pull request #1506 from tirz/fix-channel_parsing
fix: channel info parsing
2020-11-30 19:16:31 +00:00
Théo Gaillard
df3f9a2ae8
fix: channel info parsing 2020-11-30 19:35:45 +01:00
TheFrenchGhosty
78ae9ff093
Remove the donation link from the readme 2020-11-30 15:11:18 +00:00
TheFrenchGhosty
ca781651cb Fix formatting of #1504 2020-11-30 15:56:01 +01:00
TheFrenchGhosty
417fa3cf3c
Merge pull request #1504 from saltycrys/improve-error-message
Improve error message
2020-11-30 14:17:10 +00:00
saltycrys
92bb477f68 Improve error message
The error message has been reworded and the issue template now includes the
date, route, version and backtrace.
2020-11-30 13:02:35 +01:00
saltycrys
0f08cc5aa9 Remove backtrace on YouTube error
YouTube returning an error is not a bug in Invidious, so it should not print
a backtrace.
2020-11-30 12:57:25 +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
TheFrenchGhosty
fe73eccb90
Merge pull request #1479 from saltycrys/theme-flash
Apply dark theme immediately
2020-11-28 20:54:45 +00:00
Andre Borie
b9544d9534
Update logrotate configuration command (#1500)
Using sudo with `echo ... | tee /path/to/file` doesn't make sense, as the command requiring the superuser privileges is the `tee` command and not the echo.
2020-11-28 21:50:27 +01:00
TheFrenchGhosty
99ba9874b1
Merge pull request #1490 from tirz/fix-regex_parsing
fix: ytInitialData parsing with regex
2020-11-26 17:28:34 +00:00
Théo Gaillard
b41ca72d2b
revert: remove 'JSON.parse("' 2020-11-26 18:22:31 +01:00
Théo Gaillard
1ba17a0e14
feat: centralize ytInitialData parsing 2020-11-26 13:43:53 +01:00
Théo Gaillard
480d31eb5e
fix: ytInitialData parsing with regex 2020-11-26 07:22:47 +01:00
TheFrenchGhosty
1973f93d4a
Merge pull request #1482 from matthewmcgarvey/extract-playlist-routes
Extract playlist routes from global file
2020-11-20 21:48:34 +00:00
Émilien Devos
3a2f4d4def
allow to set a custom anti-captcha api url (#1473) 2020-11-20 22:21:26 +01:00
Matthew McGarvey
192d2b86b6 Extract playlist routes from global file 2020-11-19 19:21:48 -06:00
TheFrenchGhosty
6ca948ac3c
Merge pull request #1477 from saltycrys/empty-preference-values
Fill empty preference values
2020-11-19 21:45:00 +00:00
saltycrys
5f932e9749 Fix CSS specificity issues 2020-11-18 00:10:32 +01:00
saltycrys
ff46c18164 Move themes into default.css
Now that themes are controlled with a class instead of setting
media="none" on the stylesheet link and both themes already being
duplicated in default.css for the automatic themeing it makes sense
to have all theme related CSS in the same place.

This commit also fixes the missing dark theme on embeds.
2020-11-17 22:53:45 +01:00
saltycrys
de777907f2 Apply dark theme immediately
Themes are now controlled with a class on the body element.

If a preference is set the body element will have either "dark-theme"
or "light-theme" class. If no preference is set or the preference is
empty the class will be "no-theme".

"dark-theme" and "light-theme" are handled by darktheme.css and
lighttheme.css respectively.

"no-theme" is handled by default.css where depending on the value of
"prefers-color-scheme" the styles corresponding to "dark-theme" or
"light-theme" are applied.

Unfortunately this means that both themes are duplicated, once in the
theme .css and once in default.css.
2020-11-16 04:19:41 +01:00
saltycrys
72c4fd868a Fill empty preference values 2020-11-16 01:33:55 +01:00
Perflyst
4bc2cd003d
Merge pull request #1476 from unixfox/patch-1
Remove duplicate Referrer-Policy
2020-11-15 18:17:58 +01:00
Émilien Devos
c9c6c1f769
Remove duplicate Referrer-Policy 2020-11-15 10:02:45 +00:00