Commit Graph

439 Commits

Author SHA1 Message Date
ChunkyProgrammer
c27bb90e4d Add support for new comment format 2024-04-10 18:21:53 -04:00
Brahim Hadriche
a9e8aabe1f Merge commit '08390acd0c17875fddb84cabba54197a5b5740e4' into fix/popular-disabled-error 2024-04-01 10:03:37 -04:00
Brahim Hadriche
b0c6bdf44c use 403 code 2024-04-01 10:03:29 -04:00
Brahim Hadriche
c5eb10b21f Revert "Fix error code for disabled popular endpoint"
This reverts commit 1363fb8094.
2024-04-01 10:02:49 -04:00
src-tinkerer
72fe8af850 Merge branch 'master' into stream-sort 2024-03-26 12:19:45 +00:00
ChunkyProgrammer
0aaa3e6a08 API: Parse channel's tags 2024-03-11 13:31:14 -04:00
nooptek
499aed37dd Fix handling of modified source code URL setting 2024-03-10 17:51:29 +01:00
Tomasz Wilczyński
4adb4c00d2 routes: Allow embedding videos in local HTML files (fixes #4448)
The current Content Security Policy does not allow to embed videos
inside local HTML files which are viewed in the browser via the file
protocol. This commit adds the file protocol to the allowed frame
ancestors, so that the embedded videos load correctly in local HTML
files.

This behaviour is consistent which how the official YouTube website
allows to embed videos from itself.

Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
2024-02-24 20:01:16 +01:00
Samantaz Fox
dcbe52c9fb Videos: Use start time and end time for clips (#4264)
This PR parses the start and end time for clips.

It also adds a new, dedicated API endpoint (`/api/v1/clips/{id}`) for
retrieving the start and end time of a clip.

Here is a sample response from that new endpoint (`video` is a video object,
as described in https://docs.invidious.io/api/common_types/#videoobject):

GET `/api/v1/clips/UgkxxPM3BRphCAPLP88YoUGuj79KXPfpNNO_?pretty=1`

Response:
```
{
  "startTime": 8842.645,
  "endTime": 8855.856,
  "clipTitle": "✂️ Kirby is pink!",
  "video": {}
}
```

Closes issue 3921
2024-02-12 22:10:16 +01:00
Samantaz Fox
bd5df3af5f API: Unescape search suggestions (#4218)
Previously, the suggestion were HTML encoded. This PR fixes that.
2024-02-12 22:03:33 +01:00
Samantaz Fox
9bd2072e1d API: Add playlist and start time to resolve_url
This adds `playlistId` and `startTimeSeconds` to /api/v1/resolveurl if these
informations were returned by Youtube's endpoint.
2024-02-12 22:01:08 +01:00
absidue
72bcd3cc72 Handle non-200 status codes for YouTube DASH manifests 2024-02-12 18:55:15 +01:00
shironeko
98c421e9f5 Fix when video from pubsub is a scheduled event 2024-02-08 18:58:23 -05:00
shironeko
c864a63b6d Fix pubsub feed parsing
similar to what's done in #3793, this is causing an assert on my instance
2024-02-08 17:05:11 -05:00
syeopite
1c0b4205d4 Add parameter to disable force_resolve in make_client (#4335)
* Add option to disable force_resolve in make_client

Some websites such as archive.org and textcaptcha.com
does not support IPv6 and as such requests fail when Invidious requests
with IPv6 to those services.

* Reenable force_resolve on pubsub subcribe request

* Make force_resolve false by default in make_client

* Remove missed explicit force_resolve=false
2024-01-10 23:01:00 +00:00
ChunkyProgrammer
7da4a7f72b add null safety to clip parsing 2023-12-26 22:05:09 -05:00
ChunkyProgrammer
090b470bfc fix potential memory leak 2023-12-19 23:07:18 -05:00
ChunkyProgrammer
b344d98c25 Add API endpoint for Clips 2023-12-07 09:39:04 -05:00
ChunkyProgrammer
8c22e6a640 use start time and endtime for clips 2023-12-07 09:39:03 -05:00
ChunkyProgrammer
6488794218 Unescape search suggestions 2023-12-07 09:36:59 -05:00
src-tinkerer
cf61af67ab Update src/invidious/routes/channels.cr sort_by for consistency 2023-11-30 14:34:01 +03:30
Brahim Hadriche
1363fb8094 Fix error code for disabled popular endpoint 2023-11-28 21:34:17 -05:00
Brahim Hadriche
b40cf6544a Revert "Make head request to resolve short urls"
This reverts commit 7e267da5be.
2023-11-19 16:06:29 -05:00
karelrooted
c251c66748 fix youtube api vtt format subtitle
for fmt=vtt to work the fmt parameter in the original caption api url need to be replaced
2023-11-14 13:16:08 +08:00
syeopite
438467f69a Add playback success rate to /api/v1/stats (#4085)
* Add stats-based /videoplayback blockage status

* Count when YouTube returns wrong video as failure

* Cast playback stats hash type prior to return

* Bump stats refresh timer to 10 minutes
2023-11-04 13:52:30 +00:00
src-tinkerer
b0df3774db Add sort options to streams 2023-11-01 21:56:25 +03:30
Brahim Hadriche
3881038a32 format 2023-10-26 17:51:38 -04:00
Brahim Hadriche
7e267da5be Make head request to resolve short urls 2023-10-26 17:48:58 -04:00
Brahim Hadriche
d7901c1e0d type fix 2023-10-26 17:35:52 -04:00
Brahim Hadriche
85a5bbd696 Add playlist and start time to the resolve url 2023-10-26 17:24:53 -04:00
Samantaz Fox
2414e7db41 User: Add support for importing Youtube watch history (#4171) 2023-10-21 18:33:05 +02:00
Samantaz Fox
cf7c49deb0 Captions: Use 'fmt=vtt' instead of 'format=vtt' (#4152) 2023-10-21 18:32:28 +02:00
Samantaz Fox
2a65b5f52e Frontend: Add video timestamp on external links (#4101) 2023-10-21 18:31:42 +02:00
Ulysses Zhan
b9cbdce976 add: importing watch history from YouTube 2023-10-14 15:49:33 -07:00
Samantaz Fox
0aebac5f3e Captions: Use 'fmt=vtt' instead of 'format=vtt' 2023-10-08 12:40:49 +02:00
Samantaz Fox
60fae015d8 Add support for community post page/comments (#4010) 2023-10-07 19:58:54 +02:00
Samantaz Fox
1caaf63c8a Refactor WebVTT building logic into WebVTT::Builder (#4070) 2023-10-07 19:53:29 +02:00
Samantaz Fox
eddb54adb1 Routing: Add support for new routes (#4099) 2023-10-07 19:52:48 +02:00
ChunkyProgrammer
f77e4378fe Add support for viewing comments without js
Improve stylings
2023-09-28 18:09:45 -04:00
ChunkyProgrammer
4f25069f55 remove unused variable
simplify resolve url

remove trailing spaces

Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
2023-09-27 17:36:06 -04:00
Thomas Lange
bf470704a5 Add option to control preloading of video data
Fix #4110 by adding an option to control the preloading of video data on
page load. If disabled ("false"), the browser will not preload any video
data until the user explicitly hits the "Play" button.

If enabled ("true"), the default behavior will be used, which means the
browser decides how much of the video will be preloaded.
2023-09-26 22:21:12 +02:00
syeopite
d371eb50f2 WebVTT::Builder: rename #line to #cue 2023-09-23 09:41:41 -04:00
syeopite
0cb7d0b441 Refactor Invidious's VTT logic to use WebVtt.build 2023-09-23 09:40:04 -04:00
ChunkyProgrammer
bb04bcc42c Apply suggestions from code review
add videoId to resolve_url function

Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
2023-09-18 20:10:41 -04:00
ChunkyProgrammer
f55b96a53b Always craft Community Post params 2023-09-18 20:10:41 -04:00
ChunkyProgrammer
734f1b7764 Simplify resolveUrl api call
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
2023-09-18 20:10:41 -04:00
ChunkyProgrammer
e3c365f3d6 Add support for post page 2023-09-18 20:10:41 -04:00
Samantaz Fox
842e9fade5 Captions: Add ability to use Innertube's transcripts API (#4001) 2023-09-18 23:31:56 +02:00
Samantaz Fox
ebee973b24 Routes: Redirect unknown channel tabs to channel home page 2023-09-16 00:54:14 +02:00
Samantaz Fox
2456b62936 Frontend: Add timestamp on invidious embed links 2023-09-14 22:27:36 +02:00